Dev tooling configuration presets for Outfitter projects (biome, typescript, lefthook, markdownlint)
npm install @outfitter/toolingDev tooling configuration presets and CLI for Outfitter projects.
- Configuration Presets: Biome, TypeScript, Lefthook, and markdownlint configs
- CLI Commands: Initialize configs, upgrade Bun, TDD-aware pre-push hooks
- Registry System: Composable config blocks for scaffolding
``bash`
bun add -D @outfitter/tooling
Peer dependencies (optional):
- ultracite — Biome wrapper for formatting/lintinglefthook
- — Git hooksmarkdownlint-cli2
- — Markdown linting
Initialize tooling configuration in the current project. Copies preset configs for Biome, TypeScript, Lefthook, and markdownlint.
`bash`
bunx @outfitter/tooling init
Run linting checks (wraps ultracite).
`bash`
bunx @outfitter/tooling check
bunx @outfitter/tooling check src/
Fix linting issues (wraps ultracite).
`bash`
bunx @outfitter/tooling fix
bunx @outfitter/tooling fix src/
Upgrade Bun version across the project. Updates:
- .bun-versionengines.bun
- in all package.json files@types/bun
- dependency versions (leaves "latest" alone)bun.lock
-
`bashUpgrade to latest
bunx @outfitter/tooling upgrade-bun
$3
TDD-aware pre-push test hook. Detects RED phase branches and skips tests by design.
RED phase branches follow these patterns:
-
*-tests (e.g., feature/auth-tests)
- */tests (e.g., feature/auth/tests)
- *_tests (e.g., feature/auth_tests)`bash
Normal usage (in lefthook.yml)
bunx @outfitter/tooling pre-pushForce skip tests
bunx @outfitter/tooling pre-push --force
`Configuration Presets
$3
Extends our Biome config in your
biome.json:`json
{
"extends": ["@outfitter/tooling/biome.json"]
}
`$3
Extends our TypeScript config in your
tsconfig.json:`json
{
"extends": "@outfitter/tooling/tsconfig.preset.json"
}
`Or for Bun-specific projects:
`json
{
"extends": "@outfitter/tooling/tsconfig.preset.bun.json"
}
`$3
Extends our git hooks in your
.lefthook.yml:`yaml
extends:
- node_modules/@outfitter/tooling/lefthook.yml
`Default hooks:
- pre-commit: Runs ultracite on staged files, typechecks
- pre-push: Runs build, then TDD-aware tests via
tooling pre-push$3
Copy or reference the config:
`bash
Copy to project
cp node_modules/@outfitter/tooling/.markdownlint-cli2.jsonc .
`Registry System
The tooling package includes a registry of composable config blocks for the
outfitter CLI scaffolding system.Available blocks:
-
claude — Claude Code settings and hooks
- biome — Biome/Ultracite configuration
- lefthook — Git hooks configuration
- markdownlint — Markdown linting configuration
- bootstrap — Project bootstrap script
- scaffolding — Full starter kit (combines all above)Exports
| Export | Description |
|--------|-------------|
|
./biome.json | Biome configuration preset |
| ./tsconfig.preset.json | TypeScript preset (general) |
| ./tsconfig.preset.bun.json | TypeScript preset (Bun) |
| ./lefthook.yml | Lefthook hooks configuration |
| ./.markdownlint-cli2.jsonc` | markdownlint configuration |- @outfitter/contracts — Result types and error patterns
- @outfitter/cli — CLI framework
- @outfitter/kit — Version coordination
MIT