Merge pull request #1672 from entireio/soph/promote-control-plane-commands-out-of-labs · Entire

Merge pull request #1672 from entireio/soph/promote-control-plane-commands-out-of-labs

724609a→main· Soph·1w ago·8 files·+32 added/-52 removed

Promote org/project/repo/grant out of labs

Changes

8

21 unmodified lines

22
23
24
25
25
26
27
28
29 unmodified lines

58
59
60
61
62
63
64
65
66
67
68
69
70

21 unmodified lines

### Command Layout

The visible CLI is organized around five noun groups plus a small set of top-level verbs. The groups are the canonical home for each verb; legacy top-level shortcuts remain functional but hidden, and emit a deprecation hint pointing at the canonical group form. Newer experimental command families are

29 unmodified lines

takes `--everywhere` (revoke every session on the active core, not just the current one) and `--all-contexts` (log out of every saved login)
- `doctor`: bare runs the scan-and-fix flow, plus `trace`, `logs`, `bundle`
- `org`: control-plane organization management — `create`, `list`, `get`, `delete`
- `project`: control-plane project management — `create`, `list`, `get`, `delete`
- `repo`: control-plane repository lifecycle — `create`, `list`, `get`, `delete`, `clone`, plus the `mirror` and `visibility` subtrees. Git content operations (log, diff, …) are intentionally out of scope.
- `grant`: manage access grants and org membership — `org`, `project`, and `repo` each support `add` / `list` / `remove`

Experimental command families advertised through `entire labs`:

| entire checkpoint explain | Explain a session, commit, or checkpoint | | entire checkpoint rewind | Rewind to a previous checkpoint (deprecated, will be removed in a future release) | | entire login | Authenticate the CLI with Entire device auth | | entire org | Manage Entire organizations (create, list, get, delete) | | entire project | Manage Entire projects (create, list, get, delete) | | entire repo | Manage Entire repositories (create, list, get, delete, clone, mirror, visibility) | | entire grant | Manage access grants and org membership (org, project, repo) | | entire session | View and manage agent sessions tracked by Entire | | entire session resume | Switch to a branch, restore latest checkpointed session metadata, and show command(s) | | entire session attach | Attach to a previously detached session |


MREADME.md+4

41 unmodified lines

42 43 44 45 45 46 47 47 48 49 50 1 unmodified line

52 53 54 55 56 57 55 56 57 58 59

41 unmodified lines

} }

// newGrantCmd is the hidden entire grant command group: manage access // newGrantCmd is the entire grant command group: manage access // grants and org membership on the Entire control plane. Org, project, and // repo each support add / list / remove. Surfaced via entire labs. // repo each support add / list / remove. // // Grantees are addressed by a provider-qualified handle (e.g. github:alice), // which the CLI resolves to the provider account behind the scenes. remove 1 unmodified line

// repo) are addressed by name or ULID. func newGrantCmd() *cobra.Command { cmd := &cobra.Command{ Use: "grant", Short: "Manage Entire access grants and org membership", Hidden: true, Use: "grant", Short: "Manage Entire access grants and org membership", } addControlPlaneFlags(cmd) cmd.AddCommand(newGrantOrgCmd()) }


Mcmd/entire/cli/grant.go+4/-5

44 unmodified lines

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 48 49 50 54 unmodified lines

105 106 107 128 129 130 131 108 109 110

44 unmodified lines

