feat(onboarding): add Code Mode setup step#643
Merged
Conversation
Adds a new onboarding step (3, between Connect and Done; Completion moves
to 4) shown in both Rowboat and BYOK paths. It informs the user up front
that Code Mode needs Claude Code and/or Codex installed and signed in
locally (claude login / codex login), then offers a master 'Enable code
mode' toggle that reveals per-agent toggles.
Downloads do NOT block onboarding: on Continue, selected-but-not-yet-
installed engines are provisioned fire-and-forget in the main process,
and their live % surfaces in Settings -> Code Mode. Approval policy is
left at the default ('ask'); users adjust it later in Settings. The step
is skippable like Connect Accounts.
To make an onboarding-started download show its progress in Settings, the
module-level provisioning store (startProvisioning/useProvisioning) is
lifted out of settings-dialog.tsx into lib/code-mode-provisioning.ts and
shared by both.
- Show just the agent name (Claude Code / Codex) with a toggle and a green check when ready; drop the per-row download/sign-in clutter - Value-led description: use your existing Claude Code or Codex subscription inside Rowboat, signed in locally via the terminal
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
Adds a new Code Mode step to onboarding (step 3, between Connect and Done; Completion shifts to 4), shown in both the Rowboat and BYOK paths and skippable like Connect Accounts.
The step lets users opt into Code Mode up front using their existing Claude Code or Codex subscription, without blocking onboarding on the ~200 MB engine downloads.
UX
claude login/codex login.codeMode:checkAgentStatus— already-installed agents are pre-selected and the master starts on. A green check shows when an agent is already set up.codeMode:provisionEnginefire-and-forget in the main process and savescode-mode.jsonenabled (approval policy left at defaultask, configured later in Settings). The download keeps running and its live % surfaces in Settings → Code Mode.Implementation notes
Steptype0|1|2|3→…|4;index.tsxswitch (case 3 = Code Mode, case 4 = Completion);step-indicator.tsxROWBOAT/BYOK arrays gain a "Code" entry;handleNext/handleBackrenumbered.startProvisioning/useProvisioning/enabledOptimistic) was lifted out ofsettings-dialog.tsxinto a sharedlib/code-mode-provisioning.tsused by both. No behavior change to Settings.Test plan
~/.rowboat/engines/{claude,codex}for a clean download.Checks
tsc --noEmitclean across the renderernpm run lint: only pre-existing errors (none in changed files)