.gitignore Generator

Select templates for your stack, merge them, and download a clean .gitignore file. Every setup gets a shareable link.

Stack presets

Languages

Frameworks & monorepos

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

Monorepo workflow · processed locally

Audit an existing .gitignore before it reaches code review

Paste your current file, select the stack it should support above, and check for missing build/cache rules, duplicates, and risky lockfile or source-directory ignores. Nothing leaves your browser.

Select the intended stack, paste a .gitignore, and run the audit. File contents are never included in analytics.

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