rpk: formal command status field (experimental/beta) instead of ad-hoc help-text markers
Author: JakeSCahillCreated Aug 11, 2026Updated Aug 11, 2026
Problem
rpk has no structured way to mark a command's maturity. Today:
rpk connect plugin initopens its help text with a literal!!EXPERIMENTAL!!— it tells the user nothing about what experimental means (Can the interface change without notice? Is it supported? Will it be removed?), and tooling can't reliably detect it.- Deprecation is handled properly (cobra's native
Deprecated), but there's no equivalent for experimental/beta/preview. --print-tree(the JSON surface for automation, see #31520) has no way to expose maturity, so the docs pipeline can't render its existingbadge::[label=beta]-style badges for rpk commands automatically — docs maintain that state by hand.
Proposal
A formal status marker on commands (and ideally flags), with a defined vocabulary:
- Convention: cobra
Annotations, for exampleAnnotations["redpanda.com/status"] = "experimental"plus an optionalredpanda.com/status-notefor specifics. GA is the unmarked default;deprecatedstays on cobra's native field. - Defined meanings documented once (for example: experimental = interface and behavior may change or be removed without notice, not covered by support SLAs; beta = interface stable-ish, feedback wanted, supported with caveats). The definitions are the point — a marker without semantics is just louder punctuation.
- Help rendering: rpk renders a consistent one-line notice from the status (replacing hand-written
!!EXPERIMENTAL!!), so every marked command explains itself the same way. --print-tree: exposestatus/status_noteper command so docs and other tooling consume it structurally. The docs site already has badge macros (beta,deprecated,enterprise) that could then be applied automatically.- Plugins:
rpk connect,rpk ai, etc. build their command trees in their own repos — the annotation convention should be shared so statuses flow through the merged tree.
Context
Proposed by the docs team (DOC-130 reliability work) while auditing rpk help text against docs overrides; related PRs: #31520 (single-source -X flag docs in --print-tree), #31521 (help-text copyedits from the same audit).
Generated with Claude Code
Source: redpanda-data/redpanda