Language-Aware Bootstrap for Claude Code
The setup script now detects your project’s languages and generates a tailored Claude Code settings.json — no manual configuration needed.
How It Works
Section titled “How It Works”When you run setup.sh, the bootstrap system:
- Scans your project for language markers —
*.py,Gemfile,package.json,Cargo.toml,*.swift, etc. - Maps languages to tools — Python projects get
ruff,pytest,mypy; Ruby projects getrubocop,rspec,brakeman; TypeScript getseslint,vitest,tsc. - Generates
settings.jsonwith the appropriateallowedToolsconfiguration for Claude Code.
The result: Claude Code can run your project’s linters, test runners, and formatters without you having to manually allowlist each tool.
Template-Driven
Section titled “Template-Driven”The generation uses a base template with language-specific tool blocks injected dynamically. This means the core settings (permissions, MCP servers, etc.) stay consistent while tool access adapts to the project.
CI Test Infrastructure
Section titled “CI Test Infrastructure”We added functional tests that validate the bootstrap pipeline:
- Language detection tests — verify that each file type maps to the correct language
- Settings generation tests — confirm the output JSON is valid and contains expected tool entries
- Round-trip tests — run setup on mock projects and validate the generated config
These run in CI on every PR that touches the setup scripts.
Try It
Section titled “Try It”Update your standards submodule and re-run setup:
cd .standards && git pull origin main && cd ..make setupYour settings.json will be regenerated with language-appropriate tooling.