| name | code-review |
| description | Systematic code review for RoboView contributions. Use when reviewing pull requests, checking code quality, or validating changes before merge. Covers style, testing, security, and cross-surface consistency. |
Code Review for RoboView
Review Philosophy
Good code review catches issues early, shares knowledge, and maintains consistency. Focus on:
- Correctness — Does it work? Does it handle edge cases?
- Maintainability — Can others understand and modify it?
- Consistency — Does it follow project patterns?
- Testing — Is it adequately tested?
- Cross-Surface Impact — Does it affect other surfaces correctly?
Review Checklist by Surface
Python Backend (packages/roboview/)
Code Quality
Testing
Type Safety
API Changes
TypeScript Extension (vscode-integration/src/)
Code Quality
Testing
VS Code API Usage
React Webview (vscode-integration/webview-ui/)
Code Quality
State Management
Accessibility
Performance
Robot Framework Tests (rf_usergrp_vtiger/)
Code Quality
Test Quality
Review by Change Type
New Feature
-
Design Review
- Does the feature fit the existing architecture?
- Are interfaces minimal and deep?
- Is it in the right surface(s)?
-
Implementation Review
- Follows established patterns?
- Handles errors gracefully?
- Has appropriate logging?
-
Testing Review
- Unit tests for new logic
- Integration tests if crossing surfaces
- Manual testing instructions provided
-
Documentation Review
- Code comments where non-obvious
- README updates if needed
- API documentation if applicable
Bug Fix
-
Root Cause
- Is the actual root cause addressed?
- Could the fix cause regressions?
-
Regression Test
- Is there a test that would have caught this?
- Is there a test that prevents recurrence?
-
Similar Issues
- Are there similar patterns elsewhere that need fixing?
Refactoring
-
Behavior Preservation
- Does existing functionality still work?
- Are tests updated appropriately?
-
Incremental Change
- Is the refactor scoped appropriately?
- Can it be merged safely?
-
Cross-Surface Impact
- Does this affect interfaces between surfaces?
- Are dependent surfaces updated?
Review Comments
Good Comment Examples
# Specific and actionable
"This could return `None` if the registry is empty. Consider handling that case explicitly."
# Explains why
"The current pattern uses dependency injection here. Could we follow that instead of accessing `request.app.state` directly?"
# Offers alternative
"This nested loop is O(n²). For large registries, consider pre-building a lookup dict."
# Asks clarifying question
"I see this catches all exceptions. Is there a specific exception type we expect here?"
Comment Levels
- Blocker: Must be fixed before merge
- Suggestion: Would improve code, author's discretion
- Question: Clarification needed, may not require change
- Nit: Minor style/preference, low priority
Automated Checks
Ensure these pass before manual review:
- pyright packages/roboview/
- pytest packages/roboview/tests/utest/ --tb=short
- deptry packages/roboview/
- npm run check-types (in vscode-integration/)
- npm run lint (in vscode-integration/)
- npm run typecheck (in webview-ui/)
- npm run build (in webview-ui/)
Post-Review
After approval: