From claudient
Generates or extends a .gitignore file for the detected or specified project stack. Accepts an optional stack argument (e.g. 'node react') or auto-detects from the working tree.
How this command is triggered — by the user, by Claude, or both
Slash command
/claudient:gitignore-gen [stack or language]git/The summary Claude sees in its command listing — used to decide when to auto-load this command
If $ARGUMENTS is provided, treat it as the stack specification (e.g., "node react", "python fastapi", "rust", "go terraform"). If $ARGUMENTS is empty, detect the stack by inspecting the working tree: - Run `ls -1` at the repo root and scan for indicator files: `package.json`, `Cargo.toml`, `go.mod`, `pyproject.toml`, `requirements.txt`, `Gemfile`, `pom.xml`, `build.gradle`, `*.sln`, `Dockerfile`, `.terraform/`, etc. - Check for editor/IDE files: `.vscode/`, `.idea/`, `*.xcodeproj` - Check for OS: detect macOS (`.DS_Store` risk) or Windows (`Thumbs.db` risk) from the environment If a `.git...
If $ARGUMENTS is provided, treat it as the stack specification (e.g., "node react", "python fastapi", "rust", "go terraform").
If $ARGUMENTS is empty, detect the stack by inspecting the working tree:
ls -1 at the repo root and scan for indicator files: package.json, Cargo.toml, go.mod, pyproject.toml, requirements.txt, Gemfile, pom.xml, build.gradle, *.sln, Dockerfile, .terraform/, etc..vscode/, .idea/, *.xcodeproj.DS_Store risk) or Windows (Thumbs.db risk) from the environmentIf a .gitignore already exists at the repo root, read it first. Add only rules that are missing — do not duplicate existing entries.
Generate the .gitignore content organized into labeled sections:
# === <Stack> ===
# === Editor / IDE ===
# === OS ===
# === Secrets & local config ===
# === Build output ===
# === Test artifacts ===
Rules for each section:
.vscode/ (keep .vscode/extensions.json and settings.json if team-shared — note this), .idea/, *.swp, *.swo, .DS_Store, Thumbs.db.env, .env.* (except .env.example), *.pem, *.key, secrets.*, credentials.*dist/, build/, out/, target/, *.o, *.a, *.so, *.dllcoverage/, .nyc_output/, *.lcov, htmlcov/, .pytest_cache/, __snapshots__/ (only if not version-controlled intentionally)After the content block, note any patterns that require team discussion before adding (e.g., whether to ignore .vscode/settings.json).
Do not write the file to disk. Output the full .gitignore content for the user to review and apply.
npx claudepluginhub claudient/claudient --plugin claudient-personas