This repo owns the @async/cli package: a filesystem command router with Node
24+ as the default binary host and Deno 2.7+ as an explicit alternate host.
- Use Node 24+, pnpm, ESM, TypeScript source under
src/, and explicit.jsimport extensions. Keep the published build compatible with Deno 2.7+ through its Node and npm compatibility layer. - 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.3 ships filesystem-root discovery, completions, the overlay trust model,
--edit/--rm, templates, thecli-cwdpragma,--doctor, machine-readable listing, and command packs; keep their contracts aligned withSPEC.md. - Deno is supported as an alternate host for the published CLI while keeping
the installed
cliandasync-clibinaries on Node; keep the runtime contract and security wording aligned withSPEC.mdandSECURITY.md. - Command discovery never consults
.git; only the--agentscontext-file subsystem, including its doctor audit, uses the Git repository boundary. - Do not add a persistent or time-based command-path cache. Resolution must observe the live filesystem on every invocation.
- 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
pnpm run test:deno