This repo owns the @async/cli package: a Node 24+ filesystem command router
that runs directory-backed project and user-global commands.
- Use Node 24+, pnpm, ESM, TypeScript source under
src/, and explicit.jsimport extensions. - Keep runtime dependencies at zero unless a future ADR explicitly approves one.
- Preserve command directories as the move unit.
- Keep
scriptvalid as a command segment; onlyscript.{ts,mts,js,mjs}files make a command directory runnable. - v0.2 ships completions, the overlay trust model,
--edit/--rm, templates, thecli-cwdpragma,--doctor, MCP server mode, and command packs; keep their contracts aligned withSPEC.md. - Do not add non-JavaScript entrypoints (
.sh,.py) or a hosted pack registry. - Do not move or delete
../cli (1)/SPEC.md; it is source material outside this package.
@async/pipeline(pinned indevDependencies) generates this repo's CI, Pages, preview, and release automation frompipeline.ts.- Do not hand-edit
.github/workflows/async-pipeline.yml, the locks under.locks/pipeline/, or the generatedpipeline:*scripts inpackage.json. Changepipeline.ts, then run:
pnpm run pipeline:sync:generate
pnpm run pipeline:sync:check
pnpm run pipeline:github:check- Releases of
@async/pipelinedispatchasync-dep-bumpto this repo; the generateddependency-bumpjob applies the bump, regenerates synced surfaces, runsrelease:check, and pushes tomainor opens a pull request on failure. Manual pipeline version bumps should follow the same steps: bump, regenerate, verify.
Run the package gate before handoff:
pnpm run release:checkFor a narrower loop:
pnpm run build
pnpm test