About
Conventions
The stack, scripts and release flow every agntn repo shares.
Every repo starts from the same template and keeps the same layout. Moving from one library to the next costs nothing, that's the whole point.
Stack
| Concern | Choice |
|---|---|
| Runtime | Node.js 26 for development and release. Each package declares its floor in engines, right now 22 or 24 and up |
| Language | TypeScript, strict. Newer packages typecheck with native tsc 7, the rest are still moving from 5.8 and 6 |
| Modules | ESM only, exports use .mjs and .d.mts |
| Build | obuild |
| Tests | vitest |
| Lint and format | oxlint and oxfmt through the shared @agntn/ox policy |
| Release | changelogen, published from GitHub Actions with npm trusted publishing |
| Package manager | pnpm |
Scripts
pnpm build # production build
pnpm test # run tests once
pnpm lint # lint and format check
pnpm fmt # fix lint and format
pnpm typecheck # type checking
pnpm release # test, build and release
Layout
src/ source code
test/ tests
packages/pi/extensions/ Pi extension sources shipped with the package
packages/omp/extensions/ OMP extension sources shipped with the package
docs/ Docus site, when the library has one
dist/ build output
Rules
- No
as any, no@ts-ignore, no@ts-expect-error. - Provider names, hosts, env vars and capabilities live once, in the adapter. Every list is derived from the registry, never typed out a second time.
- Everything is before 1.0. Pin exact versions and read the changelog before upgrading.
- Docs sites are Docus on Nuxt, deployed to Cloudflare Workers, same typography and layout as this page. Each library gets its own accent colour.