IgnoreForge generates and merges .gitignore, .npmignore, .yarnignore, .vscodeignore, .dockerignore, .eslintignore, .prettierignore, and .helmignore — automatically detecting your project type, working 100% offline, and preserving every custom rule you've added across regenerations.
No more copy-pasting from random GitHub gists. No more losing your local overrides every time you regenerate a .gitignore.
✨ Features
- 🔍 Automatic project detection — Node, Python, Java, Go, Rust, .NET, Ruby, PHP, Terraform, Android, Unity, plus OS (macOS/Windows/Linux) and editor (VS Code/JetBrains) conventions, detected from marker files already in your workspace.
- 📄 One-command
.gitignore generation — pre-checked with what was detected; adjust the list before writing if you want.
- 🧩 Merges multiple templates into a single clean file, de-duplicating overlapping rules and labeling each section for readability.
- 🔒 Preserves your custom rules — always. IgnoreForge writes inside a clearly marked block. Anything you add outside it (or already had before installing IgnoreForge) survives every regeneration.
- 🔄 Keeps up as your project evolves. Run Refresh any time, or let IgnoreForge watch the workspace and offer to update automatically when a new
package.json, Cargo.toml, go.mod, etc. shows up.
- 📡 Fully offline. All templates ship inside the extension. No network calls, no telemetry, no external services — works on an air-gapped machine.
- 🗂️ More than
.gitignore. Generate .npmignore, .yarnignore, .vscodeignore, .dockerignore, .eslintignore, .prettierignore, and .helmignore from the same command set.
🚀 Getting Started
- Install IgnoreForge from the VS Code Marketplace (search "IgnoreForge" in the Extensions view, or click Install above).
- Open a project folder.
- Run
IgnoreForge: Generate/Update .gitignore from the Command Palette (Cmd/Ctrl+Shift+P).
- Review the pre-checked, auto-detected templates and press Enter.
That's it — your .gitignore is generated and opened for review.
🧰 Commands
Open the Command Palette (Cmd/Ctrl+Shift+P) and search "IgnoreForge":
| Command |
What it does |
| IgnoreForge: Generate/Update .gitignore |
Detects your stack, shows a pre-checked template list, writes .gitignore. |
| IgnoreForge: Generate Other Ignore File... |
Pick from .npmignore, .dockerignore, .vscodeignore, .yarnignore, .eslintignore, .prettierignore, .helmignore. |
| IgnoreForge: Refresh Ignore File |
Re-detects the project and updates the managed block only — your custom rules are untouched. |
| IgnoreForge: Choose Templates Manually... |
Skip auto-detection and pick templates yourself. |
All commands are also available by right-clicking a folder in the Explorer.
🔐 How custom-rule preservation works
Generated files look like this:
# ===== IgnoreForge Managed Rules (Node.js, macOS) =====
# Generated by IgnoreForge on 2026-08-04T12:00:00.000Z
# Do not hand-edit content between these two marker lines; it will be overwritten.
# --- Node.js ---
node_modules/
dist/
...
# --- macOS ---
.DS_Store
...
# ===== End IgnoreForge Managed Rules =====
my-weird-local-only-file.txt
/scratch/
Everything outside the marker lines — above or below — is yours. IgnoreForge never touches it, so it's always safe to re-run generation or refresh as your dependencies change.
⚙️ Settings
| Setting |
Default |
Description |
ignoreforge.autoWatch |
true |
Watch the workspace for new project markers and offer to update .gitignore. |
ignoreforge.notifyOnAutoUpdate |
true |
Show a notification when a project-type change is detected. |
ignoreforge.includeOsTemplatesByDefault |
true |
Auto-include macOS/Windows/Linux rules. |
ignoreforge.includeEditorTemplatesByDefault |
true |
Auto-include VS Code rules when a .vscode/ folder exists. |
🗺️ Supported templates
| Ignore file |
Bundled templates |
.gitignore |
Node.js, Python, Java, Go, Rust, .NET, Ruby, PHP, Terraform, Android, Unity, macOS, Windows, Linux, VS Code, JetBrains |
.npmignore / .yarnignore |
Sensible defaults for excluding dev/source files from published packages |
.vscodeignore |
Defaults tuned for packaging a VS Code extension with vsce |
.dockerignore |
Defaults excluding VCS, deps, secrets, caches from the build context |
.eslintignore / .prettierignore |
Common build output / lockfile exclusions |
.helmignore |
Standard Helm chart packaging exclusions |
Don't see your framework? Request a template or add one yourself — it's just a .txt file, no code required.
🔒 Privacy
IgnoreForge makes no network requests and collects no telemetry. It only reads files in your open workspace to detect project markers, and writes the ignore file you asked it to generate.
🤝 Contributing
Contributions are very welcome — new templates especially! See:
📦 Publishing (for maintainers)
- Update
publisher in package.json to your VS Code publisher id.
- Create a Personal Access Token in Azure DevOps and log in:
npx vsce login <publisher>.
- Package:
npx vsce package → produces ignoreforge-<version>.vsix.
- Publish:
npx vsce publish (or upload the .vsix manually at the Marketplace publisher dashboard).
Test the packaged .vsix locally first:
code --install-extension ignoreforge-0.1.0.vsix
📄 License
MIT — free to use, modify, and redistribute.
Made with ❤️ by AnandShah for the developer community.
If IgnoreForge saves you time, consider ⭐ starring the repo!
| |