# AGENTS.md

This is a monorepo of Pi extensions. If `which pi` reports Pi is managed by
`mise`, its extension docs are in `$(mise where
npm:@earendil-works/pi-coding-agent)/lib/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md`.

## Commands

```sh
npm install # install deps (only after cloning)
mise run fmt
mise run lint
npm run typecheck --workspace packages/<package> # single package typecheck
mise run typecheck # check all packages
mise run check # runs fmt, lint, typecheck; fmt writes changes
mise run release:[bump|pack|publish] <package...> <flags, args ...>
```

## Release gotchas

- Release package selectors are resolved by `scripts/resolve-release-packages.bash`; update it when adding a package.
- Exact-version bumps and `release:publish --otp` only work for one package at a time.
- `release:publish` refuses prereleases with the default `latest` tag; pass a prerelease tag such as `--tag beta`.

## VCS

This is a jj repo. Use kernel-style commit messages (imperative, 50-char
subject, body explains what/why). Use the format script at
`~/.config/agents/skills/formatting-commits/scripts/format` to validate
subjects and reflow bodies.
