feat(tui): plan view with skill-based chat and execute tab#34
Open
feat(tui): plan view with skill-based chat and execute tab#34
Conversation
Implement 3-tab structure for the TUI with Plan view as the primary deliverable. Plan view includes a chat interface (spec/PRD creation via daemon jobs) and a task board (prd.json viewer + progress log). Extract existing dashboard into ExecuteView, add ReviewView placeholder. New hooks: useChat (poll-based daemon chat), usePlanFiles (fs.watch on .ralph/), usePlanInstance (auto-resolve OpenCode instance). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add create-prompt mode for generating PROMPT.md execution instructions. Fix chat polling to check immediately after job submission instead of waiting 1 second, and add a 2-minute timeout to prevent infinite "Thinking..." state. Surface instance errors in the plan chat UI. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Wires a start-execution action in the Execute view that reads .ralph/PROMPT.md and submits a job, surfaces a daemon-offline indicator in Plan chat, keeps all tab views mounted so state survives tab switches, and drops the unused Ctrl+M mode toggle. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Restores the per-instance Chat UI (added on main in #8) that was displaced by the tab-based rewrite. Pressing enter on a selected instance in the Execute view opens the full-screen Chat for that instance, matching the previous Dashboard flow. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Refactor plan chat from open-ended conversation to bounded skills (/spec, /prd). Add per-session permission rulesets to daemon. Wire chat into execute tab. Fix daemon streaming with atomic submit-and-stream. Add plan instance management. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Merge idle waiters, null-safe response handling, and permission support with main's StateStore/markJobTerminal persistence pattern. Fix streaming test hangs by checking accumulated outputText before entering idle wait. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
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
/specand/prdslash commands for bounded artifact generationTest plan
bun run check:typespassesbun run check(biome lint) passesbun run testpassesbun run dev), open Plan tab/spec, describe a project → SPEC.md should be generated/prd→ prd.json should be generated from SPEC.md🤖 Generated with Claude Code