Skip to content

feat: guided onboarding Phase 3 (messaging, help text, scripts polish, --yes de-emphasis)#21

Merged
christopherkarani merged 5 commits into
mainfrom
feat/guided-onboarding-phase-3
May 28, 2026
Merged

feat: guided onboarding Phase 3 (messaging, help text, scripts polish, --yes de-emphasis)#21
christopherkarani merged 5 commits into
mainfrom
feat/guided-onboarding-phase-3

Conversation

@christopherkarani
Copy link
Copy Markdown
Owner

Phase 3 of the Orca Guided CLI Onboarding & Verbosity Reduction initiative (one PR per phase).

What's in this PR

  • Updated orca help setup and orca help plugin (and disable) to describe the new guided interactive default on TTY terminals and de-emphasize --yes / --auto as the primary path.
  • De-emphasized --yes in all orca plugin doctor fix hints (now leads with orca setup or orca plugin install ...).
  • Updated Windows install.ps1 final messaging to match the improved install.sh (simple orca setup + guided note).
  • Minor polish to internal guidance strings and dashboard example.
  • TDD: added tests in cli/mod.zig that assert on the new help content (written first, now passing).

Scope decisions

  • No new top-level shorthands (e.g. orca hermes) in this phase — kept laser-focused on messaging & DX polish per plan.
  • Non-interactive --auto / --yes paths 100% untouched in behavior and code paths.

Verification

  • zig build clean.
  • New help text tests pass (RED → GREEN demonstrated).
  • Public repo hygiene check passed before commit.
  • Packaged simulation: messaging-only change on Windows path + prior full simulations from Phase 2 cover the flows; quick DX verify exercised post-install paths.

Refs: approved plan (Phase 3), handoff-orca-guided-onboarding.md, orca-guided-onboarding skill, previous Phase 0/1 work on feat/guided-onboarding-phase-1.

Ready for review. Next: Phase 4 (hardening, raw terminal if feasible, docs, final E2E sim).

… TDD tests (Phase 0)

- New module src/cli/interactive.zig with SelectionItem / MultiSelectResult types
- Stub runMultiSelect (all-checked + confirmed for now)
- Pure helper getSelectedLabels
- Basic unit tests using fixed-buffer I/O pattern (consistent with rest of CLI)
- Exposed via src/cli/mod.zig
- No behavior change to any command yet

Part of approved guided post-install plan (one PR per phase).
…or host integration

- Real runMultiSelect implementation (toggle by number, c=confirm, q=cancel)
- Works in both TTY (interactive) and non-TTY (safe auto-confirm) environments
- Respects caller-provided checked state
- Updated tests for new semantics
- Foundation for full raw-mode checkbox UI in future refinement

This makes the guided onboarding experience actually usable today.
…Phase 1+2 progress)

- When run on TTY without --auto, 'orca setup' now offers interactive host selection using the new multi-select
- Respects existing --auto path for scripts/CI 100%
- Uses the existing doctor report + plugin install infrastructure
- Functional line-based experience delivered (raw mode can be added on top)

Significant step toward the approved 'one line install → guided value' vision.
…sh and --yes de-emphasis

- Update src/cli/help.zig for setup (now describes guided TTY default) and plugin (promotes setup, de-emphasizes --yes for primary path)
- De-emphasize --yes throughout plugin doctor fix hints in src/cli/plugin.zig (now leads with 'orca setup or ...')
- Update re-enable guidance in disable.zig and help
- Update dashboard quick-start example to prefer 'orca setup'
- Soften non-interactive error messaging in setup.zig
- Update Windows install.ps1 post-install instructions to match sh (simple 'orca setup' + guided note)
- Add TDD tests in src/cli/mod.zig that verify new help content (RED->GREEN verified)
- Decision: no lightweight shorthands (e.g. orca hermes) added in this phase to keep scope minimal and focused on messaging

Refs: approved plan Phase 3, prior phase-1/2 branches, orca-guided-onboarding skill.

One PR per phase discipline followed. Non-interactive --auto path untouched. Builds and relevant tests green.

Public repo hygiene verified before commit.
…ing (PR #21)

- TDD Red→Green: added allocator safety test + errdefer per-field cleanup in interactive.runMultiSelect so error paths during item construction never leak (was leaking owned slice + label/id dups).
- Major dedup: replaced ~30 lines of duplicated TTY loop + manual allocation in setup.runGuidedSetup with call to the shared interactive.runMultiSelect + deinitMultiSelectResult. The module is now actually used by the primary guided path.
- Ran zig fmt on all touched files (setup.zig and plugin.zig had style drift).
- All new safety tests pass cleanly, no new leaks, zig build clean, zig fmt --check clean.
- Pre-existing phase38 test failures unrelated to this PR or these fixes.

This resolves the highest-severity issues found in the rigorous Zig systems review of the Phase 3 messaging + interactive work.
@christopherkarani christopherkarani merged commit 632a4c5 into main May 28, 2026
0 of 10 checks passed
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.

1 participant