.gitignore Generator

Select templates for your stack, merge them, and download a clean .gitignore file.

Stack presets

Languages

Frameworks

OS

Editors

Custom Patterns

.gitignore output(3 templates)

# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
.npm
.yarn/
.pnp.*
dist/
build/
.cache/
.env
.env.local
.env.*.local
# macOS
.DS_Store
.AppleDouble
.LSOverride
Icon
._*
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# VS Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
.history/
*.vsix

Template notes ยท reviewed August 2026

Build a .gitignore you can explain in code review

The generator merges only the stacks you choose, keeps section comments, and removes repeated non-comment rules. Templates are maintained locally by DevPick rather than fetched at runtime, so the generated result is deterministic and your project details stay in the browser.

Commit dependency locks

The Go template keeps go.sum, and the Rust template keeps Cargo.lock. Reproducible dependency resolution is safer than blanket lockfile ignores.

Order affects negation

A later rule beginning with ! can re-include a file. Review custom rules after merging when a parent directory is ignored.

Ignoring is not secret management

Ignore local environment files, but rotate any credential that was committed. A .gitignore cannot erase a secret from Git history.

If Git still tracks an ignored file

Ignore rules only affect untracked files. Remove an already tracked file from the index while keeping the local copy, then commit the change:

git rm --cached path/to/file