A global Claude Code skill that automatically generates .gitignore files based on detected project type.
auto-gitignore/
├── src/cli/ # TypeScript CLI source
│ └── install.ts # Installer script (install/uninstall/status commands)
├── dist/ # Compiled JavaScript (generated by npm run build)
├── skill/ # Claude skill (copied to ~/.claude/plugins/repos/ on install)
│ ├── .claude-plugin/plugin.json # Plugin manifest
│ ├── commands/gitignore.md # /gitignore slash command
│ ├── hooks/
│ │ ├── hooks.json # SessionStart hook config
│ │ └── check-gitignore.sh # Proactive detection script
│ └── skills/gitignore-generator/
│ ├── SKILL.md # Skill definition
│ └── templates/ # Gitignore templates by project type
# Install dependencies
npm install
# Build TypeScript CLI
npm run build
# Test CLI locally
node dist/cli/install.js install
node dist/cli/install.js status
node dist/cli/install.js uninstall
# Publish to npm
npm publish --access public-
CLI Installer:
npx @blurtopian/auto-gitignore installcopies theskill/directory to~/.claude/plugins/repos/auto-gitignore/ -
SessionStart Hook: When Claude starts in a project directory, the hook script detects project types and suggests creating a
.gitignoreif missing -
Slash Command: Users can run
/gitignoreto generate or update their.gitignore -
Skill Definition: SKILL.md teaches Claude how to detect project types and merge gitignore patterns
- Node.js (package.json)
- Python (requirements.txt, pyproject.toml)
- Rust (Cargo.toml)
- Go (go.mod)
- Java (pom.xml, build.gradle)
- Ruby (Gemfile)
- Swift (Package.swift)
- .NET (*.csproj, *.sln)
- Aleo/Leo (program.json, *.leo)
- Create
skill/skills/gitignore-generator/templates/<type>.gitignore - Update detection logic in
skill/hooks/check-gitignore.sh - Update the project type table in
skill/skills/gitignore-generator/SKILL.md