Context
This is the implementation follow-up for #12 after the captain accepted the greenfield Akua CLI direction.
The old akua-dev/cli codebase is CNAP-era Go code. Do not treat this as a module-path rename. Build the first akua CLI as a Bun/TypeScript, codegen-heavy CLI in this separate open-source repo.
Decisions Already Made
- Binary:
akua.
- Runtime: Bun + TypeScript.
- Packaging goal: self-contained CLI artifact produced by Bun.
- Repository:
akua-dev/cli.
- First release: public API commands only.
- Default output: adaptive.
- Agent/automation mode when well-known coding-agent environment variables, non-TTY, or CI-style signals are present.
- Human-friendly output otherwise.
- Legacy compatibility: no support required for old
cnap or github.com/cnap-tech/cli.
- Live spec source:
https://api.akua.dev/v1/openapi.json.
- Include a mise task to fetch the latest production OpenAPI spec for codegen.
Implementation Plan
Phase 1: Scaffold And Spec Fetch
Phase 2: CLI Runtime Contract
Phase 3: Public Command MVP
Phase 4: Mutations And Safety
Phase 5: Release
Acceptance Criteria
Related
Context
This is the implementation follow-up for #12 after the captain accepted the greenfield Akua CLI direction.
The old
akua-dev/clicodebase is CNAP-era Go code. Do not treat this as a module-path rename. Build the firstakuaCLI as a Bun/TypeScript, codegen-heavy CLI in this separate open-source repo.Decisions Already Made
akua.akua-dev/cli.cnaporgithub.com/cnap-tech/cli.https://api.akua.dev/v1/openapi.json.Implementation Plan
Phase 1: Scaffold And Spec Fetch
akuaCLI.spec:fetchthat downloadshttps://api.akua.dev/v1/openapi.jsoninto a committed or generated spec location.Phase 2: CLI Runtime Contract
Phase 3: Public Command MVP
akua auth.Phase 4: Mutations And Safety
--yes/--forcefor destructive noninteractive actions.--dry-run,--wait, and streaming/NDJSON behavior where relevant.Phase 5: Release
akua.akua --help.Acceptance Criteria
akua --helpworks from the self-contained artifact.mise run spec:fetchfetcheshttps://api.akua.dev/v1/openapi.json.cnapcompatibility is required or implemented unless a later captain decision changes that.Related
data/akua-cli-greenfield-plan-scout/report.mdin the Akua secondmate home.