CLI reference Stable
The tenkacloud pack CLI is the offline pack tool. Local-directory commands do not call cloud services; Git installation contacts its HTTPS source. The command table below is normative reference parsed
from the CLI's own usage strings, so the documented command names and options
always match the code.
Current launch commands are make local and state-preserving make down. make deploy requires reviewed AWS setup. make destroy confirms targets and deletes platform-owned data by default. It leaves external Turso rows; make destroy-all explicitly resets them. Exercise cleanup uses event Teardown before platform removal. Cloud hosting restores the SBT-free Lite backend with Lambda and Cognito, selectable Turso or DynamoDB, generic CloudFormation deployment, flag/multi-flag and scheduled scoring, participant Console/CLI access, and native coordination including Cryptography Battle. Docker/Compose exercises are local-only and are not listed in the cloud catalog. Live AWS and hosted Turso event capacity remain unverified. Pack activate/deactivate select revisions for the next Cloud deployment (--tenant local, default store); Local hosting does not consume Pack activation records.
Original unpinned Lite installations require a one-time confirmation that no active competitions remain, after resource/schema checks and before bootstrap, source upload or deployment. Keep active competitions on their installed version until completion. After verifying that condition, confirm interactively or use CLOUD_ARGS="--confirm-no-active-events" for a noninteractive upgrade; generic --yes cannot bypass this check. A legacy catalog key alone does not prove a safe upgrade, and historical data is not migrated automatically. New and already-restored installations keep ordinary automatic make deploy behavior.
Commands
| Command | Usage |
|---|---|
activate | tenkacloud pack activate <id@version> --tenant <t> [--store <dir>] |
deactivate | tenkacloud pack deactivate <id@version> --tenant <t> [--store <dir>] |
init | tenkacloud pack init <dir> [--runtime <provider/engine>] |
inspect | tenkacloud pack inspect <id@version> [--store <dir>] [--json] |
install | tenkacloud pack install <dir> [--store <dir>]\n |
list | tenkacloud pack list [--store <dir>] [--json] |
remove | tenkacloud pack remove <id@version> [--store <dir>] [--pins <file>] |
validate | tenkacloud pack validate <dir> [--json] |
Exit codes
The exit-code contract is shared by every subcommand:
0— success (valid pack / scaffolded / installed / listed / inspected / removed)1— refusal (validation failure / digest or compose conflict / not installed / pinned removal)2— tool failure (missing dir / missing manifest / bad usage / unsafe init target / unsupported runtime / missing flag value)
There is deliberately no update command: a new version is a separate install.
Example
The example below is illustrative, not normative.
bun run pack init ./my-pack --runtime aws/cloudformation
bun run pack validate ./my-pack --json
bun run pack install ./my-pack
Related: validation error reference.