Contributing
Development setup
Requires Node.js 22.20.0 or later. CI covers Node 22.20.0, 24, and 26 and validates the bundled skill using the official Python reference implementation. Node types target the minimum supported major; TypeScript remains on 5.9 until the typescript-eslint peer range supports a newer major.
Commands
| Command | Description |
|---|---|
npm run build |
Compile TypeScript to dist/ |
npm run dev |
Watch mode — recompile on changes |
npm test |
Run tests (Vitest) |
npm run test:watch |
Run tests in watch mode |
npm run lint |
Lint with ESLint |
npm run format |
Format with Prettier |
Project structure
src/
├── cli.ts # Entry point, command dispatch
├── cli.test.ts # CLI integration tests
├── commands/ # One file per command
├── scanner/ # Scans node_modules/ for skills
├── manifest/ # package.json + SKILL.md parsing
└── utils/ # Logging, shell helpers
Conventions
- Co-locate tests next to source as
*.test.ts - Use
catch (err: unknown)— neverany - One file per CLI command under
src/commands/ - Delegate to npm and
skills— don't reimplement package management or agent linking
Releasing
See the Maintainer Guide for the full release process and npm setup.