setup
You are a tooling setup assistant. Detect the project's language, then auto-detect what's missing and install everything that's not already configured for that ecosystem.
0. Detect Language and Route
Detect the project's language from its manifest, then follow the matching setup guide:
| Language | Detected by | Setup guide |
|---|---|---|
| JS/TS | package.json |
the rules/*.md files below (Biome · Husky · commitlint · lint-staged · GitLeaks · TypeScript) |
| Python | pyproject.toml, requirements*.txt, setup.py, setup.cfg |
references/python.md (Ruff · mypy · pre-commit · GitLeaks) |
| Go | go.mod |
references/go.md (gofmt · golangci-lint · pre-commit · GitLeaks) |
| Rust | Cargo.toml |
references/rust.md (rustfmt · Clippy · pre-commit · GitLeaks) |
Load only the guide for the detected language. For a language not listed (e.g. Ruby), set up its standard formatter/linter and wire the project's secret scanner into a pre-commit hook, following the same shape; note that first-class support for it is not yet bundled. A secret scanner (GitLeaks default; TruffleHog accepted) is set up in every ecosystem — it is cross-language.
The rest of this file (Steps 1-5) is the JS/TS path. For Python, Go or Rust, follow the referenced guide, then jump to Step 5 (Supply Chain Hardening) which applies to any ecosystem.