Skip to content

Feat/code review system#57

Merged
backnotprop merged 12 commits intomainfrom
feat/code-review-system
Jan 13, 2026
Merged

Feat/code review system#57
backnotprop merged 12 commits intomainfrom
feat/code-review-system

Conversation

@backnotprop
Copy link
Owner

@backnotprop backnotprop commented Jan 13, 2026

New release is live: 0.5.0... Code Reviews. Launch manually with /plannotator-review - all feedback is automated back to the agent. Works for both Claude Code and Open Code.

Formal video demo and release notes tomorrow.

Not yet connected to the plans! For now you have option to review uncommitted changes, or previous commit, or against base branch.

image

backnotprop and others added 9 commits January 12, 2026 09:09
Introduces a new code review feature that displays git diffs with
interactive line/range annotations using @pierre/diffs library.

New packages:
- apps/review/ - Review app with server entry point and Vite build
- packages/review-editor/ - React UI with DiffViewer, ReviewPanel, FileTree
- packages/server/review.ts - Review server with /api/diff and /api/feedback

Features:
- Split/unified diff view toggle
- Line selection and range selection for annotations
- Comment, suggestion, and concern annotation types
- Hover utility (+ button) for quick single-line comments
- Multi-file navigation with j/k keyboard shortcuts
- Export feedback as structured markdown
- Copy diff to clipboard

Usage:
  bun apps/review/server/index.ts              # Unstaged changes
  bun apps/review/server/index.ts --staged     # Staged changes
  bun apps/review/server/index.ts main         # Diff against ref

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Header:
- Rebrand to "Plannotator" with "Code Review" badge
- Add version link to GitHub releases
- Add Copy Raw Diffs and Copy Feedback action buttons
- Add Settings placeholder and panel toggle
- Remove API mode (no hooks/approval flow)

Sidebar (ReviewPanel):
- Match Plannotator styling (w-72, backdrop-blur, uppercase header)
- Add author display with "(me)" suffix
- Add empty state icon
- Standardize timestamp format
- Add Quick Copy Feedback footer
- Remove floating toggle (header controlled)

FileTree:
- More compact layout, system font
- Add viewed indicator (eyeball icon)
- Move keyboard nav hint to footer
- Annotation count before diff stats

Other:
- Per-file Copy Diff button with feedback
- Inline comment styling improvements
- Extract demo data to separate file
- No annotations dialog for Copy Feedback

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add /plannotator-review command to OpenCode plugin
- Event listener intercepts command and launches review server
- Add completion overlay after sending feedback (matches plan mode)
- Add agent switching support for review feedback routing
- Add Settings component with identity and agent switching options
- Update server to accept/return agentSwitch in /api/feedback

Build & Test:
- Add review-editor.html to gitignore (build artifact)
- Update package.json build script to copy both HTML files
- Add postinstall script to copy command files
- Add sandbox-opencode.sh for local plugin testing
- Add test-opencode-review.sh and test-review-server.ts

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The OpenCode bus wraps all event data in a properties object,
so sessionID must be accessed via event.properties.sessionID
rather than directly from the event object.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add /plannotator-review slash command for Claude Code users:

- Add `review` subcommand to plannotator binary
  - Runs git diff, opens review UI, outputs feedback to stdout
- Create slash command that captures feedback via !`plannotator review`
- Update install scripts to install command to ~/.claude/commands/
- Add "claude-code" origin support to review server and UI
- Update release workflow to build review UI before hook

Users can now run /plannotator-review in Claude Code to open the
interactive code review UI and send annotated feedback back to Claude.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Plan Review:
- Change "Deny with Feedback" to "Send Feedback" (friendlier wording per #56)

Code Review:
- Add two-button pattern: "Send Feedback" (accent) + "Approve" (green)
- Send Feedback disabled when no annotations
- Approve button dims when annotations exist
- Add warning dialog when approving with annotations
- Add hover tooltip explaining annotations won't be sent
- Show different completion messages for approve vs feedback
- Support both OpenCode and Claude Code origins

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `mode` prop to Settings component ('plan' | 'review')
- In review mode, only show Identity and Agent Switching
- Hide plan-specific settings: Plan Saving, Tater Mode, Obsidian, Bear
- Pass mode="review" from code review editor

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove the two-hop annotation flow (select lines → choose type → input).
Now matches GitHub's UX: select lines → comment box appears immediately.

- Remove type selection menu (comment/suggestion/concern)
- Direct comment input when lines are selected
- Optional "Add suggested code" expansion
- Remove type badges from annotation display
- Simplify export format (no type labels)
- Add keyboard shortcuts (Cmd+Enter submit, Escape cancel)

The AI understands intent from natural language - no need to pre-categorize.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Only attempt to send feedback to session if sessionID is available.
Prevents "undefined is not an object (evaluating 'agent.name')" error
when the event structure doesn't include a sessionID.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@backnotprop
Copy link
Owner Author

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

🤖 Generated with Claude Code

backnotprop and others added 3 commits January 12, 2026 18:00
- Add code review flow and review server API
- Update project structure with review-related files
- Add dev:review and build:review/opencode to development scripts
- Fix OpenCode plugin review mode to capture stderr and use noReply flag

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add FEATURE_HIGHLIGHTS for version-specific announcements (0.5.0: Code Review)
- Expanded banner UI for milestone releases with feature title/description
- OpenCode-specific cache clear instructions when origin is opencode
- Debug params: ?preview-update=X.X.X and ?preview-origin=opencode for testing

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add centralized git utilities module (packages/server/git.ts)
- Dropdown to switch between diff views: uncommitted, last commit, vs main
- Dynamic default branch detection (main/master)
- Empty state UI when no changes to display
- Fix line range display for bottom-to-top selections

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@backnotprop backnotprop merged commit 8019f73 into main Jan 13, 2026
@jellydn
Copy link

jellydn commented Jan 13, 2026

Thank you very much for the improvement. I built this VSCode extension so I could send my review for AI to continue the work on the CLI. And I don't know what to do with my extension. Should I have more things to build :)

@backnotprop
Copy link
Owner Author

oh nice, i will give your extension a shot! @jellydn

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants