Onboarding and Config Protocol
Purpose: shared onboarding + config surfaces across CLI, macOS app, and Web UI.
Components
- Wizard engine (shared session + prompts + onboarding state)
- CLI onboarding uses the same wizard flow as the UI clients
- Gateway RPC exposes wizard + config schema endpoints
- macOS onboarding uses the wizard step model
- Web UI renders config forms from JSON Schema + UI hints
Gateway RPC
- wizard.start params: \{ mode?: "local"|"remote", workspace?: string \}
- wizard.next params: \{ sessionId, answer?: \{ stepId, value? \} \}
- wizard.cancel params: \{ sessionId \}
- wizard.status params: \{ sessionId \}
- config.schema params: \{\}
Responses (shape):
- Wizard: \{ sessionId, done, step?, status?, error? \}
- Config schema: \{ schema, uiHints, version, generatedAt \}
UI Hints
- uiHints keyed by path; optional metadata (label/help/group/order/advanced/sensitive/placeholder)
- Sensitive fields render as password inputs; no redaction layer
- Unsupported schema nodes fall back to the raw JSON editor
Notes
- This doc is the single place to track protocol refactors for onboarding/config