Skip to content

refactor!: adopt verb-first CLI commands - #11

Merged
ashishmax31 merged 2 commits into
mainfrom
feat/kubectl-cli
Aug 9, 2026
Merged

refactor!: adopt verb-first CLI commands#11
ashishmax31 merged 2 commits into
mainfrom
feat/kubectl-cli

Conversation

@ashishmax31

Copy link
Copy Markdown
Contributor

Summary

  • replace resource-first command groups with strict verb-first get, list, describe, create, update, and delete routes
  • split stack persistence (apply) from release creation while keeping deploy as apply + release
  • add agent-readable command descriptions/examples, grouped discovery, concise build logs, resource status filtering, and corrective usage errors
  • remove legacy command paths and update tests and recovery text

Breaking changes

  • old paths such as stackdome build list, stackdome secret create, and stackdome stack use are removed
  • use stackdome get builds, stackdome create secret, and stackdome use stack
  • apply saves only; create release releases saved state; deploy performs both

Verification

Automated:

  • go vet ./...
  • go test ./... -count=1
  • make build
  • built-binary root and verb help smoke tests

Live against https://stackdome.io with an ephemeral API-token override:

  • all 78 documented command/help paths returned success
  • whoami, config redaction, stack/build/release/event/volume/secret/PostgreSQL/token reads, status filtering, runtime logs, structured open, export, schema, completion, validation, and authenticated API GET were exercised
  • all get/list collection aliases and get/describe detail aliases returned matching live results
  • isolated secret lifecycle passed: create → get → update → describe → delete → verified not found
  • isolated API-token lifecycle passed: create → list → revoke → verified absent; generated token value was not logged
  • isolated saved-stack lifecycle passed: init → validate → apply (no release) → get/describe → delete → verified not found
  • disruptive paths (release/cancel/rollback, restart, volume/PostgreSQL mutation, deploy, context persistence) were exercised through safe not-found or validation paths without changing existing workloads or provisioning infrastructure
  • legacy noun-first routes and singular/plural grammar mistakes returned exit code 4 with corrective guidance

Live finding

stackdome doctor -o json authenticates and reaches the server successfully, but exits 1 because the server reports an empty signup-default project while the explicitly scoped default project works for all resource calls. This appears to be an existing doctor/project-discovery compatibility issue rather than a command-tree regression.

@ashishmax31
ashishmax31 merged commit 1992bc7 into main Aug 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant