Base will likely need Go CLIs as Banyan Labs work begins. STANDARDS.md should capture lightweight Go CLI guidance now without committing Base to building a Go framework package.
Scope:
- Add a Go standards section to
STANDARDS.md.
- Recommend Cobra as the default Go CLI framework for non-trivial CLIs.
- Make clear that Base should orchestrate Go CLIs through manifests,
basectl run, and basectl test; Go CLIs should not use base-wrapper.
- Document expected Go CLI behavior: logs to stderr, primary output to stdout, explicit exit codes,
--dry-run/--yes for destructive commands, and JSON output through encoding/json.
- Recommend conventional Go project layout such as
cmd/<tool>/main.go plus internal/....
- State that a future
base-go-cli helper package should be considered only after repeated real boilerplate appears in Banyan Labs or other projects.
Acceptance criteria:
STANDARDS.md includes concise Go CLI guidance.
- The guidance does not overbuild or imply an immediate Base Go framework.
- The changelog records the documentation update.
Base will likely need Go CLIs as Banyan Labs work begins.
STANDARDS.mdshould capture lightweight Go CLI guidance now without committing Base to building a Go framework package.Scope:
STANDARDS.md.basectl run, andbasectl test; Go CLIs should not usebase-wrapper.--dry-run/--yesfor destructive commands, and JSON output throughencoding/json.cmd/<tool>/main.goplusinternal/....base-go-clihelper package should be considered only after repeated real boilerplate appears in Banyan Labs or other projects.Acceptance criteria:
STANDARDS.mdincludes concise Go CLI guidance.