feat(workflow): make :Forge a legible root surface#94
Merged
barrettruth merged 7 commits intomainfrom Apr 7, 2026
Merged
Conversation
Problem: forge review only tracked a base ref and display mode, which made PR review feel like a thin diff action rather than a coherent workflow. That left no stable session object for later file indexing, view switching, or subject generalization. Solution: add structured review session state in `lua/forge/review.lua`, populate it when PR review starts, and cover the new session model in help docs and focused specs.
Problem: review still depended on the diff buffer's quickfix side effects, so there was no first-class file index to anchor the local PR review flow. That made file selection incidental and left the session model underused. Solution: derive changed files from the active review session, open them in a picker-backed review index, and route file opens through the review session so later mode and navigation work can build on the same surface.
Problem: the review flow still described its file views as unified vs split, which hid the real distinction between patch review and surrounding file context. That made the session mode ambiguous even after the file index landed. Solution: normalize review sessions around explicit `patch` and `context` modes, show the active mode in the review index, and make `toggle()` switch the current file or pending index mode between those two views.
Problem: the review session still lacked first-class navigation, so moving between files, returning to the index, and stepping through hunks depended on picker state or backend-specific habits instead of explicit review commands. Solution: add review index/file/hunk navigation helpers, expose them through `:Forge review` subcommands and review `<Plug>` mappings, and document and test the navigation model on top of the new review session flow.
This lets the review index and navigation flow start from branches and commits without disturbing the current checkout.
This makes the entry point explain the local git workflows before a picker opens and documents how routes map to commands across backends.
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
:Forgesurface describe each section's category, scope, and primary actions before opening nested pickersTest plan
Stacked on #93.
Refs #87