Conversation
Add Experimental field to CommandInfo (omitempty JSON) and mark the tui entry. The `basecamp commands` output prefixes experimental descriptions with [experimental]; the JSON response includes the boolean field. Cobra Short/Long get the [experimental] tag and active-development disclaimer. An annotation on the command provides a hook for future generic detection. A one-time-per-version stderr advisory prints on first `basecamp tui` invocation, gated by a sentinel file in CacheDir. Resets on upgrade so the notice resurfaces when experimental behavior is most likely to have changed.
Add experimentalBadge field and SetExperimental setter to Breadcrumb. When enabled, renders an [experimental] badge in Warning color before the account badge. Wire SetExperimental(true) in Workspace.New() — hardcoded since the TUI is the only workspace entry point. Promotion to stable is just removing the call.
There was a problem hiding this comment.
Pull request overview
Adds “experimental” labeling for the TUI feature across the CLI surface area (help text, basecamp commands catalog, and in-TUI breadcrumb chrome) and introduces a one-time-per-version stderr advisory on first basecamp tui invocation.
Changes:
- Add an
[experimental]badge to the TUI breadcrumb chrome. - Mark the
tuiCobra command as experimental (help text + annotations) and print a per-version one-time stderr notice. - Extend the
basecamp commandscatalog schema with anexperimentalboolean and label experimental entries in human output.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| internal/tui/workspace/workspace.go | Enables the experimental breadcrumb badge for the TUI workspace. |
| internal/tui/workspace/chrome/breadcrumb.go | Adds an experimental badge option and renders it in the breadcrumb. |
| internal/commands/tui.go | Marks the tui command as experimental and adds a per-version one-time stderr notice. |
| internal/commands/commands.go | Adds experimental to command catalog JSON and prefixes experimental entries in the catalog output. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Guard printExperimentalNotice against empty cacheDir - Suppress fmt.Fprintf return values for errcheck/lint - Tighten sentinel file permissions to 0700/0600 - Gate [experimental] description prefix to human output only; JSON relies on the Experimental bool field without mutation - Add unit tests for sentinel lifecycle (once-per-version, empty cache dir, version upgrade resurface)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
[experimental]labels to the TUI command everywhere it's visible: Cobra help,basecamp commandscatalog (text and JSON), and TUI breadcrumb chromebasecamp tuiinvocation, resurfacing on upgradeTest plan
basecamp --help—tuiline shows[experimental]basecamp commands— TUI entry shows[experimental]prefixbasecamp commands --json—experimental: truefield present on TUI entrybasecamp tui— stderr advisory prints on first runbasecamp tui— no stderr advisory (sentinel cached)make test— all packages pass, catalog parity test passesbasecamp tui— breadcrumb shows[experimental]badge in Warning color (requires TTY, visual)