Add first-launch onboarding hint - #357
Merged
Merged
Conversation
Issue: New users need a concise introduction to Architect's core terminal shortcuts and agent hook setup, while existing users should not be interrupted by a newly added hint. Solution: Render a faint four-line hint in the first focused live terminal without sending it through the shell or PTY. Persist the state after the hint is actually drawn, preserve existing persistence formats, and treat older files without the field as already seen. Add regression coverage and update the user and architecture documentation.
This was referenced Aug 15, 2026
forketyfork
marked this pull request as ready for review
August 15, 2026 11:43
There was a problem hiding this comment.
Pull request overview
Adds a first-launch onboarding hint rendered directly by the scene renderer (not via PTY output) and persists a new onboarding_shown flag so the hint is only shown for genuinely new installs while older persistence files are treated as already-seen.
Changes:
- Render a faint 4-line onboarding hint in the focused, live first terminal session and mark it “displayed” only once it was actually drawable.
- Persist
onboarding_shownacross all supported persistence TOML formats, treating missing values as already shown for upgrades. - Update docs and add regression tests for the renderer gating and persistence migration/round-tripping.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/render/renderer.zig | Renders the onboarding hint in the first focused live terminal and reports when it was drawable. |
| src/config.zig | Adds onboarding_shown, migrates missing values to “already shown”, and tests persistence behavior. |
| src/app/runtime.zig | Threads onboarding state into rendering and persists onboarding_shown after a drawable render. |
| README.md | Documents the user-visible “first launch hint” behavior. |
| docs/configuration.md | Documents the new onboarding_shown field and its migration semantics. |
| docs/ARCHITECTURE.md | Updates persistence/renderer documentation to mention onboarding state/hint. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
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.
Issue
New users need a concise introduction to Architect's core terminal shortcuts and AI-agent hook setup. PRs #177 and #178 implemented overlapping versions of this behavior, but both were based on an old
mainand are now superseded.Solution
Render a faint four-line onboarding hint in the first focused live terminal. It is drawn by the scene renderer rather than sent through the PTY, so it does not affect shell history, terminal state, or agent sessions.
Persist
onboarding_shownafter the hint is actually drawable, preserve the value across all current persistence formats, and treat older persistence files without the field as already seen. A genuinely new installation still starts with the hint enabled. Regression tests cover persistence round-tripping, migration behavior, and renderer gating. Documentation describes the user-visible behavior and persisted field.Context
This PR consolidates the best parts of #177 and #178 on top of the current
origin/main.Test plan