Skip to content

Onboarding polish: Free Mode mention, provider neutrality, F1 hint (closes #60)#69

Merged
BunsDev merged 1 commit into
mainfrom
fix/60-onboarding-polish
Jun 11, 2026
Merged

Onboarding polish: Free Mode mention, provider neutrality, F1 hint (closes #60)#69
BunsDev merged 1 commit into
mainfrom
fix/60-onboarding-polish

Conversation

@BunsDev

@BunsDev BunsDev commented Jun 11, 2026

Copy link
Copy Markdown
Member

Summary

Works through issue #60. The investigation surfaced a bigger problem than the issue described: the provider-setup page was unreachable dead codeshow_provider_setup() was never called, so first-run users with no credentials landed on the generic Welcome page and never saw the provider list at all.

Changes

  • Wire the provider-setup page into the first-run flow. No credentials → ProviderSetup → Welcome → KeyBindings, with dynamic n/3 progress labels and working back-navigation (Welcome ← → ProviderSetup only in this flow; credentialed entry keeps the 2-page flow).
  • Free Mode leads the page/connect → "Free", no API key (experimental). README's headline feature, previously absent from onboarding.
  • Neutral provider ordering — no vendor privileged: Ollama (local, no key) first, then key-based providers alphabetically (Anthropic, Google, Groq, OpenAI). The list is now data-driven (PROVIDER_ENTRIES), replacing ~150 lines of copy-pasted spans and removing the page's duplicated footer.
  • F1 (toggle help overlay) added to the keybindings page. (F2/Alt+H/Ctrl+B/Tab were already added by the Keybinding discoverability: F2, Alt+H, Ctrl+B, and Tab mode cycling are hinted nowhere #56 work.)

Tests

  • New: onboarding_provider_setup_flow (page graph + progress labels), provider_setup_renders_free_mode_first_and_neutral_order (render-level ordering assertion)
  • Updated: onboarding_prev_page covers the non-provider entry path
  • cargo test -p claurst-tui: 621 passed, 0 failed; CLI crate green

Closes #60.

🤖 Generated with Claude Code

Closes #60.

- Wire up the previously unreachable provider-setup page: first run with
  no credentials now opens it (was dead code — main.rs always called
  show(), landing on Welcome), and the flow continues ProviderSetup →
  Welcome → KeyBindings with correct n/3 progress labels and
  back-navigation.
- Lead the provider page with a Free Mode entry (/connect → "Free",
  no API key) — README's headline feature was never mentioned in
  onboarding.
- Neutral provider ordering: no vendor privileged. Ollama (local, no
  key) first, then key-based providers alphabetically (Anthropic,
  Google, Groq, OpenAI). Entries are data-driven (PROVIDER_ENTRIES)
  instead of 150 lines of copy-pasted spans, which also removes the
  duplicated footer lines.
- Add the missing F1 (toggle help overlay) row to the keybindings page.
- New tests: provider-setup flow/progress and a render test asserting
  Free Mode leads and the neutral ordering holds.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 11, 2026 04:02
@vercel

vercel Bot commented Jun 11, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview Jun 11, 2026 4:02am

@BunsDev BunsDev merged commit 6c6cff7 into main Jun 11, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes the first-run onboarding flow so users without configured credentials are shown a provider setup page (including Free Mode guidance) before proceeding through the existing Welcome and KeyBindings onboarding pages, and adds an F1 help hint to the keybindings list.

Changes:

  • Wires ProviderSetup into the first-run onboarding flow when no credentials are detected, including updated page progression and back-navigation behavior.
  • Refactors the provider setup UI into a data-driven list (PROVIDER_ENTRIES) and adds a prominent Free Mode hint (/connect → “Free”).
  • Adds “F1: toggle help overlay” to the onboarding keybindings page and updates startup logic to show provider setup instead of the generic welcome page.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src-rust/crates/tui/src/onboarding_dialog.rs Adds provider-setup entry flow state/progress tracking, refactors provider list rendering, and updates onboarding pages + tests (including Free Mode + F1 hint).
src-rust/crates/cli/src/main.rs Hooks the provider-setup onboarding entry point into the interactive startup path when credentials are missing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 309 to 311
Paragraph::new(lines)
.wrap(Wrap { trim: false })
.render(inner, frame.buffer_mut());
@BunsDev BunsDev deleted the fix/60-onboarding-polish branch June 11, 2026 05:54
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.

Onboarding polish: Free Mode mention, provider neutrality, missing keys

2 participants