Skip to content

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.

git clone https://github.com/sbroenne/skillpm.git
cd skillpm
npm install
npm run build
npm test

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) — never any
  • 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.