Onboarding polish: Free Mode mention, provider neutrality, F1 hint (closes #60)#69
Merged
Conversation
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>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
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
ProviderSetupinto 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()); |
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
Works through issue #60. The investigation surfaced a bigger problem than the issue described: the provider-setup page was unreachable dead code —
show_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
n/3progress labels and working back-navigation (Welcome ← → ProviderSetup only in this flow; credentialed entry keeps the 2-page flow)./connect→ "Free", no API key (experimental). README's headline feature, previously absent from onboarding.PROVIDER_ENTRIES), replacing ~150 lines of copy-pasted spans and removing the page's duplicated footer.Tests
onboarding_provider_setup_flow(page graph + progress labels),provider_setup_renders_free_mode_first_and_neutral_order(render-level ordering assertion)onboarding_prev_pagecovers the non-provider entry pathcargo test -p claurst-tui: 621 passed, 0 failed; CLI crate greenCloses #60.
🤖 Generated with Claude Code