gitignore_gen
Build a .gitignore from named stacks (Python, Node, Go, Rust, Java, Maven, Gradle, C, C++, Dotnet, VisualStudio, Swift, Ruby, Rails, Android, Unity, Terraform, Flutter, macOS, Windows, Linux, JetBrains, VisualStudioCode, Vim and more: 44 templates with common aliases), combined in the order given with a header per section and repeated patterns removed when that cannot change what is ignored. The templates are bundled from github/gitignore (CC0-1.0) at a pinned commit, recorded in the output.
Install
/tools install gitignore_gen /tools install gitignore_gen@1.0.0
In a console session, or let the model find it in normal mode: axlr_catalog describes it and axlr_install_tool asks for the same install card. The card reads catalog axlr · gitignore_gen 1.0.0 · verified once the index signature, the manifest digest and every file digest check out. Then the model runs it with axlr_run_tool gitignore_gen; each run is approved as a local_exec.
Arguments
One JSON object on stdin, validated against the schema before the program starts.
| name | type | required | default | meaning |
|---|---|---|---|---|
stacks | array of string | no | Stack names or aliases, e.g. ["Python", "macOS", "vscode"]. items ≥ 1; items ≤ 50 | |
comments | boolean | no | true | Keep the templates' comment lines |
dedupe | boolean | no | true | Drop patterns already present in an earlier section |
extra | array of string | no | [] | Your own patterns, appended in a Custom section |
list_stacks | boolean | no | Only list the available stacks |
Input schema (JSON)
{
"type": "object",
"additionalProperties": false,
"properties": {
"stacks": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 50,
"description": "Stack names or aliases, e.g. [\"Python\", \"macOS\", \"vscode\"]"
},
"comments": {
"type": "boolean",
"default": true,
"description": "Keep the templates' comment lines"
},
"dedupe": {
"type": "boolean",
"default": true,
"description": "Drop patterns already present in an earlier section"
},
"extra": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Your own patterns, appended in a Custom section"
},
"list_stacks": {
"type": "boolean",
"description": "Only list the available stacks"
}
}
}
Example
Input
{
"stacks": [
"C",
"C++"
],
"comments": false
}
Output (stdout)
{
"stacks": [
"C",
"C++"
],
"sections": [
{
"name": "C",
"path": "C.gitignore",
"patterns": 36,
"duplicates_dropped": 0
},
{
"name": "C++",
"path": "C++.gitignore",
"patterns": 20,
"duplicates_dropped": 19
}
]
}
Files
The command the install card registers is python3 gitignore_gen.py, run in the workspace with PATH and HOME as its only environment. Each file's SHA-256 is in the signed index; the console checks them before showing the card and again before writing.
gitignore_gen.py · sha256 089d8f6df2049bccf920b1f0e11ead63092225d177640614f3a9e9f806d6612b
#!/usr/bin/env python3
"""Build a .gitignore from named stacks (Python, Node, Go, macOS, JetBrains...): the
github/gitignore templates bundled in templates.json, combined in the order given, with a
header per section and repeated patterns removed when that cannot change the result.
Input (JSON on stdin):
stacks list of stack names or aliases, e.g. ["Python", "macOS", "vscode"]
comments keep the templates' own comment lines (default true)
dedupe drop patterns already present earlier (default true)
extra your own patterns, appended in a final section (optional)
list_stacks true: only list the available stacks and their aliases
"""
import json
import pathlib
import sys
DATA = pathlib.Path(__file__).resolve().parent / "templates.json"
def fail(message):
print(json.dumps({"error": message}))
sys.exit(2)
def load():
try:
return json.loads(DATA.read_text(encoding="utf-8"))
except (OSError, ValueError) as error:
fail(f"cannot read the bundled templates.json: {error}")
def index(data):
names = {}
for name, t in data["templates"].items():
for key in [name] + t["aliases"]:
names[key.lower()] = name
return names
def main():
try:
request = json.load(sys.stdin)
except ValueError as error:
fail(f"stdin is not JSON: {error}")
if not isinstance(request, dict):
fail("stdin must be a JSON object")
extra_keys = sorted(set(request) - {"stacks", "comments", "dedupe", "extra", "list_stacks"})
if extra_keys:
fail(f"unknown field(s): {', '.join(extra_keys)}")
data = load()
source = {"repository": data["repository"], "commit": data["commit"], "commit_date": data["commit_date"],
"license": data["license"], "fetched": data["fetched"]}
if request.get("list_stacks"):
print(json.dumps({"stacks": [{"name": n, "kind": t["kind"], "path": t["path"], "aliases": t["aliases"]}
for n, t in data["templates"].items()], "source": source}))
return
for key in ("comments", "dedupe", "list_stacks"):
if key in request and not isinstance(request[key], bool):
fail(f"{key} must be true or false")
stacks = request.get("stacks")
if not isinstance(stacks, list) or not stacks or not all(isinstance(s, str) for s in stacks):
fail("stacks must be a non-empty list of names such as [\"Python\", \"macOS\"] (list_stacks: true lists them)")
if len(stacks) > 50:
fail("at most 50 stacks")
extra = request.get("extra", [])
if not isinstance(extra, list) or not all(isinstance(s, str) and "\n" not in s for s in extra):
fail("extra must be a list of one-line patterns")
names = index(data)
chosen, unknown = [], []
for s in stacks:
name = names.get(s.strip().lower())
if name is None:
unknown.append(s)
elif name not in chosen:
chosen.append(name)
if unknown:
fail(f"unknown stack(s): {', '.join(unknown)}; available: {', '.join(data['templates'])}")
keep_comments = request.get("comments", True)
dedupe = request.get("dedupe", True)
out = [f"# Generated from github/gitignore ({data['commit'][:7]}, {data['commit_date']}, CC0-1.0): "
+ ", ".join(chosen), ""]
first_at = {} # pattern -> position of its first emission
last_negation = -1 # position of the last emitted negation (!pattern)
position = 0
sections = []
sources = [(n, data["templates"][n]["lines"], data["templates"][n]["path"]) for n in chosen]
if extra:
sources.append(("Custom", extra, None))
for name, lines, path in sources:
header = f"### {name} ###" + (f" (github/gitignore {path})" if path else "")
body, dropped, kept = [], 0, 0
for raw in lines:
line = raw.rstrip("\r")
stripped = line.strip()
if not stripped:
if body and body[-1] != "":
body.append("")
continue
if stripped.startswith("#"):
if keep_comments:
body.append(line)
continue
if dedupe and not stripped.startswith("!") and line in first_at and first_at[line] > last_negation:
dropped += 1
continue
body.append(line)
kept += 1
position += 1
if stripped.startswith("!"):
last_negation = position
first_at.setdefault(line, position)
while body and body[-1] == "":
body.pop()
out.append(header)
out.extend(body)
out.append("")
sections.append({"name": name, "path": path, "patterns": kept, "duplicates_dropped": dropped})
content = "\n".join(out).rstrip("\n") + "\n"
print(json.dumps({"content": content, "stacks": chosen, "sections": sections,
"patterns": sum(s["patterns"] for s in sections), "source": source}))
if __name__ == "__main__":
main()
templates.json · sha256 fce98379c6645b8731d0b6752eb0c7439f3f4569aec7fa25f5cccb90840f29d8
{
"source": "github/gitignore",
"repository": "https://github.com/github/gitignore",
"commit": "0e5d690153ca3da8a4a1aef2d053406f408f531c",
"commit_date": "2026-10-02",
"license": "CC0-1.0",
"fetched": "2026-10-18",
"raw_url": "https://raw.githubusercontent.com/github/gitignore/0e5d690153ca3da8a4a1aef2d053406f408f531c/<path>",
"templates": {
"Python": {
"path": "Python.gitignore",
"kind": "language",
"aliases": [
"py",
"python3",
"django",
"flask"
],
"lines": [
"# Byte-compiled / optimized / DLL files",
"__pycache__/",
"*.py[codz]",
"*$py.class",
"",
"# C extensions",
"*.so",
"",
"# Distribution / packaging",
".Python",
"build/",
"develop-eggs/",
"dist/",
"downloads/",
"eggs/",
".eggs/",
"lib/",
"lib64/",
"parts/",
"sdist/",
"var/",
"wheels/",
"share/python-wheels/",
"*.egg-info/",
".installed.cfg",
"*.egg",
"MANIFEST",
"",
"# PyInstaller",
"# Usually these files are written by a python script from a template",
"# before PyInstaller builds the exe, so as to inject date/other infos into it.",
"*.manifest",
"*.spec",
"",
"# Installer logs",
"pip-log.txt",
"pip-delete-this-directory.txt",
"",
"# Unit test / coverage reports",
"htmlcov/",
".tox/",
".nox/",
".coverage",
".coverage.*",
".cache",
"nosetests.xml",
"coverage.xml",
"*.cover",
"*.py.cover",
"*.lcov",
".hypothesis/",
".pytest_cache/",
"cover/",
"",
"# Translations",
"*.mo",
"*.pot",
"",
"# Django stuff:",
"*.log",
"local_settings.py",
"db.sqlite3",
"db.sqlite3-journal",
"",
"# Flask stuff:",
"instance/",
".webassets-cache",
"",
"# Scrapy stuff:",
".scrapy",
"",
"# Sphinx documentation",
"docs/_build/",
"",
"# PyBuilder",
".pybuilder/",
"target/",
"",
"# Jupyter Notebook",
".ipynb_checkpoints",
"",
"# IPython",
"profile_default/",
"ipython_config.py",
"",
"# pyenv",
"# For a library or package, you might want to ignore these files since the code is",
"# intended to run in multiple environments; otherwise, check them in:",
"# .python-version",
"",
"# pipenv",
"# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.",
"# However, in case of collaboration, if having platform-specific dependencies or dependencies",
"# having no cross-platform support, pipenv may install dependencies that don't work, or not",
"# install all needed dependencies.",
"# Pipfile.lock",
"",
"# uv",
"# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.",
"# This is especially recommended for binary packages to ensure reproducibility, and is more",
"# commonly ignored for libraries.",
"# uv.lock",
"",
"# poetry",
"# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.",
"# This is especially recommended for binary packages to ensure reproducibility, and is more",
"# commonly ignored for libraries.",
"# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control",
"# poetry.lock",
"# poetry.toml",
"",
"# pdm",
"# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.",
"# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.",
"# https://pdm-project.org/en/latest/usage/project/#working-with-version-control",
"# pdm.lock",
"# pdm.toml",
".pdm-python",
".pdm-build/",
"",
"# pixi",
"# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.",
"# pixi.lock",
"# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one",
"# in the .venv directory. It is recommended not to include this directory in version control.",
".pixi/*",
"!.pixi/config.toml",
"",
"# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm",
"__pypackages__/",
"",
"# Celery stuff",
"celerybeat-schedule*",
"celerybeat.pid",
"",
"# Redis",
"*.rdb",
"*.aof",
"*.pid",
"",
"# RabbitMQ",
"mnesia/",
"rabbitmq/",
"rabbitmq-data/",
"",
"# ActiveMQ",
"activemq-data/",
"",
"# SageMath parsed files",
"*.sage.py",
"",
"# Environments",
".env",
".envrc",
".venv",
"env/",
"venv/",
"ENV/",
"env.bak/",
"venv.bak/",
"",
"# Spyder project settings",
".spyderproject",
".spyproject",
"",
"# Rope project settings",
".ropeproject",
"",
"# mkdocs/Zensical documentation",
"/site",
"",
"# mypy",
".mypy_cache/",
".dmypy.json",
"dmypy.json",
"",
"# Pyre type checker",
".pyre/",
"",
"# pytype static type analyzer",
".pytype/",
"",
"# Cython debug symbols",
"cython_debug/",
"",
"# PyCharm",
"# JetBrains specific template is maintained in a separate JetBrains.gitignore that can",
"# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore",
"# and can be added to the global gitignore or merged into this file. For a more nuclear",
"# option (not recommended) you can uncomment the following to ignore the entire idea folder.",
"# .idea/",
"",
"# Abstra",
"# Abstra is an AI-powered process automation framework.",
"# Ignore directories containing user credentials, local state, and settings.",
"# Learn more at https://abstra.io/docs",
".abstra/",
"",
"# Visual Studio Code",
"# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore that",
"# can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore",
"# and can be added to the global gitignore or merged into this file. However, if you prefer, you",
"# could uncomment the following to ignore the entire vscode folder",
"# .vscode/",
"# Temporary file for partial code execution",
"tempCodeRunnerFile.py",
"",
"# Ruff stuff:",
".ruff_cache/",
"",
"# PyPI configuration file",
".pypirc",
"",
"# Marimo",
"marimo/_static/",
"marimo/_lsp/",
"__marimo__/",
"",
"# Streamlit",
".streamlit/secrets.toml"
]
},
"Node": {
"path": "Node.gitignore",
"kind": "language",
"aliases": [
"nodejs",
"javascript",
"js",
"typescript",
"ts",
"npm",
"yarn"
],
"lines": [
"# Logs",
"logs",
"*.log",
"npm-debug.log*",
"yarn-debug.log*",
"yarn-error.log*",
"lerna-debug.log*",
"",
"# Diagnostic reports (https://nodejs.org/api/report.html)",
"report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json",
"",
"# Runtime data",
"pids",
"*.pid",
"*.seed",
"*.pid.lock",
"",
"# Directory for instrumented libs generated by jscoverage/JSCover",
"lib-cov",
"",
"# Coverage directory used by tools like istanbul",
"coverage",
"*.lcov",
"",
"# nyc test coverage",
".nyc_output",
"",
"# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)",
".grunt",
"",
"# Bower dependency directory (https://bower.io/)",
"bower_components",
"",
"# node-waf configuration",
".lock-wscript",
"",
"# Compiled binary addons (https://nodejs.org/api/addons.html)",
"build/Release",
"",
"# Dependency directories",
"node_modules/",
"jspm_packages/",
"",
"# Snowpack dependency directory (https://snowpack.dev/)",
"web_modules/",
"",
"# TypeScript cache",
"*.tsbuildinfo",
"",
"# Optional npm cache directory",
".npm",
"",
"# Optional eslint cache",
".eslintcache",
"",
"# Optional stylelint cache",
".stylelintcache",
"",
"# Optional REPL history",
".node_repl_history",
"",
"# Output of 'npm pack'",
"*.tgz",
"",
"# Yarn Integrity file",
".yarn-integrity",
"",
"# dotenv environment variable files",
".env",
".env.*",
"!.env.example",
"",
"# parcel-bundler cache (https://parceljs.org/)",
".cache",
".parcel-cache",
"",
"# Next.js build output",
".next",
"out",
"",
"# Nuxt.js build / generate output",
".nuxt",
"dist",
".output",
"",
"# Gatsby files",
".cache/",
"# Comment in the public line in if your project uses Gatsby and not Next.js",
"# https://nextjs.org/blog/next-9-1#public-directory-support",
"# public",
"",
"# vuepress build output",
".vuepress/dist",
"",
"# vuepress v2.x temp directory",
".temp",
"",
"# Sveltekit cache directory",
".svelte-kit/",
"",
"# vitepress build output",
"**/.vitepress/dist",
"",
"# vitepress cache directory",
"**/.vitepress/cache",
"",
"# Docusaurus cache and generated files",
".docusaurus",
"",
"# Serverless directories",
".serverless/",
"",
"# FuseBox cache",
".fusebox/",
"",
"# DynamoDB Local files",
".dynamodb/",
"",
"# Firebase cache directory",
".firebase/",
"",
"# TernJS port file",
".tern-port",
"",
"# Stores Visual Studio Code versions used for testing Visual Studio Code extensions",
".vscode-test",
"",
"# pnpm",
".pnpm-store",
"",
"# yarn v3",
".pnp.*",
".yarn/*",
"!.yarn/patches",
"!.yarn/plugins",
"!.yarn/releases",
"!.yarn/sdks",
"!.yarn/versions",
"",
"# Vite files",
"vite.config.js.timestamp-*",
"vite.config.ts.timestamp-*",
".vite/",
"",
"# Astro generated types",
".astro/",
"",
"# Turbo Repo",
".turbo"
]
},
"Deno": {
"path": "Deno.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"# Deno",
"# https://deno.com/",
"",
"# Cache directory (when using project-local DENO_DIR)",
"# https://docs.deno.com/runtime/fundamentals/setup/#deno_dir",
".deno/",
"",
"# Coverage reports",
"# https://docs.deno.com/runtime/reference/cli/coverage/",
"coverage/",
"*.lcov"
]
},
"Go": {
"path": "Go.gitignore",
"kind": "language",
"aliases": [
"golang"
],
"lines": [
"# If you prefer the allow list template instead of the deny list, see community template:",
"# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore",
"#",
"# Binaries for programs and plugins",
"*.exe",
"*.exe~",
"*.dll",
"*.so",
"*.dylib",
"",
"# Test binary, built with `go test -c`",
"*.test",
"",
"# Code coverage profiles and other test artifacts",
"*.out",
"coverage.*",
"!coverage.go",
"*.coverprofile",
"profile.cov",
"",
"# Dependency directories (remove the comment below to include it)",
"# vendor/",
"",
"# Go workspace file",
"go.work",
"go.work.sum",
"",
"# env file",
".env",
"",
"# Editor/IDE",
"# .idea/",
"# .vscode/"
]
},
"Rust": {
"path": "Rust.gitignore",
"kind": "language",
"aliases": [
"cargo"
],
"lines": [
"# Generated by Cargo",
"# will have compiled files and executables",
"debug",
"target",
"",
"# These are backup files generated by rustfmt",
"**/*.rs.bk",
"",
"# MSVC Windows builds of rustc generate these, which store debugging information",
"*.pdb",
"",
"# Generated by cargo mutants",
"# Contains mutation testing data",
"**/mutants.out*/",
"",
"# rustc will dump stack traces when hitting an internal compiler error to PWD",
"rustc-ice-*.txt",
"",
"# RustRover",
"# JetBrains specific template is maintained in a separate JetBrains.gitignore that can",
"# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore",
"# and can be added to the global gitignore or merged into this file. For a more nuclear",
"# option (not recommended) you can uncomment the following to ignore the entire idea folder.",
"#.idea/"
]
},
"Java": {
"path": "Java.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"# Compiled class file",
"*.class",
"",
"# Log file",
"*.log",
"",
"# BlueJ files",
"*.ctxt",
"",
"# Mobile Tools for Java (J2ME)",
".mtj.tmp/",
"",
"# Package Files #",
"*.jar",
"*.war",
"*.nar",
"*.ear",
"*.zip",
"*.tar.gz",
"*.rar",
"",
"# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml",
"hs_err_pid*",
"replay_pid*"
]
},
"Kotlin": {
"path": "Kotlin.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"# Compiled class file",
"*.class",
"",
"# Log file",
"*.log",
"",
"# BlueJ files",
"*.ctxt",
"",
"# Mobile Tools for Java (J2ME)",
".mtj.tmp/",
"",
"# Package Files #",
"*.jar",
"*.war",
"*.nar",
"*.ear",
"*.zip",
"*.tar.gz",
"*.rar",
"",
"# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml",
"hs_err_pid*",
"replay_pid*",
"",
"# Kotlin Gradle plugin data, see https://kotlinlang.org/docs/whatsnew20.html#new-directory-for-kotlin-data-in-gradle-projects",
".kotlin/"
]
},
"Scala": {
"path": "Scala.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"*.class",
"*.tasty",
"*.log",
"",
"# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml",
"hs_err_pid*"
]
},
"Maven": {
"path": "Maven.gitignore",
"kind": "build",
"aliases": [
"mvn"
],
"lines": [
"target/",
"pom.xml.tag",
"pom.xml.releaseBackup",
"pom.xml.versionsBackup",
"pom.xml.next",
"release.properties",
"dependency-reduced-pom.xml",
"buildNumber.properties",
".mvn/timing.properties",
"# https://maven.apache.org/tools/wrapper/#Usage_with_or_without_Binary_JAR",
".mvn/wrapper/maven-wrapper.jar",
"",
"# Eclipse m2e generated files",
"# Eclipse Core",
".project",
"# JDT-specific (Eclipse Java Development Tools)",
".classpath"
]
},
"Gradle": {
"path": "Gradle.gitignore",
"kind": "build",
"aliases": [],
"lines": [
".gradle",
"**/build/",
"!**/src/**/build/",
"",
"# Ignore Gradle GUI config",
"gradle-app.setting",
"",
"# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)",
"!gradle-wrapper.jar",
"",
"# Avoid ignore Gradle wrapper properties",
"!gradle-wrapper.properties",
"",
"# Cache of project",
".gradletasknamecache",
"",
"# Eclipse Gradle plugin generated files",
"# Eclipse Core",
".project",
"# JDT-specific (Eclipse Java Development Tools)",
".classpath"
]
},
"C": {
"path": "C.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"# Prerequisites",
"*.d",
"",
"# Object files",
"*.o",
"*.ko",
"*.obj",
"*.elf",
"",
"# Linker output",
"*.ilk",
"*.map",
"*.exp",
"",
"# Precompiled Headers",
"*.gch",
"*.pch",
"",
"# Libraries",
"*.lib",
"*.a",
"*.la",
"*.lo",
"",
"# Shared objects (inc. Windows DLLs)",
"*.dll",
"*.so",
"*.so.*",
"*.dylib",
"",
"# Executables",
"*.exe",
"*.out",
"*.app",
"*.i*86",
"*.x86_64",
"*.hex",
"",
"# Debug files",
"*.dSYM/",
"*.su",
"*.idb",
"*.pdb",
"",
"# Kernel Module Compile Results",
"*.mod*",
"*.cmd",
".tmp_versions/",
"modules.order",
"Module.symvers",
"Mkfile.old",
"dkms.conf",
"",
"# debug information files",
"*.dwo"
]
},
"C++": {
"path": "C++.gitignore",
"kind": "language",
"aliases": [
"cpp",
"cplusplus",
"cxx"
],
"lines": [
"# Prerequisites",
"*.d",
"",
"# Compiled Object files",
"*.slo",
"*.lo",
"*.o",
"*.obj",
"",
"# Precompiled Headers",
"*.gch",
"*.pch",
"",
"# Linker files",
"*.ilk",
"",
"# Debugger Files",
"*.pdb",
"",
"# Compiled Dynamic libraries",
"*.so",
"*.dylib",
"*.dll",
"*.so.*",
"",
"# Fortran module files",
"*.mod",
"*.smod",
"",
"# Compiled Static libraries",
"*.lai",
"*.la",
"*.a",
"*.lib",
"",
"# Executables",
"*.exe",
"*.out",
"*.app",
"",
"# Build directories",
"build/",
"Build/",
"build-*/",
"",
"# CMake generated files",
"CMakeFiles/",
"CMakeCache.txt",
"cmake_install.cmake",
"Makefile",
"install_manifest.txt",
"compile_commands.json",
"",
"# Temporary files",
"*.tmp",
"*.log",
"*.bak",
"*.swp",
"",
"# vcpkg",
"vcpkg_installed/",
"",
"# debug information files",
"*.dwo",
"",
"# test output & cache",
"Testing/",
".cache/"
]
},
"CMake": {
"path": "CMake.gitignore",
"kind": "build",
"aliases": [],
"lines": [
"CMakeLists.txt.user",
"CMakeCache.txt",
"CMakeFiles",
"CMakeScripts",
"Testing",
"Makefile",
"cmake_install.cmake",
"install_manifest.txt",
"compile_commands.json",
"CTestTestfile.cmake",
"_deps",
"CMakeUserPresets.json",
"",
"# CLion",
"# JetBrains specific template is maintained in a separate JetBrains.gitignore that can",
"# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore",
"# and can be added to the global gitignore or merged into this file. For a more nuclear",
"# option (not recommended) you can uncomment the following to ignore the entire idea folder.",
"#cmake-build-*"
]
},
"Dotnet": {
"path": "Dotnet.gitignore",
"kind": "language",
"aliases": [
".net",
"dotnet-core",
"csharp",
"c#",
"fsharp"
],
"lines": [
"## A streamlined .gitignore for modern .NET projects",
"## including temporary files, build results, and",
"## files generated by popular .NET tools. If you are",
"## developing with Visual Studio, the VS .gitignore",
"## https://github.com/github/gitignore/blob/main/VisualStudio.gitignore",
"## has more thorough IDE-specific entries.",
"##",
"## Get latest from https://github.com/github/gitignore/blob/main/Dotnet.gitignore",
"",
"# Build results",
"[Dd]ebug/",
"[Dd]ebugPublic/",
"[Rr]elease/",
"[Rr]eleases/",
"x64/",
"x86/",
"[Ww][Ii][Nn]32/",
"[Aa][Rr][Mm]/",
"[Aa][Rr][Mm]64/",
"bld/",
"[Bb]in/",
"[Oo]bj/",
"[Ll]og/",
"[Ll]ogs/",
"",
"# .NET Core",
"project.lock.json",
"project.fragment.lock.json",
"artifacts/",
"",
"# ASP.NET Scaffolding",
"ScaffoldingReadMe.txt",
"",
"# NuGet Packages",
"*.nupkg",
"# NuGet Symbol Packages",
"*.snupkg",
"",
"# dotenv environment variables file",
".env",
"",
"# Others",
"~$*",
"*~",
"CodeCoverage/",
"",
"# MSBuild Binary and Structured Log",
"*.binlog",
"",
"# MSTest test Results",
"[Tt]est[Rr]esult*/",
"[Bb]uild[Ll]og.*",
"",
"# NUnit",
"*.VisualState.xml",
"TestResult.xml",
"nunit-*.xml"
]
},
"VisualStudio": {
"path": "VisualStudio.gitignore",
"kind": "editor",
"aliases": [
"vs",
"visual-studio"
],
"lines": [
"## Ignore Visual Studio temporary files, build results, and",
"## files generated by popular Visual Studio add-ons.",
"##",
"## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore",
"",
"# User-specific files",
"*.rsuser",
"*.suo",
"*.user",
"*.userosscache",
"*.sln.docstates",
"*.env",
"",
"# User-specific files (MonoDevelop/Xamarin Studio)",
"*.userprefs",
"",
"# Mono auto generated files",
"mono_crash.*",
"",
"# Build results",
"[Dd]ebug/",
"[Dd]ebugPublic/",
"[Rr]elease/",
"[Rr]eleases/",
"",
"[Dd]ebug/x64/",
"[Dd]ebugPublic/x64/",
"[Rr]elease/x64/",
"[Rr]eleases/x64/",
"bin/x64/",
"obj/x64/",
"",
"[Dd]ebug/x86/",
"[Dd]ebugPublic/x86/",
"[Rr]elease/x86/",
"[Rr]eleases/x86/",
"bin/x86/",
"obj/x86/",
"",
"[Ww][Ii][Nn]32/",
"[Aa][Rr][Mm]/",
"[Aa][Rr][Mm]64/",
"[Aa][Rr][Mm]64[Ee][Cc]/",
"bld/",
"[Oo]bj/",
"[Oo]ut/",
"[Ll]og/",
"[Ll]ogs/",
"",
"# Build results on 'Bin' directories",
"**/[Bb]in/*",
"# Uncomment if you have tasks that rely on *.refresh files to move binaries",
"# (https://github.com/github/gitignore/pull/3736)",
"#!**/[Bb]in/*.refresh",
"",
"# Visual Studio 2015/2017 cache/options directory",
".vs/",
"# Uncomment if you have tasks that create the project's static files in wwwroot",
"#wwwroot/",
"",
"# Visual Studio 2017 auto generated files",
"Generated\\ Files/",
"",
"# MSTest test Results",
"[Tt]est[Rr]esult*/",
"[Bb]uild[Ll]og.*",
"*.trx",
"",
"# NUnit",
"*.VisualState.xml",
"TestResult.xml",
"nunit-*.xml",
"",
"# Approval Tests result files",
"*.received.*",
"",
"# Build Results of an ATL Project",
"[Dd]ebugPS/",
"[Rr]eleasePS/",
"dlldata.c",
"",
"# Benchmark Results",
"BenchmarkDotNet.Artifacts/",
"",
"# .NET Core",
"project.lock.json",
"project.fragment.lock.json",
"artifacts/",
".artifacts/",
"",
"# ASP.NET Scaffolding",
"ScaffoldingReadMe.txt",
"",
"# StyleCop",
"StyleCopReport.xml",
"",
"# Files built by Visual Studio",
"*_i.c",
"*_p.c",
"*_h.h",
"*.ilk",
"*.meta",
"*.obj",
"*.idb",
"*.iobj",
"*.pch",
"*.pdb",
"*.ipdb",
"*.pgc",
"*.pgd",
"*.rsp",
"# but not Directory.Build.rsp, as it configures directory-level build defaults",
"!Directory.Build.rsp",
"*.sbr",
"*.tlb",
"*.tli",
"*.tlh",
"*.tmp",
"*.tmp_proj",
"*_wpftmp.csproj",
"*.log",
"*.tlog",
"*.vspscc",
"*.vssscc",
".builds",
"*.pidb",
"*.svclog",
"*.scc",
"",
"# Chutzpah Test files",
"_Chutzpah*",
"",
"# Visual C++ cache files",
"ipch/",
"*.aps",
"*.ncb",
"*.opendb",
"*.opensdf",
"*.sdf",
"*.cachefile",
"*.VC.db",
"*.VC.VC.opendb",
"",
"# Visual Studio profiler",
"*.psess",
"*.vsp",
"*.vspx",
"*.sap",
"",
"# Visual Studio Trace Files",
"*.e2e",
"",
"# TFS 2012 Local Workspace",
"$tf/",
"",
"# Guidance Automation Toolkit",
"*.gpState",
"",
"# ReSharper is a .NET coding add-in",
"_ReSharper*/",
"*.[Rr]e[Ss]harper",
"*.DotSettings.user",
"",
"# TeamCity is a build add-in",
"_TeamCity*",
"",
"# DotCover is a Code Coverage Tool",
"*.dotCover",
"",
"# AxoCover is a Code Coverage Tool",
".axoCover/*",
"!.axoCover/settings.json",
"",
"# Coverlet is a free, cross platform Code Coverage Tool",
"coverage*.json",
"coverage*.xml",
"coverage*.info",
"",
"# Visual Studio code coverage results",
"*.coverage",
"*.coveragexml",
"",
"# NCrunch",
"_NCrunch_*",
".NCrunch_*",
".*crunch*.local.xml",
"nCrunchTemp_*",
"",
"# MightyMoose",
"*.mm.*",
"AutoTest.Net/",
"",
"# Web workbench (sass)",
".sass-cache/",
"",
"# Installshield output folder",
"[Ee]xpress/",
"",
"# DocProject is a documentation generator add-in",
"DocProject/buildhelp/",
"DocProject/Help/*.HxT",
"DocProject/Help/*.HxC",
"DocProject/Help/*.hhc",
"DocProject/Help/*.hhk",
"DocProject/Help/*.hhp",
"DocProject/Help/Html2",
"DocProject/Help/html",
"",
"# Click-Once directory",
"publish/",
"",
"# Publish Web Output",
"*.[Pp]ublish.xml",
"*.azurePubxml",
"# Note: Comment the next line if you want to checkin your web deploy settings,",
"# but database connection strings (with potential passwords) will be unencrypted",
"*.pubxml",
"*.publishproj",
"",
"# Microsoft Azure Web App publish settings. Comment the next line if you want to",
"# checkin your Azure Web App publish settings, but sensitive information contained",
"# in these scripts will be unencrypted",
"PublishScripts/",
"",
"# NuGet Packages",
"*.nupkg",
"# NuGet Symbol Packages",
"*.snupkg",
"# The packages folder can be ignored because of Package Restore",
"**/[Pp]ackages/*",
"# except build/, which is used as an MSBuild target.",
"!**/[Pp]ackages/build/",
"# Uncomment if necessary however generally it will be regenerated when needed",
"#!**/[Pp]ackages/repositories.config",
"# NuGet v3's project.json files produces more ignorable files",
"*.nuget.props",
"*.nuget.targets",
"",
"# Microsoft Azure Build Output",
"csx/",
"*.build.csdef",
"",
"# Microsoft Azure Emulator",
"ecf/",
"rcf/",
"",
"# Windows Store app package directories and files",
"AppPackages/",
"BundleArtifacts/",
"Package.StoreAssociation.xml",
"_pkginfo.txt",
"*.appx",
"*.appxbundle",
"*.appxupload",
"",
"# Visual Studio cache files",
"# files ending in .cache can be ignored",
"*.[Cc]ache",
"# but keep track of directories ending in .cache",
"!?*.[Cc]ache/",
"",
"# Others",
"ClientBin/",
"~$*",
"*~",
"*.dbmdl",
"*.dbproj.schemaview",
"*.jfm",
"*.pfx",
"*.publishsettings",
"orleans.codegen.cs",
"",
"# Since there are multiple workflows, uncomment next line to ignore bower_components",
"# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)",
"#bower_components/",
"",
"# RIA/Silverlight projects",
"Generated_Code/",
"",
"# Backup & report files from converting an old project file",
"# to a newer Visual Studio version. Backup files are not needed,",
"# because we have git ;-)",
"_UpgradeReport_Files/",
"Backup*/",
"UpgradeLog*.XML",
"UpgradeLog*.htm",
"ServiceFabricBackup/",
"*.rptproj.bak",
"",
"# SQL Server files",
"*.mdf",
"*.ldf",
"*.ndf",
"",
"# Business Intelligence projects",
"*.rdl.data",
"*.bim.layout",
"*.bim_*.settings",
"*.rptproj.rsuser",
"*- [Bb]ackup.rdl",
"*- [Bb]ackup ([0-9]).rdl",
"*- [Bb]ackup ([0-9][0-9]).rdl",
"",
"# Microsoft Fakes",
"FakesAssemblies/",
"",
"# GhostDoc plugin setting file",
"*.GhostDoc.xml",
"",
"# Node.js Tools for Visual Studio",
".ntvs_analysis.dat",
"node_modules/",
"",
"# Visual Studio 6 build log",
"*.plg",
"",
"# Visual Studio 6 workspace options file",
"*.opt",
"",
"# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)",
"*.vbw",
"",
"# Visual Studio 6 workspace and project file (working project files containing files to include in project)",
"*.dsw",
"*.dsp",
"",
"# Visual Studio 6 technical files",
"*.ncb",
"*.aps",
"",
"# Visual Studio LightSwitch build output",
"**/*.HTMLClient/GeneratedArtifacts",
"**/*.DesktopClient/GeneratedArtifacts",
"**/*.DesktopClient/ModelManifest.xml",
"**/*.Server/GeneratedArtifacts",
"**/*.Server/ModelManifest.xml",
"_Pvt_Extensions",
"",
"# Paket dependency manager",
"**/.paket/paket.exe",
"paket-files/",
"",
"# FAKE - F# Make",
"**/.fake/",
"",
"# CodeRush personal settings",
"**/.cr/personal",
"",
"# Python Tools for Visual Studio (PTVS)",
"**/__pycache__/",
"*.pyc",
"",
"# Cake - Uncomment if you are using it",
"#tools/**",
"#!tools/packages.config",
"",
"# Tabs Studio",
"*.tss",
"",
"# Telerik's JustMock configuration file",
"*.jmconfig",
"",
"# BizTalk build output",
"*.btp.cs",
"*.btm.cs",
"*.odx.cs",
"*.xsd.cs",
"",
"# OpenCover UI analysis results",
"OpenCover/",
"",
"# Azure Stream Analytics local run output",
"ASALocalRun/",
"",
"# MSBuild Binary and Structured Log",
"*.binlog",
"MSBuild_Logs/",
"",
"# AWS SAM Build and Temporary Artifacts folder",
".aws-sam",
"",
"# NVidia Nsight GPU debugger configuration file",
"*.nvuser",
"",
"# MFractors (Xamarin productivity tool) working folder",
"**/.mfractor/",
"",
"# Local History for Visual Studio",
"**/.localhistory/",
"",
"# Visual Studio History (VSHistory) files",
".vshistory/",
"",
"# BeatPulse healthcheck temp database",
"healthchecksdb",
"",
"# Backup folder for Package Reference Convert tool in Visual Studio 2017",
"MigrationBackup/",
"",
"# Ionide (cross platform F# VS Code tools) working folder",
"**/.ionide/",
"",
"# Fody - auto-generated XML schema",
"FodyWeavers.xsd",
"",
"# VS Code files for those working on multiple tools",
".vscode/*",
"!.vscode/settings.json",
"!.vscode/tasks.json",
"!.vscode/launch.json",
"!.vscode/extensions.json",
"!.vscode/*.code-snippets",
"",
"# Local History for Visual Studio Code",
".history/",
"",
"# Built Visual Studio Code Extensions",
"*.vsix",
"",
"# Windows Installer files from build outputs",
"*.cab",
"*.msi",
"*.msix",
"*.msm",
"*.msp",
"",
"# Official VS Code C# Dev Kit Extension exclusion",
"#*.lscache"
]
},
"Swift": {
"path": "Swift.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"# Xcode",
"#",
"# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore",
"",
"## User settings",
"xcuserdata/",
"",
"## Obj-C/Swift specific",
"*.hmap",
"",
"## App packaging",
"*.ipa",
"*.dSYM.zip",
"*.dSYM",
"",
"## Playgrounds",
"timeline.xctimeline",
"playground.xcworkspace",
"",
"# Swift Package Manager",
"#",
"# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.",
"# Packages/",
"# Package.pins",
"# Package.resolved",
"# *.xcodeproj",
"#",
"# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata",
"# hence it is not needed unless you have added a package configuration file to your project",
"# .swiftpm",
"",
".build/",
"",
"# CocoaPods",
"#",
"# We recommend against adding the Pods directory to your .gitignore. However",
"# you should judge for yourself, the pros and cons are mentioned at:",
"# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control",
"#",
"# Pods/",
"#",
"# Add this line if you want to avoid checking in source code from the Xcode workspace",
"# *.xcworkspace",
"",
"# Carthage",
"#",
"# Add this line if you want to avoid checking in source code from Carthage dependencies.",
"# Carthage/Checkouts",
"",
"Carthage/Build/",
"",
"# fastlane",
"#",
"# It is recommended to not store the screenshots in the git repo.",
"# Instead, use fastlane to re-generate the screenshots whenever they are needed.",
"# For more information about the recommended setup visit:",
"# https://docs.fastlane.tools/best-practices/source-control/#source-control",
"",
"fastlane/report.xml",
"fastlane/Preview.html",
"fastlane/screenshots/**/*.png",
"fastlane/test_output"
]
},
"Objective-C": {
"path": "Objective-C.gitignore",
"kind": "language",
"aliases": [
"objc"
],
"lines": [
"# Xcode",
"#",
"# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore",
"",
"## User settings",
"xcuserdata/",
"",
"## Obj-C/Swift specific",
"*.hmap",
"",
"## App packaging",
"*.ipa",
"*.dSYM.zip",
"*.dSYM",
"",
"# CocoaPods",
"#",
"# We recommend against adding the Pods directory to your .gitignore. However",
"# you should judge for yourself, the pros and cons are mentioned at:",
"# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control",
"#",
"# Pods/",
"#",
"# Add this line if you want to avoid checking in source code from the Xcode workspace",
"# *.xcworkspace",
"",
"# Carthage",
"#",
"# Add this line if you want to avoid checking in source code from Carthage dependencies.",
"# Carthage/Checkouts",
"",
"Carthage/Build/",
"",
"# fastlane",
"#",
"# It is recommended to not store the screenshots in the git repo.",
"# Instead, use fastlane to re-generate the screenshots whenever they are needed.",
"# For more information about the recommended setup visit:",
"# https://docs.fastlane.tools/best-practices/source-control/#source-control",
"",
"fastlane/report.xml",
"fastlane/Preview.html",
"fastlane/screenshots/**/*.png",
"fastlane/test_output"
]
},
"Ruby": {
"path": "Ruby.gitignore",
"kind": "language",
"aliases": [
"gem",
"bundler"
],
"lines": [
"*.gem",
"*.rbc",
"/.config",
"/coverage/",
"/InstalledFiles",
"/pkg/",
"/spec/reports/",
"/spec/examples.txt",
"/test/tmp/",
"/test/version_tmp/",
"/tmp/",
"",
"# Used by dotenv library to load environment variables.",
"# .env",
"",
"# Ignore Byebug command history file.",
".byebug_history",
"",
"## Specific to RubyMotion:",
".dat*",
".repl_history",
"build/",
"*.bridgesupport",
"build-iPhoneOS/",
"build-iPhoneSimulator/",
"",
"## Specific to RubyMotion (use of CocoaPods):",
"#",
"# We recommend against adding the Pods directory to your .gitignore. However",
"# you should judge for yourself, the pros and cons are mentioned at:",
"# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control",
"#",
"# vendor/Pods/",
"",
"## Documentation cache and generated files:",
"/.yardoc/",
"/_yardoc/",
"/doc/",
"/rdoc/",
"",
"## Environment normalization:",
"/.bundle/",
"/vendor/bundle",
"/lib/bundler/man/",
"",
"# for a library or gem, you might want to ignore these files since the code is",
"# intended to run in multiple environments; otherwise, check them in:",
"# Gemfile.lock",
"# .ruby-version",
"# .ruby-gemset",
"",
"# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:",
".rvmrc",
"",
"# Used by RuboCop. Remote config files pulled in from inherit_from directive.",
"# .rubocop-https?--*"
]
},
"Rails": {
"path": "Rails.gitignore",
"kind": "framework",
"aliases": [
"rubyonrails",
"ruby-on-rails"
],
"lines": [
"*.rbc",
"capybara-*.html",
".rspec",
"/db/*.sqlite3",
"/db/*.sqlite3-journal",
"/db/*.sqlite3-[0-9]*",
"/public/system",
"/coverage/",
"/spec/tmp",
"*.orig",
"rerun.txt",
"pickle-email-*.html",
"",
"# Ignore all logfiles and tempfiles.",
"/log/*",
"/tmp/*",
"!/log/.keep",
"!/tmp/.keep",
"",
"# TODO Comment out this rule if you are OK with secrets being uploaded to the repo",
"config/initializers/secret_token.rb",
"config/master.key",
"",
"# Only include if you have production secrets in this file, which is no longer a Rails default",
"# config/secrets.yml",
"",
"# dotenv, dotenv-rails",
"# TODO Comment out these rules if environment variables can be committed",
".env",
".env*.local",
"",
"## Environment normalization:",
"/.bundle",
"/vendor/bundle",
"",
"# these should all be checked in to normalize the environment:",
"# Gemfile.lock, .ruby-version, .ruby-gemset",
"",
"# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:",
".rvmrc",
"",
"# if using bower-rails ignore default bower_components path bower.json files",
"/vendor/assets/bower_components",
"*.bowerrc",
"bower.json",
"",
"# Ignore pow environment settings",
".powenv",
"",
"# Ignore Byebug command history file.",
".byebug_history",
"",
"# Ignore node_modules",
"node_modules/",
"",
"# Ignore precompiled javascript packs",
"/public/packs",
"/public/packs-test",
"/public/assets",
"",
"# Ignore yarn files",
"/yarn-error.log",
"yarn-debug.log*",
".yarn-integrity",
"",
"# Ignore uploaded files in development",
"/storage/*",
"!/storage/.keep",
"/public/uploads"
]
},
"Elixir": {
"path": "Elixir.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"/_build",
"/cover",
"/deps",
"/doc",
"/.fetch",
"erl_crash.dump",
"*.ez",
"*.beam",
"/config/*.secret.exs",
".elixir_ls/"
]
},
"Haskell": {
"path": "Haskell.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"dist",
"dist-*",
"cabal-dev",
"*.o",
"*.hi",
"*.hie",
"*.chi",
"*.chs.h",
"*.dyn_o",
"*.dyn_hi",
".hpc",
".hsenv",
".cabal-sandbox/",
"cabal.sandbox.config",
"*.prof",
"*.aux",
"*.hp",
"*.eventlog",
".stack-work/",
"cabal.project.local",
"cabal.project.local~",
".HTF/",
".ghc.environment.*"
]
},
"R": {
"path": "R.gitignore",
"kind": "language",
"aliases": [
"rstats"
],
"lines": [
"# History files",
".Rhistory",
".Rapp.history",
"",
"# Session Data files",
".RData",
".RDataTmp",
"",
"# User-specific files",
".Ruserdata",
"",
"# Example code in package build process",
"*-Ex.R",
"",
"# Output files from R CMD build",
"/*.tar.gz",
"",
"# Output files from R CMD check",
"/*.Rcheck/",
"",
"# RStudio files",
".Rproj.user/",
"",
"# produced vignettes",
"vignettes/*.html",
"vignettes/*.pdf",
"",
"# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3",
".httr-oauth",
"",
"# knitr and R markdown default cache directories",
"*_cache/",
"/cache/",
"",
"# Temporary files created by R markdown",
"*.utf8.md",
"*.knit.md",
"",
"# R Environment Variables",
".Renviron",
".env",
"",
"# pkgdown site",
"docs/",
"",
"# translation temp files",
"po/*~",
"",
"# RStudio Connect folder",
"rsconnect/"
]
},
"Julia": {
"path": "Julia.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"# Files generated by invoking Julia with --code-coverage",
"*.jl.cov",
"*.jl.*.cov",
"",
"# Files generated by invoking Julia with --track-allocation",
"*.jl.mem",
"*.jl.*.mem",
"",
"# System-specific files and directories generated by the BinaryProvider and BinDeps packages",
"# They contain absolute paths specific to the host computer, and so should not be committed",
"deps/deps.jl",
"deps/build.log",
"deps/downloads/",
"deps/usr/",
"deps/src/",
"",
"# Build artifacts for creating documentation generated by the Documenter package",
"docs/build/",
"docs/site/",
"",
"# File generated by Pkg, the package manager, based on a corresponding Project.toml",
"# It records a fixed state of all packages used by the project. As such, it should not be",
"# committed for packages, but should be committed for applications that require a static",
"# environment.",
"Manifest*.toml",
"",
"# File generated by the Preferences package to store local preferences",
"LocalPreferences.toml",
"JuliaLocalPreferences.toml",
"",
"# Conda environment and metadata created in the project directory by the CondaPkg package",
".CondaPkg/"
]
},
"Dart": {
"path": "Dart.gitignore",
"kind": "language",
"aliases": [],
"lines": [
"# See https://www.dartlang.org/guides/libraries/private-files",
"",
"# Files and directories created by pub",
".dart_tool/",
".packages",
"build/",
"# If you're building an application, you may want to check-in your pubspec.lock",
"pubspec.lock",
"",
"# Directory created by dartdoc",
"# If you don't generate documentation locally you can remove this line.",
"doc/api/",
"",
"# dotenv environment variables file",
".env*",
"",
"# Avoid committing generated Javascript files:",
"*.dart.js",
"# Produced by the --dump-info flag.",
"*.info.json",
"# When generated by dart2js. Don't specify *.js if your",
"# project includes source files written in JavaScript.",
"*.js",
"*.js_",
"*.js.deps",
"*.js.map",
"",
".flutter-plugins",
".flutter-plugins-dependencies"
]
},
"Flutter": {
"path": "Flutter.gitignore",
"kind": "framework",
"aliases": [],
"lines": [
"# Miscellaneous",
"*.class",
"*.lock",
"*.log",
"*.pyc",
"*.swp",
".buildlog/",
".history",
"",
"",
"",
"# Flutter repo-specific",
"/bin/cache/",
"/bin/internal/bootstrap.bat",
"/bin/internal/bootstrap.sh",
"/bin/mingit/",
"/dev/benchmarks/mega_gallery/",
"/dev/bots/.recipe_deps",
"/dev/bots/android_tools/",
"/dev/devicelab/ABresults*.json",
"/dev/docs/doc/",
"/dev/docs/flutter.docs.zip",
"/dev/docs/lib/",
"/dev/docs/pubspec.yaml",
"/dev/integration_tests/**/xcuserdata",
"/dev/integration_tests/**/Pods",
"/packages/flutter/coverage/",
"version",
"analysis_benchmark.json",
"",
"# packages file containing multi-root paths",
".packages.generated",
"",
"# Flutter/Dart/Pub related",
"**/doc/api/",
".dart_tool/",
".flutter-plugins",
".flutter-plugins-dependencies",
"**/generated_plugin_registrant.dart",
".packages",
".pub-preload-cache/",
".pub/",
"build/",
"flutter_*.png",
"linked_*.ds",
"unlinked.ds",
"unlinked_spec.ds",
"",
"# Android related",
"**/android/**/gradle-wrapper.jar",
".gradle/",
"**/android/captures/",
"**/android/gradlew",
"**/android/gradlew.bat",
"**/android/local.properties",
"**/android/**/GeneratedPluginRegistrant.java",
"**/android/key.properties",
"*.jks",
"",
"# iOS/XCode related",
"**/ios/**/*.mode1v3",
"**/ios/**/*.mode2v3",
"**/ios/**/*.moved-aside",
"**/ios/**/*.pbxuser",
"**/ios/**/*.perspectivev3",
"**/ios/**/*sync/",
"**/ios/**/.sconsign.dblite",
"**/ios/**/.tags*",
"**/ios/**/.vagrant/",
"**/ios/**/DerivedData/",
"**/ios/**/Icon?",
"**/ios/**/Pods/",
"**/ios/**/.symlinks/",
"**/ios/**/profile",
"**/ios/**/xcuserdata",
"**/ios/.generated/",
"**/ios/Flutter/.last_build_id",
"**/ios/Flutter/App.framework",
"**/ios/Flutter/Flutter.framework",
"**/ios/Flutter/Flutter.podspec",
"**/ios/Flutter/Generated.xcconfig",
"**/ios/Flutter/ephemeral",
"**/ios/Flutter/app.flx",
"**/ios/Flutter/app.zip",
"**/ios/Flutter/flutter_assets/",
"**/ios/Flutter/flutter_export_environment.sh",
"**/ios/ServiceDefinitions.json",
"**/ios/Runner/GeneratedPluginRegistrant.*",
"",
"# macOS",
"**/Flutter/ephemeral/",
"**/Pods/",
"**/macos/Flutter/GeneratedPluginRegistrant.swift",
"**/macos/Flutter/ephemeral",
"**/xcuserdata/",
"",
"# Windows",
"**/windows/flutter/generated_plugin_registrant.cc",
"**/windows/flutter/generated_plugin_registrant.h",
"**/windows/flutter/generated_plugins.cmake",
"",
"# Linux",
"**/linux/flutter/generated_plugin_registrant.cc",
"**/linux/flutter/generated_plugin_registrant.h",
"**/linux/flutter/generated_plugins.cmake",
"",
"# Coverage",
"coverage/",
"",
"# Symbols",
"app.*.symbols",
"",
"# Exceptions to above rules.",
"!**/ios/**/default.mode1v3",
"!**/ios/**/default.mode2v3",
"!**/ios/**/default.pbxuser",
"!**/ios/**/default.perspectivev3",
"!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages",
"!/dev/ci/**/Gemfile.lock"
]
},
"Zig": {
"path": "Zig.gitignore",
"kind": "language",
"aliases": [],
"lines": [
".zig-cache/",
"zig-out/",
"zig-pkg/",
"*.o"
]
},
"Android": {
"path": "Android.gitignore",
"kind": "platform",
"aliases": [],
"lines": [
"# Gradle files",
".gradle/",
"build/",
".kotlin/",
"",
"# Local configuration file (sdk path, etc)",
"local.properties",
"",
"# Log/OS Files",
"*.log",
"",
"# Android Studio generated files and folders",
"captures/",
".externalNativeBuild/",
".cxx/",
"*.aab",
"*.apk",
"output-metadata.json",
"",
"# IntelliJ",
"*.iml",
".idea/",
"misc.xml",
"deploymentTargetDropDown.xml",
"render.experimental.xml",
"",
"# Keystore files",
"*.jks",
"*.keystore",
"",
"# Google Services (e.g. APIs or Firebase)",
"google-services.json",
"",
"# Android Profiling",
"*.hprof"
]
},
"Unity": {
"path": "Unity.gitignore",
"kind": "framework",
"aliases": [
"unity3d"
],
"lines": [
"# This .gitignore file should be placed at the root of your Unity project directory",
"#",
"# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore",
"#",
"# Recommended: add any editor/OS/tool-specific ignore rules from the Global/ templates as needed.",
"# See: https://github.com/github/gitignore/tree/main/Global",
"#",
".utmp/",
"/[Ll]ibrary/",
"/[Tt]emp/",
"/[Oo]bj/",
"/[Bb]uild/",
"/[Bb]uilds/",
"/[Ll]ogs/",
"/[Uu]ser[Ss]ettings/",
"*.log",
"",
"# By default unity supports Blender asset imports, *.blend1 blender files do not need to be commited to version control.",
"*.blend1",
"*.blend1.meta",
"",
"# MemoryCaptures can get excessive in size.",
"# They also could contain extremely sensitive data",
"/[Mm]emoryCaptures/",
"",
"# Recordings can get excessive in size",
"/[Rr]ecordings/",
"",
"# Uncomment this line if you wish to ignore the asset store tools plugin",
"# /[Aa]ssets/AssetStoreTools*",
"",
"# Autogenerated Jetbrains Rider plugin",
"/[Aa]ssets/Plugins/Editor/JetBrains*",
"# Jetbrains Rider personal-layer settings",
"*.DotSettings.user",
"",
"# Visual Studio cache directory",
".vs/",
"",
"# Gradle cache directory",
".gradle/",
"",
"# Autogenerated VS/MD/Consulo solution and project files",
"ExportedObj/",
".consulo/",
"*.csproj",
"*.unityproj",
"*.sln",
"*.slnx",
"*.suo",
"*.tmp",
"*.user",
"*.userprefs",
"*.pidb",
"*.booproj",
"*.svd",
"*.pdb",
"*.mdb",
"*.opendb",
"*.VC.db",
"",
"# Unity3D generated meta files",
"*.pidb.meta",
"*.pdb.meta",
"*.mdb.meta",
"",
"# Unity3D generated file on crash reports",
"sysinfo.txt",
"",
"# Mono auto generated files",
"mono_crash.*",
"",
"# Builds",
"*.apk",
"*.aab",
"*.unitypackage",
"*.unitypackage.meta",
"*.app",
"",
"# Crashlytics generated file",
"crashlytics-build.properties",
"",
"# TestRunner generated files",
"InitTestScene*.unity*",
"",
"# Addressables default ignores, before user customizations",
"/ServerData",
"/[Aa]ssets/StreamingAssets/aa*",
"/[Aa]ssets/AddressableAssetsData/link.xml*",
"/[Aa]ssets/Addressables_Temp*",
"# By default, Addressables content builds will generate addressables_content_state.bin",
"# files in platform-specific subfolders, for example:",
"# /Assets/AddressableAssetsData/OSX/addressables_content_state.bin",
"/[Aa]ssets/AddressableAssetsData/*/*.bin*",
"",
"# Visual Scripting auto-generated files",
"/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db",
"/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Flow/UnitOptions.db.meta",
"/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers",
"/[Aa]ssets/Unity.VisualScripting.Generated/VisualScripting.Core/Property Providers.meta",
"",
"# Auto-generated scenes by play mode tests",
"/[Aa]ssets/[Ii]nit[Tt]est[Ss]cene*.unity*",
"",
"# UI Toolkit auto generated files",
"/UIElementsSchema/",
"",
"# Auto-generated cache in Assets folder",
"/[Aa]ssets/[Ss]ceneDependencyCache*"
]
},
"UnrealEngine": {
"path": "UnrealEngine.gitignore",
"kind": "framework",
"aliases": [
"unreal",
"ue4",
"ue5"
],
"lines": [
"# Visual Studio 2015 user specific files",
".vs/",
"",
"# Compiled Object files",
"*.slo",
"*.lo",
"*.o",
"*.obj",
"",
"# Precompiled Headers",
"*.gch",
"*.pch",
"",
"# Compiled Dynamic libraries",
"*.so",
"*.dylib",
"*.dll",
"",
"# Fortran module files",
"*.mod",
"",
"# Compiled Static libraries",
"*.lai",
"*.la",
"*.a",
"*.lib",
"",
"# Executables",
"*.exe",
"*.out",
"*.app",
"*.ipa",
"",
"# These project files can be generated by the engine",
"*.xcodeproj",
"*.xcworkspace",
"*.sln",
"*.suo",
"*.opensdf",
"*.sdf",
"*.VC.db",
"*.VC.opendb",
".vsconfig",
"",
"# Precompiled Assets",
"SourceArt/**/*.png",
"SourceArt/**/*.tga",
"",
"# Binary Files",
"Binaries/*",
"Plugins/**/Binaries/*",
"",
"# Builds",
"Build/*",
"",
"# Whitelist PakBlacklist-<BuildConfiguration>.txt files",
"!Build/*/",
"Build/*/**",
"!Build/*/PakBlacklist*.txt",
"",
"# Don't ignore icon files in Build",
"!Build/**/*.ico",
"",
"# Built data for maps",
"*_BuiltData.uasset",
"",
"# Configuration files generated by the Editor",
"Saved/*",
"",
"# Compiled source files for the engine to use",
"Intermediate/*",
"Plugins/**/Intermediate/*",
"",
"# Cache files for the editor to use",
"DerivedDataCache/*"
]
},
"Terraform": {
"path": "Terraform.gitignore",
"kind": "tool",
"aliases": [
"tf"
],
"lines": [
"# Local .terraform directories",
".terraform/",
"",
"# .tfstate files",
"*.tfstate",
"*.tfstate.*",
"",
"# Crash log files",
"crash.log",
"crash.*.log",
"",
"# Exclude all .tfvars files, which are likely to contain sensitive data, such as",
"# password, private keys, and other secrets. These should not be part of version",
"# control as they are data points which are potentially sensitive and subject",
"# to change depending on the environment.",
"*.tfvars",
"*.tfvars.json",
"",
"# Ignore override files as they are usually used to override resources locally and so",
"# are not checked in",
"override.tf",
"override.tf.json",
"*_override.tf",
"*_override.tf.json",
"",
"# Ignore transient lock info files created by terraform apply",
".terraform.tfstate.lock.info",
"",
"# Include override files you do wish to add to version control using negated pattern",
"# !example_override.tf",
"",
"# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan",
"# example: *tfplan*",
"",
"# Ignore CLI configuration files",
".terraformrc",
"terraform.rc",
"",
"# Optional: ignore graph output files generated by `terraform graph`",
"# *.dot",
"",
"# Optional: ignore plan files saved before destroying Terraform configuration",
"# Uncomment the line below if you want to ignore planout files.",
"# planout"
]
},
"Laravel": {
"path": "Laravel.gitignore",
"kind": "framework",
"aliases": [],
"lines": [
"/vendor/",
"node_modules/",
"npm-debug.log",
"yarn-error.log",
"",
"# Laravel 4 specific",
"bootstrap/compiled.php",
"app/storage/",
"",
"# Laravel 5 & Lumen specific",
"public/storage",
"public/hot",
"",
"# Laravel 5 & Lumen specific with changed public path",
"public_html/storage",
"public_html/hot",
"",
"storage/*.key",
".env",
"Homestead.yaml",
"Homestead.json",
"/.vagrant",
".phpunit.result.cache",
"/.phpunit.cache",
"",
"/public/build",
"/storage/pail",
".env.backup",
".env.production",
".phpactor.json",
"auth.json"
]
},
"Nextjs": {
"path": "Nextjs.gitignore",
"kind": "framework",
"aliases": [
"next",
"next.js"
],
"lines": [
"# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.",
"",
"# dependencies",
"/node_modules",
"/.pnp",
".pnp.js",
"",
"# testing",
"/coverage",
"",
"# next.js",
"/.next/",
"/out/",
"",
"# production",
"/build",
"",
"# misc",
".DS_Store",
"*.pem",
"",
"# debug",
"npm-debug.log*",
"yarn-debug.log*",
"yarn-error.log*",
"",
"# local env files",
".env*.local",
".env",
"",
"# vercel",
".vercel",
"",
"# typescript",
"*.tsbuildinfo",
"next-env.d.ts"
]
},
"TeX": {
"path": "TeX.gitignore",
"kind": "language",
"aliases": [
"latex"
],
"lines": [
"## Core latex/pdflatex auxiliary files:",
"*.aux",
"*.lof",
"*.log",
"*.lot",
"*.fls",
"*.out",
"*.toc",
"*.fmt",
"*.fot",
"*.cb",
"*.cb2",
".*.lb",
"",
"## Intermediate documents:",
"*.dvi",
"*.xdv",
"*-converted-to.*",
"# these rules might exclude image files for figures etc.",
"# *.ps",
"# *.eps",
"# *.pdf",
"",
"## Generated if empty string is given at \"Please type another file name for output:\"",
".pdf",
"",
"## Bibliography auxiliary files (bibtex/biblatex/biber):",
"*.bbl",
"*.bbl-SAVE-ERROR",
"*.bcf",
"*.bcf-SAVE-ERROR",
"*.blg",
"*-blx.aux",
"*-blx.bib",
"*.run.xml",
"",
"## Build tool auxiliary files:",
"*.fdb_latexmk",
"*.synctex",
"*.synctex(busy)",
"*.synctex.gz",
"*.synctex.gz(busy)",
"*.pdfsync",
"*.rubbercache",
"rubber.cache",
"",
"## Build tool directories for auxiliary files",
"# latexrun",
"latex.out/",
"",
"## Auxiliary and intermediate files from other packages:",
"# algorithms",
"*.alg",
"*.loa",
"",
"# achemso",
"acs-*.bib",
"",
"# amsthm",
"*.thm",
"",
"# attachfile2",
"*.atfi",
"",
"# beamer",
"*.nav",
"*.pre",
"*.snm",
"*.vrb",
"",
"# changes",
"*.soc",
"*.loc",
"",
"# comment",
"*.cut",
"",
"# context",
"*.tuc",
"*.tui",
"*.tuo",
"",
"# cprotect",
"*.cpt",
"",
"# elsarticle (documentclass of Elsevier journals)",
"*.spl",
"",
"# endnotes",
"*.ent",
"",
"# fixme",
"*.lox",
"",
"# feynmf/feynmp",
"*.mf",
"*.mp",
"*.t[1-9]",
"*.t[1-9][0-9]",
"*.tfm",
"",
"#(r)(e)ledmac/(r)(e)ledpar",
"*.end",
"*.?end",
"*.[1-9]",
"*.[1-9][0-9]",
"*.[1-9][0-9][0-9]",
"*.[1-9]R",
"*.[1-9][0-9]R",
"*.[1-9][0-9][0-9]R",
"*.eledsec[1-9]",
"*.eledsec[1-9]R",
"*.eledsec[1-9][0-9]",
"*.eledsec[1-9][0-9]R",
"*.eledsec[1-9][0-9][0-9]",
"*.eledsec[1-9][0-9][0-9]R",
"",
"# glossaries",
"*.acn",
"*.acr",
"*.glg",
"*.glg-abr",
"*.glo",
"*.glo-abr",
"*.gls",
"*.gls-abr",
"*.glsdefs",
"*.lzo",
"*.lzs",
"*.slg",
"*.slo",
"*.sls",
"",
"# uncomment this for glossaries-extra (will ignore makeindex's style files!)",
"# *.ist",
"",
"# gnuplot",
"*.gnuplot",
"*.table",
"",
"# gnuplottex",
"*-gnuplottex-*",
"",
"# gregoriotex",
"*.gaux",
"*.glog",
"*.gtex",
"",
"# htlatex",
"*.4ct",
"*.4tc",
"*.idv",
"*.lg",
"*.trc",
"*.xref",
"",
"# hypdoc",
"*.hd",
"",
"# hyperref",
"*.brf",
"",
"# knitr",
"*-concordance.tex",
"# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files",
"# *.tikz",
"*-tikzDictionary",
"",
"# latexindent will create succesive backup files by default",
"#*.bak*",
"",
"# listings",
"*.lol",
"",
"# luatexja-ruby",
"*.ltjruby",
"",
"# makeidx",
"*.idx",
"*.ilg",
"*.ind",
"",
"# minitoc",
"*.maf",
"*.mlf",
"*.mlt",
"*.mtc[0-9]*",
"*.slf[0-9]*",
"*.slt[0-9]*",
"*.stc[0-9]*",
"",
"# minted",
"_minted*",
"*.data.minted",
"*.pyg",
"",
"# morewrites",
"*.mw",
"",
"# newpax",
"*.newpax",
"",
"# nomencl",
"*.nlg",
"*.nlo",
"*.nls",
"",
"# pax",
"*.pax",
"",
"# pdfpcnotes",
"*.pdfpc",
"",
"# sagetex",
"*.sagetex.sage",
"*.sagetex.py",
"*.sagetex.scmd",
"",
"# scrwfile",
"*.wrt",
"",
"# spelling",
"*.spell.bad",
"*.spell.txt",
"",
"# svg",
"svg-inkscape/",
"",
"# sympy",
"*.sout",
"*.sympy",
"sympy-plots-for-*.tex/",
"",
"# pdfcomment",
"*.upa",
"*.upb",
"",
"# pythontex",
"*.pytxcode",
"pythontex-files-*/",
"",
"# tcolorbox",
"*.listing",
"",
"# thmtools",
"*.loe",
"",
"# TikZ & PGF",
"*.dpth",
"*.md5",
"*.auxlock",
"",
"# titletoc",
"*.ptc",
"",
"# todonotes",
"*.tdo",
"",
"# vhistory",
"*.hst",
"*.ver",
"",
"# easy-todo",
"*.lod",
"",
"# xcolor",
"*.xcp",
"",
"# xmpincl",
"*.xmpi",
"",
"# xindy",
"*.xdy",
"",
"# xypic precompiled matrices and outlines",
"*.xyc",
"*.xyd",
"",
"# endfloat",
"*.ttt",
"*.fff",
"",
"# Latexian",
"TSWLatexianTemp*",
"",
"## Editors:",
"# WinEdt",
"*.bak",
"*.sav",
"",
"# latexindent.pl",
"*.bak[0-9]*",
"",
"# Texpad",
".texpadtmp",
"",
"# LyX",
"*.lyx~",
"",
"# Kile",
"*.backup",
"",
"# gummi",
".*.swp",
"",
"# KBibTeX",
"*~[0-9]*",
"",
"# TeXnicCenter",
"*.tps",
"",
"# auto folder when using emacs and auctex",
"./auto/*",
"*.el",
"",
"# expex forward references with \\gathertags",
"*-tags.tex",
"",
"# standalone packages",
"*.sta",
"",
"# Makeindex log files",
"*.lpz",
"",
"# xwatermark package",
"*.xwm",
"",
"# REVTeX puts footnotes in the bibliography by default, unless the nofootinbib",
"# option is specified. Footnotes are the stored in a file with suffix Notes.bib.",
"# Uncomment the next line to have this generated file ignored.",
"#*Notes.bib"
]
},
"JupyterNotebooks": {
"path": "community/Python/JupyterNotebooks.gitignore",
"kind": "tool",
"aliases": [
"jupyter",
"ipynb"
],
"lines": [
"# gitignore template for Jupyter Notebooks",
"# website: http://jupyter.org/",
"",
".ipynb_checkpoints",
"*/.ipynb_checkpoints/*",
"",
"# IPython",
"profile_default/",
"ipython_config.py",
"",
"# Jupyter lab virtual documents",
"# https://jupyterlab-lsp.readthedocs.io/en/2.x/Configuring.html#virtual_documents_dir",
".virtual_documents/",
"",
"# Remove previous ipynb_checkpoints",
"# git rm -r .ipynb_checkpoints/"
]
},
"macOS": {
"path": "Global/macOS.gitignore",
"kind": "os",
"aliases": [
"mac",
"osx",
"darwin"
],
"lines": [
"# General",
".DS_Store",
".localized",
"__MACOSX/",
".AppleDouble",
".LSOverride",
"Icon[\r]",
"",
"# Resource forks",
"._*",
"",
"# Files and directories that might appear in the root of a volume",
".DocumentRevisions-V100",
".fseventsd",
".Spotlight-V100",
".TemporaryItems",
".Trashes",
".VolumeIcon.icns",
".com.apple.timemachine.donotpresent",
".com.apple.timemachine.supported",
".PKInstallSandboxManager",
".PKInstallSandboxManager-SystemSoftware",
".hotfiles.btree",
".vol",
".file",
".disk_label*",
"lost+found",
".HFS+ Private Directory Data[\r]",
"",
"# Directories potentially created on remote AFP share",
".AppleDB",
".AppleDesktop",
"Network Trash Folder",
"Temporary Items",
".apdisk",
"",
"# Mac OS 6 to 9",
"Desktop DB",
"Desktop DF",
"TheFindByContentFolder",
"TheVolumeSettingsFolder",
".FBCIndex",
".FBCSemaphoreFile",
".FBCLockFolder",
"",
"# Quota system",
".quota.group",
".quota.user",
".quota.ops.group",
".quota.ops.user",
"",
"# TimeMachine",
"Backups.backupdb",
".MobileBackups",
".MobileBackups.trash",
"MobileBackups.trash",
"tmbootpicker.efi"
]
},
"Windows": {
"path": "Global/Windows.gitignore",
"kind": "os",
"aliases": [
"win"
],
"lines": [
"# Windows thumbnail cache files",
"Thumbs.db",
"Thumbs.db:encryptable",
"ehthumbs.db",
"ehthumbs_vista.db",
"",
"# Dump file",
"*.stackdump",
"",
"# Folder config file",
"[Dd]esktop.ini",
"",
"# Recycle Bin used on file shares",
"$RECYCLE.BIN/",
"",
"# Windows Installer files",
"*.cab",
"*.msi",
"*.msix",
"*.msm",
"*.msp",
"",
"# Windows shortcuts",
"*.lnk"
]
},
"Linux": {
"path": "Global/Linux.gitignore",
"kind": "os",
"aliases": [],
"lines": [
"*~",
"",
"# temporary files which can be created if a process still has a handle open of a deleted file",
".fuse_hidden*",
"",
"# Metadata left by Dolphin file manager, which comes with KDE Plasma",
".directory",
"",
"# Linux trash folder which might appear on any partition or disk",
".Trash-*",
"",
"# .nfs files are created when an open file is removed but is still being accessed",
".nfs*",
"",
"# Log files created by default by the nohup command",
"nohup.out"
]
},
"JetBrains": {
"path": "Global/JetBrains.gitignore",
"kind": "editor",
"aliases": [
"intellij",
"idea",
"pycharm",
"webstorm",
"goland",
"clion",
"rider"
],
"lines": [
"# Covers JetBrains IDEs: IntelliJ, GoLand, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider",
"# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839",
"",
"# User-specific stuff",
".idea/**/workspace.xml",
".idea/**/tasks.xml",
".idea/**/usage.statistics.xml",
".idea/**/dictionaries",
".idea/**/shelf",
"",
"# AWS User-specific",
".idea/**/aws.xml",
"",
"# Generated files",
".idea/**/contentModel.xml",
"",
"# Sensitive or high-churn files",
".idea/**/dataSources/",
".idea/**/dataSources.ids",
".idea/**/dataSources.local.xml",
".idea/**/sqlDataSources.xml",
".idea/**/dynamic.xml",
".idea/**/uiDesigner.xml",
".idea/**/dbnavigator.xml",
"",
"# Gradle",
".idea/**/gradle.xml",
".idea/**/libraries",
"",
"# Gradle and Maven with auto-import",
"# When using Gradle or Maven with auto-import, you should exclude module files,",
"# since they will be recreated, and may cause churn. Uncomment if using",
"# auto-import.",
"# .idea/artifacts",
"# .idea/compiler.xml",
"# .idea/jarRepositories.xml",
"# .idea/modules.xml",
"# .idea/*.iml",
"# .idea/modules",
"# *.iml",
"# *.ipr",
"",
"# CMake",
"cmake-build-*/",
"",
"# Mongo Explorer plugin",
".idea/**/mongoSettings.xml",
"",
"# File-based project format",
"*.iws",
"",
"# IntelliJ",
"out/",
"",
"# mpeltonen/sbt-idea plugin",
".idea_modules/",
"",
"# JIRA plugin",
"atlassian-ide-plugin.xml",
"",
"# Cursive Clojure plugin",
".idea/replstate.xml",
"",
"# SonarLint plugin",
".idea/sonarlint/",
"# see https://community.sonarsource.com/t/is-the-file-idea-idea-idea-sonarlint-xml-intended-to-be-under-source-control/121119",
".idea/sonarlint.xml",
"",
"# Crashlytics plugin (for Android Studio and IntelliJ)",
"com_crashlytics_export_strings.xml",
"crashlytics.properties",
"crashlytics-build.properties",
"fabric.properties",
"",
"# Editor-based HTTP Client",
".idea/httpRequests",
"http-client.private.env.json",
"",
"# Android studio 3.1+ serialized cache file",
".idea/caches/build_file_checksums.ser",
"",
"# Apifox Helper cache",
".idea/.cache/.Apifox_Helper",
".idea/ApifoxUploaderProjectSetting.xml",
"",
"# Github Copilot persisted session migrations, see: https://github.com/microsoft/copilot-intellij-feedback/issues/712#issuecomment-3322062215",
".idea/**/copilot.data.migration.*.xml"
]
},
"VisualStudioCode": {
"path": "Global/VisualStudioCode.gitignore",
"kind": "editor",
"aliases": [
"vscode",
"code"
],
"lines": [
"# Visual Studio Code",
".vscode/*",
"!.vscode/settings.json",
"!.vscode/tasks.json",
"!.vscode/launch.json",
"!.vscode/extensions.json",
"!.vscode/*.code-snippets",
"!*.code-workspace",
"",
"# Built Visual Studio Code Extensions",
"*.vsix"
]
},
"Vim": {
"path": "Global/Vim.gitignore",
"kind": "editor",
"aliases": [
"neovim",
"nvim"
],
"lines": [
"# Swap",
"[._]*.s[a-v][a-z]",
"# comment out the next line if you don't need vector files",
"!*.svg",
"[._]*.sw[a-p]",
"[._]s[a-rt-v][a-z]",
"[._]ss[a-gi-z]",
"[._]sw[a-p]",
"",
"# Session",
"Session.vim",
"Sessionx.vim",
"",
"# Temporary",
".netrwhist",
"*~",
"# Auto-generated tag files",
"tags",
"# Persistent undo",
"[._]*.un~"
]
},
"Emacs": {
"path": "Global/Emacs.gitignore",
"kind": "editor",
"aliases": [],
"lines": [
"# -*- mode: gitignore; -*-",
"*~",
"\\#*\\#",
"/.emacs.desktop",
"/.emacs.desktop.lock",
"*.elc",
"auto-save-list",
"tramp",
".\\#*",
"",
"# Org-mode",
".org-id-locations",
"*_archive",
"",
"# flymake-mode",
"*_flymake.*",
"",
"# eshell files",
"/eshell/history",
"/eshell/lastdir",
"",
"# elpa packages",
"/elpa/",
"",
"# reftex files",
"*.rel",
"",
"# AUCTeX auto folder",
"/auto/",
"",
"# cask packages",
".cask/",
"dist/",
"",
"# Flycheck",
"flycheck_*.el",
"",
"# server auth directory",
"/server/",
"",
"# projectiles files",
".projectile",
"",
"# directory configuration",
".dir-locals.el",
"",
"# network security",
"/network-security.data",
"",
"# undo-tree",
"*.~undo-tree~"
]
},
"Eclipse": {
"path": "Global/Eclipse.gitignore",
"kind": "editor",
"aliases": [],
"lines": [
".metadata",
"bin/",
"tmp/",
"*.tmp",
"*.bak",
"*.swp",
"*~.nib",
"local.properties",
".settings/",
".loadpath",
".recommenders",
"",
"# External tool builders",
".externalToolBuilders/",
"",
"# Locally stored \"Eclipse launch configurations\"",
"*.launch",
"",
"# PyDev specific (Python IDE for Eclipse)",
"*.pydevproject",
"",
"# CDT-specific (C/C++ Development Tooling)",
".cproject",
"",
"# CDT- autotools",
".autotools",
"",
"# Java annotation processor (APT)",
".factorypath",
"",
"# PDT-specific (PHP Development Tools)",
".buildpath",
"",
"# sbteclipse plugin",
".target",
"",
"# Tern plugin",
".tern-project",
"",
"# TeXlipse plugin",
".texlipse",
"",
"# STS (Spring Tool Suite)",
".springBeans",
"",
"# Code Recommenders",
".recommenders/",
"",
"# Annotation Processing",
".apt_generated/",
".apt_generated_tests/",
"",
"# Scala IDE specific (Scala & Java development for Eclipse)",
".cache-main",
".scala_dependencies",
".worksheet",
"",
"# Uncomment this line if you wish to ignore the project description file.",
"# Typically, this file would be tracked if it contains build/dependency configurations:",
"#.project"
]
},
"Xcode": {
"path": "Global/Xcode.gitignore",
"kind": "editor",
"aliases": [],
"lines": [
"## User settings",
"xcuserdata/"
]
},
"VirtualEnv": {
"path": "Global/VirtualEnv.gitignore",
"kind": "tool",
"aliases": [
"venv",
"virtualenv"
],
"lines": [
"# Virtualenv",
"# https://realpython.com/python-virtual-environments-a-primer/#the-virtualenv-project",
".venv/",
"venv/",
".python-version",
"",
"# pyenv: Simple Python Version Management",
"pyvenv.cfg",
"",
"# pip: package installer for Python",
"pip-selfcheck.json",
"",
"# Custom python interpreter",
".Python",
"[Bb]in",
"[Ii]nclude",
"[Ll]ib",
"[Ll]ib64",
"[Ll]ocal",
"[Ss]cripts"
]
}
}
}
Where it is served
The registry serves only AXLR clients, so a browser gets 403; fetch with a User-Agent that starts with axlr:
curl -A axlr-docs/1.0 -O https://registry.underpassai.com/tools/gitignore_gen/1.0.0/manifest.json
curl -A axlr-docs/1.0 -O https://registry.underpassai.com/tools/gitignore_gen/1.0.0/gitignore_gen.py
curl -A axlr-docs/1.0 -O https://registry.underpassai.com/tools/gitignore_gen/1.0.0/templates.json