Experimental feature labels for v0.1.0 by jeremy · Pull Request #158 · basecamp/basecamp-cli

added 2 commits

February 24, 2026 23:20
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

@jeremy

- 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)