{"_id":"@async/cli","_rev":"9-5aae2f5aadfdac230abd48c8d01a1419","name":"@async/cli","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@async/cli","version":"0.1.0","license":"MIT","_id":"@async/cli@0.1.0","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://github.com/async/cli#readme","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"e3cd8cd14d7d20891a3592ef2679cce7ca0c84d5","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.1.0.tgz","fileCount":22,"integrity":"sha512-bNcf5wI+H5R6fdI4Eu6w7UBVmLCcH98MaeELafE17B7Lc23P0B3bQsx6CaIjKKSOf6C4J2vns9AYfpOZaiuAaQ==","signatures":[{"sig":"MEUCIFKLfnfr2FhQo/NaORssqzuLF06NfdCl6BPsmG48QY/wAiEAu7zVB8UHY5SgG+O6X5DUVlZvDA//d3J8eOOy3kTkeRU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90465},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"a5a5797517b160a3730aaacf8a42803dbc8a5c52","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.31"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1782973293673_0.831590180471713","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@async/cli","version":"0.1.1","license":"MIT","_id":"@async/cli@0.1.1","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://github.com/async/cli#readme","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"1969d3ad8c6c9101bd57eb44c2da5db8f9944287","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.1.1.tgz","fileCount":22,"integrity":"sha512-kw7cXRC5i9Dmdw3D10hYnvY7wMKrGBwgLEloVpM3vVtBz5IjGvkhxn8bbpe/TS+zNSkC0KAgJuiQWqN+lm5xOg==","signatures":[{"sig":"MEUCIDpumBgnn3ljjmEaAldQADGUiGkkxB43sHcsX+Uyuw+yAiEA5xRvh4dijgQy3mx62w86EOKutebPsXskxp4HOlaTVhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":90745},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"70807664a9a7ca6b42d1bd2499c6c0c0f5a31103","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.33"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1782974549806_0.39015981455258997","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@async/cli","version":"0.1.2","license":"MIT","_id":"@async/cli@0.1.2","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://github.com/async/cli#readme","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"7377db7087da0c4021293f974fc448a2b572b782","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.1.2.tgz","fileCount":22,"integrity":"sha512-MMG7ugnyf0solPkCI4MsGL4Eui/1JLDrgRwLHhkliOftf9ZQrTRHIx7rJK32vqqzlO7jytuQwCOXK/Hfsu7Gtw==","signatures":[{"sig":"MEUCIQCLzyQ8SikDJ4wKXQabxwRdm0k+vsEgf8r/kMAwZ/NQWgIgDpKOwGrS0kr3VNF06hwVnUI8e2R6d13iFCa18y7wsqw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":95677},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"5ddb9d18b1983123ae7b3945c9a383ecafe24052","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.33"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.2_1783031781374_0.20473052398543135","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@async/cli","version":"0.2.0","license":"MIT","_id":"@async/cli@0.2.0","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://async.github.io/cli/","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"0a7df0be9b2b51c7dde6efd9a86747c515a60c48","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.2.0.tgz","fileCount":54,"integrity":"sha512-iFP1dTbI687on9CnDMyzuVzw1JPBdsU/iBKuQEZqowSE+5F5NX+C1KIbviLeEvSl9FS5hrVU5oUXhnRgDpa2Cg==","signatures":[{"sig":"MEUCIE2MnvEcIAOJUmFJCqcgOzBPjrulvC6f0Nt7pfzf3jLeAiEApjbSj+x/NVNLeUqF7m9S4Zw65qHXT6ic8KFNldAEd6E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":205434},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"94359fa3ebc22231cfa33155fa1e7930cf2c856e","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:pages":"async-pipeline run-task docs.site","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:docs.site":"async-pipeline run-task docs.site","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.33"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.0_1783327594834_0.19600316322216438","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@async/cli","version":"0.2.1","license":"MIT","_id":"@async/cli@0.2.1","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://async.github.io/cli/","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"242c6fb9403717b132500aed20915164e44271c4","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.2.1.tgz","fileCount":56,"integrity":"sha512-KDJcJ5q0xLmzfvE+Q33QVCZlZ+lDgMuLbGcvCkv/GsFU+/S7MRuOBIsJDKAu0EVZ76BbwFvV1/EqUyz46erfTg==","signatures":[{"sig":"MEUCIQCLhDn7aFFiDDBl3ztmSnE2PNEuzh7byxU+emDEKQVeUQIgEPJPtQbwUiy4NdHaARx0uQKg3PIVC7yiqyN6K14nlZw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":237358},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"2b154930d1840dd407d7ba1f5cd39f61d85252aa","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:pages":"async-pipeline run-task docs.site","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:docs.site":"async-pipeline run-task docs.site","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.33"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.1_1783362583007_0.3384651458508927","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@async/cli","version":"0.2.2","license":"MIT","_id":"@async/cli@0.2.2","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://async.github.io/cli/","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"2d9cc390a332212be77d06684e4168711c7f744f","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.2.2.tgz","fileCount":56,"integrity":"sha512-GEpkBaFG9s1CZY36YzBvPuTssDmmMcEkv/bGEvc0Mynw/ODl/07KQQUm6z75ccmV+eb1Ng5xoHCfB+x8Mel4ew==","signatures":[{"sig":"MEQCIDu14ZGTQqIRPjUj202OgJuQIpfwICvypkiR2BGcun6cAiAeLNfuiLDq6pSZAXg9qGvp9IwGdAclXd+UXc/bUQSlqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":239732},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"97e16bcded3c875b462f51b59c00302d5c0000e4","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:pages":"async-pipeline run-task docs.site","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:docs.site":"async-pipeline run-task docs.site","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.35"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.2_1783541464544_0.5381237422052072","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@async/cli","version":"0.2.3","license":"MIT","_id":"@async/cli@0.2.3","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://async.github.io/cli/","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"405230e2bd274d3f907944690a7ce12aecce3964","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.2.3.tgz","fileCount":57,"integrity":"sha512-N7T09uTN58j0iXNU4qbRrDd3JGAHQFzepHktvsgrIaDnD5uSWYwzUQcevTJs9ghViT488KvgLLauN3Apapsf4w==","signatures":[{"sig":"MEQCIDof2eQYa+8ztE7N5hpjaw+kZr0y+LdSGk1aAd3luW5gAiBuIvaMzE7sdWEfMkpopG014EYAgnArK59FgGobJXAtQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":247412},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"8b9c6b2c0c5948ab3c58b161c68c0276370fe5b7","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:pages":"async-pipeline run-task docs.site","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:docs.site":"async-pipeline run-task docs.site","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.35"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.2.3_1783809345268_0.4523080632884626","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@async/cli","version":"0.3.0","license":"MIT","_id":"@async/cli@0.3.0","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"homepage":"https://async.github.io/cli/","bugs":{"url":"https://github.com/async/cli/issues"},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"dist":{"shasum":"5cf1038afe62756910febac801345dc2e36dc777","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.3.0.tgz","fileCount":53,"integrity":"sha512-KjK+KChXTkSqdgn+UwYPR1PQMtCNji5rUx0sOPcrl+r30hjlbHjlmKSN0aVoA+kTmQFdf8nd8piN/L8uB0u2Zw==","signatures":[{"sig":"MEQCIG2nlVARMYlpeFuwl+2zSxX9dlkI9mvRPF8Yd+CvEbAuAiAjnBK11jy+Cl25FxaKxUSLqi41AkaOwk0mf2W7AxgVfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":230191},"type":"module","engines":{"node":">=24"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"gitHead":"d9688cf4e4299e00f0c8ba8198b9bad80a440272","scripts":{"test":"pnpm run build && node --test tests/*.test.js","build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","prepack":"pnpm run build","local:link":"pnpm run build && node scripts/local-link.js link","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pipeline:pack":"async-pipeline run-task pack","pipeline:test":"async-pipeline run-task test","release:check":"pnpm run pipeline:verify:force","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:pages":"async-pipeline run-task docs.site","pipeline:verify":"async-pipeline run verify","pipeline:publish":"async-pipeline run publish","pipeline:snapshot":"async-pipeline run snapshot","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:test":"async-pipeline run-task test","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:sync:check":"async-pipeline sync check","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:github:check":"async-pipeline github check","pipeline:verify:force":"async-pipeline run verify --force","pipeline:sync:generate":"async-pipeline sync generate","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:task:docs.site":"async-pipeline run-task docs.site","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:github:generate":"async-pipeline github generate","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:release":"async-pipeline publish github release --package ."},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"repository":{"url":"git+https://github.com/async/cli.git","type":"git"},"_npmVersion":"10.9.8","description":"Filesystem-routed project and user-global commands for Async workspaces.","directories":{},"sideEffects":false,"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@11.7.0","devDependencies":{"typescript":"6.0.3","@types/node":"24.12.4","@async/pipeline":"0.9.35"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.3.0_1783812788661_0.933722687140031","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@async/cli","version":"0.4.0","description":"Filesystem-routed project and user-global commands for Async workspaces.","license":"MIT","type":"module","packageManager":"pnpm@11.7.0","engines":{"node":">=24","deno":">=2.7"},"repository":{"type":"git","url":"git+https://github.com/async/cli.git"},"bugs":{"url":"https://github.com/async/cli/issues"},"homepage":"https://async.github.io/cli/","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./cli":{"types":"./dist/cli.d.ts","default":"./dist/cli.js"}},"bin":{"cli":"dist/cli.js","async-cli":"dist/cli.js"},"scripts":{"build":"tsc -p tsconfig.json && chmod +x dist/cli.js","check":"node scripts/check.js","local:link":"pnpm run build && node scripts/local-link.js link","local:status":"node scripts/local-link.js status","local:unlink":"node scripts/local-link.js unlink","pack:check":"pnpm run build && npm --cache .async/npm-cache pack --dry-run --json --ignore-scripts","pipeline:build":"async-pipeline run-task build","pipeline:check":"async-pipeline run-task check","pipeline:github:check":"async-pipeline github check","pipeline:github:generate":"async-pipeline github generate","pipeline:pack":"async-pipeline run-task pack","pipeline:pages":"async-pipeline run-task docs.site","pipeline:publish":"async-pipeline run publish","pipeline:publish:github:main":"async-pipeline publish github main --package .","pipeline:publish:github:pr":"async-pipeline publish github pr --package .","pipeline:publish:github:release":"async-pipeline publish github release --package .","pipeline:publish:npm":"async-pipeline publish npm --package .","pipeline:release-doctor":"async-pipeline run release-doctor","pipeline:release:doctor":"async-pipeline release doctor --package .","pipeline:release:ensure":"async-pipeline release ensure --package .","pipeline:snapshot":"async-pipeline run snapshot","pipeline:sync:check":"async-pipeline sync check","pipeline:sync:generate":"async-pipeline sync generate","pipeline:task:build":"async-pipeline run-task build","pipeline:task:check":"async-pipeline run-task check","pipeline:task:deno-smoke":"async-pipeline run-task deno-smoke","pipeline:task:docs.site":"async-pipeline run-task docs.site","pipeline:task:github.check":"async-pipeline run-task github.check","pipeline:task:pack":"async-pipeline run-task pack","pipeline:task:sync.check":"async-pipeline run-task sync.check","pipeline:task:test":"async-pipeline run-task test","pipeline:task:typecheck":"async-pipeline run-task typecheck","pipeline:test":"async-pipeline run-task test","pipeline:test:deno":"async-pipeline run-task deno-smoke","pipeline:typecheck":"async-pipeline run-task typecheck","pipeline:verify":"async-pipeline run verify","pipeline:verify:force":"async-pipeline run verify --force","prepack":"pnpm run build","release:check":"pnpm run pipeline:verify:force","test":"pnpm run build && node --test tests/*.test.js","test:deno":"pnpm run pipeline:test:deno"},"publishConfig":{"access":"public"},"sideEffects":false,"devDependencies":{"@async/pipeline":"0.9.35","@types/node":"24.12.4","typescript":"6.0.3"},"_id":"@async/cli@0.4.0","gitHead":"8092c5478687628d9f53d1e2287443cd6e51e23d","_nodeVersion":"24.18.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-ZzEUvWNiX8pqTXxmjUPLLsnvCooJdiSxxNJ+PYE59BOwwmyu4aQHd4HhV+wwUH6VUakVzreUisvErO45ytTq6Q==","shasum":"9f734f928c2008cbd3a5a0d098cb3b4906c56b5a","tarball":"https://registry.npmjs.org/@async/cli/-/cli-0.4.0.tgz","fileCount":53,"unpackedSize":235237,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@async%2fcli@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCmpR8ajGu/wRqV9X8IXZcgQqMaoZhG331eZixp49DKIwIgQ6Ofidcx/5w6Srq2rEQvhfOxMqkG0S43nj1EyjEPpw0="}]},"_npmUser":{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"},"directories":{},"maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.4.0_1784063795551_0.6570912865527176"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-02T06:21:33.526Z","modified":"2026-07-14T21:16:36.007Z","0.1.0":"2026-07-02T06:21:33.844Z","0.1.1":"2026-07-02T06:42:29.958Z","0.1.2":"2026-07-02T22:36:21.508Z","0.2.0":"2026-07-06T08:46:34.956Z","0.2.1":"2026-07-06T18:29:43.242Z","0.2.2":"2026-07-08T20:11:04.780Z","0.2.3":"2026-07-11T22:35:45.417Z","0.3.0":"2026-07-11T23:33:08.797Z","0.4.0":"2026-07-14T21:16:35.716Z"},"bugs":{"url":"https://github.com/async/cli/issues"},"license":"MIT","homepage":"https://async.github.io/cli/","repository":{"type":"git","url":"git+https://github.com/async/cli.git"},"description":"Filesystem-routed project and user-global commands for Async workspaces.","maintainers":[{"name":"jackshelton","email":"me@jackshelton.com"},{"name":"async-npm","email":"async.npm@gdi2290.com"},{"name":"patrickjs","email":"npm.patrickjs@gdi2290.com"}],"readme":"# @async/cli\n\nFilesystem-routed commands for local projects and user-global tools.\n\n`@async/cli` turns directories into a CLI. A command like:\n\n```sh\ncli gh pull 123 --rebase\n```\n\nis routed to a directory, and the words that did not match become the\nscript's arguments:\n\n```text\n.cli/gh/pull/script.ts        argv: [\"123\", \"--rebase\"]\n```\n\nNo registry, no config file, no argument framework. One lookup rule covers\nlocal `.cli/` overlays found from the current directory up to the filesystem\nroot, plus a user-global `~/.cli` for your personal tools. Proven commands get\npromoted from one to the other with a single command.\n\nDocs map: this README is the guided tour. [ROUTING.md](ROUTING.md) is the\nnormative routing rules. [API_SURFACE.md](API_SURFACE.md) is the complete API\nreference. `SPEC.md` is the design contract.\n\n## Install\n\n```sh\npnpm add -D @async/cli    # per project\npnpm add -g @async/cli    # or globally\n```\n\nThe installed `cli` and `async-cli` binaries require Node 24+. Deno 2.7+ is an\nalternate host for the published package:\n\n```sh\ndeno run -A npm:@async/cli/cli --version\n```\n\n`-A` gives the Deno-hosted CLI the same current-user privileges as the Node\nbinary; it is not a sandbox. See [SECURITY.md](SECURITY.md).\n\n## Quick start\n\n```sh\n# scaffold .cli/gh/pull/script.ts in this repo\ncli --new gh pull\n\n# it is immediately runnable (scaffolded overlays are auto-trusted)\ncli gh pull 123 --rebase      # script.ts gets [\"123\", \"--rebase\"]\n\n# see what exists, and what would run\ncli --list\ncli --which gh pull\n\n# promote it to your personal ~/.cli once it earns it\ncli --mv gh pull --to root\n```\n\nCloned a repo that ships its own `.cli/`? Commands are visible immediately\nbut refuse to run until you approve them once:\n\n```sh\ncli --list          # inspection never needs trust\ncli --trust         # approve this repo's overlay, then run normally\n```\n\n## How routing works\n\nThe full rules with worked examples live in [ROUTING.md](ROUTING.md). The\nshort version:\n\n1. Starting at your working directory, walk upward to the filesystem root and\n   collect every `.cli/` directory, nearest first. Append `~/.cli` once, last.\n2. In each tree, look for the longest runnable prefix. A namespace-only match\n   does not stop the search; the first tree with a runnable command wins.\n3. Leftover words become the script's argv. `--` stops word matching early.\n4. `help`, `lib`, `node_modules`, hidden (`.x`), and underscore-prefixed\n   (`_x`) names never route, so helper code can sit next to scripts.\n\nA runnable prefix still shadows farther commands. A local `.cli/gh/script.ts`\ntakes over `gh ...` while you work below that overlay, even when\n`~/.cli/gh/clone` exists. A directory such as `.cli/gh/` with no runnable\nprefix does not block a farther `gh clone`. Local overlays remain trust-gated;\n`cli --list` marks anything shadowed and `cli --which` shows what was hidden.\nResolution reads the current filesystem on every invocation; there is no\ncommand-path cache.\n\n## Writing commands\n\nA command script is a plain ESM program — no SDK, no wrapper. The installed\nbinaries run commands through Node; an explicit Deno invocation runs the same\ncommand tree through Deno:\n\n```ts\n// cli: Open a pull request against main\n// cli-cwd: project-root\nconst [id, ...rest] = process.argv.slice(2);\nconsole.log(`pulling ${id} in ${process.cwd()}`);\n```\n\n| Contract | Detail |\n| --- | --- |\n| Arguments | `process.argv.slice(2)` on both hosts; `Deno.args` is also available under Deno |\n| Description | First line `// cli: ...` shows in `--list`, `--list --json`, and `help` |\n| Working dir | Caller's cwd; `// cli-cwd: project-root` or `script-dir` to change |\n| Stdio / exit | Inherited; your exit code is the command's exit code |\n| Runtime | Node 24+ by default; `deno run -A npm:@async/cli/cli ...` uses Deno 2.7+ |\n| Languages | `.js`/`.mjs` run directly; `.ts`/`.mts` use the selected host's TypeScript support |\n| Helpers | Put shared code in `lib/` or `_anything/` — never routed |\n| Environment | `CLI_SCRIPT`, `CLI_ROOT`, `CLI_SCOPE`, `CLI_PROJECT_ROOT`, `CLI_COMMAND`, `CLI_CALLER_CWD` |\n\nRuntime selection applies to the whole CLI invocation. The router does not\ninfer Deno from a file extension, shebang, or `deno.json`, so the ordinary npm\nbinary remains fully compatible with existing Node commands.\n\nTemplates: keep reusable starting points in `_templates/<name>/` in any\ncommand tree and scaffold from them with `cli --new api users --template\nworker`.\n\n## Managing commands\n\n```sh\ncli --new gh pr                 # nearest local overlay; otherwise ./.cli\ncli --edit gh pr                # open the script in $VISUAL / $EDITOR\ncli --rm gh pr                  # delete (nested commands require --force)\ncli --cp gh pr --to root        # copy local -> user-global\ncli --mv gh pr --to local       # move user-global -> nearest local overlay\n```\n\nTransfers move whole command directories, preserve the command path, refuse\nto overwrite, and warn when a script imports through `../` (such imports may\nbreak outside their original tree).\n\nLocal destinations use the nearest existing `.cli`. If none exists, they use\n`ASYNC_CLI_PROJECT_ROOT/.cli` when configured, or `.cli` in the caller's\nworking directory. Git is not required for command creation or transfers.\n\n## Trust\n\nLocal overlays are arbitrary code that arrives with a `git clone`, and\nshadowing means they can capture commands you type from muscle memory. So\nexecution is gated, direnv-style:\n\n```sh\ncli --trust           # approve the overlays discovered from here\ncli --trust --status  # trusted | changed | untrusted, per overlay\ncli --untrust         # revoke\n```\n\nTrust records a content hash of the whole overlay; any change flips it to\n`changed` and blocks execution (exit 3) until you re-approve. Your own\nactions count as consent: `--new`, `--cp/--mv --to local`, and\n`--add --to local` keep the target overlay trusted without ceremony.\n`~/.cli` is always trusted. Set `ASYNC_CLI_TRUST=off` to disable the gate in\ncontrolled environments (such as CI).\n\n## Sharing commands\n\nAny Git repository with a `.cli/` tree is a command pack:\n\n```sh\ncli --add https://github.com/org/pack.git                # into ~/.cli\ncli --add https://github.com/org/pack.git --prefix vendor # namespaced: cli vendor <cmd>\ncli --add https://github.com/org/pack.git --to local      # into this repo\n```\n\nInstalls are all-or-nothing: conflicts are listed and nothing is written\nunless you pass `--force`.\n\n## Context files and tooling\n\nThe same command tree is discoverable by machines:\n\n```sh\ncli --agents --write   # pin a pointer block into AGENTS.md (--claude for CLAUDE.md)\ncli --list --json      # stable inventory: commands, descriptions, scripts, shadows\n```\n\n`cli --list --json` is the supported machine-discovery surface. It reports the\nlive roots, descriptions from `// cli: ...`, script paths, and shadowing without\nexecuting a command or requiring overlay trust.\n\nThe `--agents` context-file subsystem is the only feature that searches for a\nGit repository boundary: it uses the repository root to place or check\n`AGENTS.md` or `CLAUDE.md`, including during doctor audits. Command discovery\nitself does not consult `.git`.\n\n## Completions\n\n```sh\neval \"$(cli --completions bash)\"    # bash\neval \"$(cli --completions zsh)\"     # zsh\ncli --completions fish | source     # fish\n```\n\nTab-completion covers command segments (shadow-aware) and built-in flags.\n\n## Doctor\n\n```sh\ncli --doctor          # human report, exit 1 on errors\ncli --doctor --json   # { problems, summary } for tooling\n```\n\nFinds ambiguous script directories, `../` imports that break transfers,\nempty command directories, untrusted or drifted overlays, stale `--agents`\nblocks, missing descriptions, and shadowed commands.\n\n## CLI reference\n\n| Command | Does |\n| --- | --- |\n| `cli <words...> [args...]` | Route and run a command |\n| `cli help [prefix]` | Usage, or commands below a prefix |\n| `cli --list [--json]` | Inventory, including shadowed entries |\n| `cli --which <words...>` | Selected script and what it shadows |\n| `cli --new <words...> [--root] [--template <name>]` | Scaffold a command |\n| `cli --edit <words...>` | Open the script in `$VISUAL`/`$EDITOR` |\n| `cli --rm <words...> [--root] [--force]` | Remove a command directory |\n| `cli --cp <words...> [--to root\\|local]` | Copy between trees |\n| `cli --mv <words...> [--to root\\|local]` | Move between trees |\n| `cli --add <git-url> [--to root\\|local] [--prefix <name>] [--force]` | Install a command pack |\n| `cli --trust [--status]` / `cli --untrust` | Manage overlay trust |\n| `cli --doctor [--json]` | Audit the command trees |\n| `cli --completions <bash\\|zsh\\|fish>` | Emit shell completions |\n| `cli --agents [--write\\|--check] [--claude]` | Manage the context pointer block |\n| `cli --version` | Print the package version |\n\nExit codes: the script's own for command runs; `2` for usage and routing\nerrors; `3` for trust refusals; `1` for `--doctor` with errors and\n`--agents --check` drift.\n\n## Development\n\n```sh\npnpm run build\npnpm test\npnpm run pack:check\npnpm run release:check\n```\n\n## Pipeline\n\nThis repo's CI, Pages, previews, and release lifecycle are generated by\n[`@async/pipeline`](https://github.com/async/pipeline) from\n[`pipeline.ts`](./pipeline.ts). Do not hand-edit\n`.github/workflows/async-pipeline.yml` or the locks under `.locks/pipeline/`.\nEdit `pipeline.ts`, then regenerate and check:\n\n```sh\npnpm run pipeline:sync:generate\npnpm run pipeline:sync:check\npnpm run pipeline:github:check\n```\n\nCommon pipeline commands:\n\n```sh\npnpm run pipeline:verify        # local run of the verify job\npnpm run pipeline:pages         # build the docs site task\npnpm run release:check          # forced full verify used before releases\n```\n\nReleases ride the pipeline update train: when `@async/pipeline` publishes a\nrelease, it dispatches an `async-dep-bump` event to this repo, and the\ngenerated `dependency-bump` job bumps the pinned dependency, regenerates the\nsynced surfaces, verifies with `release:check`, and lands on `main` when green\nor opens a pull request when not.\n\nMaintainers who want the shell to prefer this checkout over an npm-installed\ncopy can link the local binaries:\n\n```sh\npnpm run local:link\npnpm run local:status\npnpm run local:unlink\n```\n","readmeFilename":"README.md"}