@@ -26,8 +26,18 @@ The visible CLI is organized around a set of noun groups plus a small set of
2626top-level verbs. The groups are the canonical home for each verb; legacy
2727top-level shortcuts remain functional but hidden, and emit a deprecation hint
2828pointing at the canonical group form. Newer experimental command families are
29- discoverable through ` entire labs ` and may remain hidden from root help while
30- their canonical paths are still runnable.
29+ discoverable through ` entire labs ` and their canonical paths are always
30+ runnable.
31+
32+ Experimental commands are gated by a build-time visibility flag (the
33+ ` cmd/entire/cli/experimental ` package): they are shown — grouped under an
34+ "Experimental commands:" help section — in developer and nightly builds, and
35+ hidden in stable release builds. Visibility is toggled by ` experimental.Visible `
36+ (default ` "true" ` ), which GoReleaser stamps ` "false" ` only on stable tags
37+ (` .Prerelease ` empty); nightly (` vX.Y.Z-nightly.* ` ) and local builds leave it at
38+ the default. Register a command as experimental with `experimental.Register(parent,
39+ child)` instead of ` parent.AddCommand(child)`. Gating only controls visibility —
40+ the commands are always runnable in every build.
3141
3242- ` session ` (alias: ` sessions ` ): ` list ` , ` info ` , ` tokens ` , ` stop ` , ` attach ` , ` adopt ` , ` resume ` , ` current ` .
3343 ` resume ` with a branch arg switches to it and resumes its session; with no arg
@@ -66,9 +76,12 @@ their canonical paths are still runnable.
6676- ` grant ` : manage access grants and org membership — ` org ` , ` project ` , and ` repo `
6777 each support ` add ` / ` list ` / ` remove `
6878
69- Experimental command families advertised through ` entire labs ` :
70-
71- - ` tokens ` : ` profile ` (hidden from root help while token diagnostics mature)
79+ Experimental commands (gated by the build-time visibility flag above — visible
80+ and grouped under "Experimental commands:" in developer/nightly builds, hidden
81+ in stable releases, always runnable): ` tokens ` , ` import ` , ` review ` ,
82+ ` investigate ` , ` blame ` , ` why ` , the top-level ` search ` shortcut, ` experts ` ,
83+ ` runner ` , and ` checkpoint policy ` . ` tokens ` is also advertised through `entire
84+ labs` . The canonical ` checkpoint search` is not gated and stays visible.
7285
7386Top-level lifecycle and standalone commands: ` enable ` , ` disable ` , ` status ` ,
7487` login ` , ` logout ` , ` clean ` , ` version ` , ` dispatch ` , ` activity ` , ` help ` ,
@@ -91,7 +104,10 @@ one command's current flags; `--json` emits structured output. It is the single
91104source of truth the first-turn context injection and the ` --agent-help-skill `
92105skill point agents at, instead of enumerating a surface that goes stale.
93106Hidden commands opt into being advertised here by setting
94- ` Annotations[agentHelpAnnotation] = "true" ` (e.g. ` trail ` ).
107+ ` Annotations[agentHelpAnnotation] = "true" ` (e.g. ` trail ` ). Because ` agent-help `
108+ renders live and lists non-hidden commands, the experimental commands appear in
109+ ` agent-help ` in developer/nightly builds and are absent in stable releases — the
110+ advertised surface is build-dependent, matching what ` entire help ` shows.
95111No-channel agents (Cursor, Copilot CLI, Factory Droid, MCP hosts — no
96112context-injection channel and no agent-help skill template) reach it without an
97113active push. All of them can discover it passively: it is visible in `entire
@@ -107,7 +123,9 @@ Hidden top-level shortcuts (functional, emit a one-line deprecation hint):
107123` resume ` → ` session resume ` , ` attach ` → ` session attach ` , ` explain ` →
108124` checkpoint explain ` , ` trace ` → ` doctor trace ` .
109125Cobra-native aliases (no hint): ` sessions ` → ` session ` , ` cp ` /` checkpoints ` →
110- ` checkpoint ` . The ` search ` top-level remains hidden without a hint.
126+ ` checkpoint ` . The ` search ` top-level is experimental (see the visibility gate
127+ above), so it follows the build-dependent visibility rather than being
128+ unconditionally hidden.
111129
112130Deprecated top-level commands (functional, print a cobra deprecation message):
113131` reset ` → ` clean ` , and ` rewind ` (no replacement, announces removal — same
0 commit comments