Invocation: "entire session tokens", Summary: "Show token usage and recommendations for a session", }, { CommandPath: []string{"org"}, Invocation: "entire org", Summary: "Manage Entire organizations (create, list, get, delete)", }, { CommandPath: []string{"project"}, Invocation: "entire project", Summary: "Manage Entire projects (create, list, get, delete)", }, { CommandPath: []string{"repo"}, Invocation: "entire repo", Summary: "Manage Entire repositories (create, list, get, delete, clone, mirror, visibility)", }, { CommandPath: []string{"grant"}, Invocation: "entire grant", Summary: "Manage access grants and org membership (org, project, repo)", }, { CommandPath: []string{"blame"}, Invocation: "entire blame", 44 unmodified lines

entire tokens --help entire tokens profile --help entire session tokens --help entire org --help entire project --help entire repo --help entire grant --help entire blame --help entire why --help entire experts --help


Mcmd/entire/cli/labs.go-24

8 unmodified lines

9 10 11 12 13 14 12 13 14 15 17 18 19 16 17 18 19 20

8 unmodified lines

"github.com/entireio/cli/internal/coreapi"

// newOrgCmd is the hidden entire org command group: create, list, get, and // delete organizations on the Entire control plane. Surfaced via entire // labs while the control-plane surface matures. // newOrgCmd is the entire org command group: create, list, get, and // delete organizations on the Entire control plane. func newOrgCmd() *cobra.Command { cmd := &cobra.Command{ Use: "org", Short: "Manage Entire organizations", Hidden: true, Use: "org", Short: "Manage Entire organizations", } addControlPlaneFlags(cmd) cmd.AddCommand(newOrgCreateCmd()) }


Mcmd/entire/cli/org.go+4/-6

8 unmodified lines

9 10 11 12 13 14 12 13 14 15 17 18 19 16 17 18 19 20

8 unmodified lines

"github.com/entireio/cli/internal/coreapi"

// newProjectCmd is the hidden entire project command group: create, list, // get, and delete projects on the Entire control plane. Surfaced via entire // labs. // newProjectCmd is the entire project command group: create, list, // get, and delete projects on the Entire control plane. func newProjectCmd() *cobra.Command { cmd := &cobra.Command{ Use: "project", Short: "Manage Entire projects", Hidden: true, Use: "project", Short: "Manage Entire projects", } addControlPlaneFlags(cmd) cmd.AddCommand(newProjectCreateCmd()) }


Mcmd/entire/cli/project.go+4/-6

11 unmodified lines

12 13 14 15 15 16 17 18 19 20 19 20 21 23 24 25 22 23 24 25 26

11 unmodified lines

"github.com/entireio/cli/internal/coreapi"

// newRepoCmd is the hidden entire repo command group: control-plane // newRepoCmd is the entire repo command group: control-plane // repository lifecycle (create, list within a project, get, delete), the // mirror and visibility subtrees, plus the clone convenience that // resolves a mirror and shells out to git clone. Other git content // operations (log, diff, …) remain intentionally out of scope here. Surfaced // via entire labs. // operations (log, diff, …) remain intentionally out of scope here. func newRepoCmd() *cobra.Command { cmd := &cobra.Command{ Use: "repo", Short: "Manage Entire repositories", Hidden: true, Use: "repo", Short: "Manage Entire repositories", } addControlPlaneFlags(cmd) cmd.AddCommand(newRepoCreateCmd()) }


Mcmd/entire/cli/repo.go+4/-6

93 unmodified lines

94 95 96 97 98 99 100 101 102 103 104 101 102 103 104 105 106 107

93 unmodified lines

cmd.AddCommand(newLabsCmd()) // 'labs' (experimental workflow discovery) cmd.AddCommand(newPluginGroupCmd()) // 'plugin' (managed install/list/remove) cmd.AddCommand(newImportCmd()) // 'import' (hidden; import pre-existing agent history) cmd.AddCommand(newOrgCmd()) // 'org' — control-plane org management cmd.AddCommand(newProjectCmd()) // 'project' — control-plane project management cmd.AddCommand(newRepoCmd()) // 'repo' — control-plane repo lifecycle cmd.AddCommand(newGrantCmd()) // 'grant' — control-plane access grants

// Top-level lifecycle and standalone commands. cmd.AddCommand(cliReview.NewCommand(buildReviewDeps())) // review; hidden during maturation cmd.AddCommand(investigate.NewCommand(buildInvestigateDeps())) // hidden during maturation; runs a multi-agent investigation cmd.AddCommand(newOrgCmd()) // hidden during maturation; control-plane org management cmd.AddCommand(newProjectCmd()) // hidden during maturation; control-plane project management cmd.AddCommand(newRepoCmd()) // hidden during maturation; control-plane repo lifecycle cmd.AddCommand(newGrantCmd()) // hidden during maturation; control-plane access grants cmd.AddCommand(newCleanCmd()) cmd.AddCommand(newSetupCmd()) // 'configure' — non-agent settings; agent CRUD lives under 'agent' cmd.AddCommand(newEnableCmd()) }