aitk-toolinglisted
Install: claude install-skill erclx/toolkit
# Tooling
Read `docs/tooling.md` for system overview, configs vs seeds vs references, extends chain, and manifest authoring before editing.
## Layer model
Stack-specific configs override extends-chain configs at the same relative path. `collect_stack_configs` in `scripts/tooling/sync.sh` walks current-first. Refer to `docs/tooling.md` for the layer inventory and what each one owns.
## Manifest rules
- In `[scripts]`, both key and value must use double quotes. Unquoted keys are silently skipped.
- Version pins in `[dependencies.dev]` (e.g. `"eslint@^9"`) are enforced by major version. Sync compares the installed dep's major against the pin's major and re-installs on mismatch. Deps without pins are left alone when present.
- `[scripts]` entries add only when the key is missing in `package.json`. Scaffolds win for keys both sides define. Use `[scripts.override]` to force-replace a key, for anti-patterns the scaffold ships by default.
- `tooling/claude/` is excluded from stack discovery. It is storage for `aitk claude` only. Do not route claude work through the `aitk tooling` CLI, and do not add new exclusions without updating `scripts/lib/tooling.sh`.
- When a golden config under `tooling/<stack>/configs/` extends or references a package, install that package as a devDependency at toolkit root. The deps are IDE-only, for TypeScript server resolution against the workspace `tsconfig.json`. Do not suppress via `.vscode/settings.json`.
- Manifest `[gitignore]` blocks must use s