Skip to content

Experimental feature labels for v0.1.0#158

Merged
jeremy merged 3 commits intomainfrom
experimental
Feb 25, 2026
Merged

Experimental feature labels for v0.1.0#158
jeremy merged 3 commits intomainfrom
experimental

Conversation

@jeremy
Copy link
Member

@jeremy jeremy commented Feb 25, 2026

Summary

  • Add [experimental] labels to the TUI command everywhere it's visible: Cobra help, basecamp commands catalog (text and JSON), and TUI breadcrumb chrome
  • One-time-per-version stderr advisory on first basecamp tui invocation, resurfacing on upgrade
  • Label-only — no gating, no config keys. Promotion to stable is just removing annotations.

Test plan

  • basecamp --helptui line shows [experimental]
  • basecamp commands — TUI entry shows [experimental] prefix
  • basecamp commands --jsonexperimental: true field present on TUI entry
  • basecamp tui — stderr advisory prints on first run
  • Second basecamp tui — no stderr advisory (sentinel cached)
  • make test — all packages pass, catalog parity test passes
  • basecamp tui — breadcrumb shows [experimental] badge in Warning color (requires TTY, visual)

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.
Copilot AI review requested due to automatic review settings February 25, 2026 07:21
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 tui Cobra command as experimental (help text + annotations) and print a per-version one-time stderr notice.
  • Extend the basecamp commands catalog schema with an experimental boolean 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)
@jeremy jeremy enabled auto-merge (squash) February 25, 2026 07:36
@jeremy jeremy merged commit 8df55da into main Feb 25, 2026
10 checks passed
@jeremy jeremy deleted the experimental branch February 25, 2026 07:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants