Self review
Overview
Self Review is a feature that automatically prompts Friday to review and simplify its own work after completing code modifications. When enabled, Friday examines the changes it just made, removes anything that doesn't directly address the current task, and simplifies where possible. This helps ensure cleaner, more focused code changes without requiring manual review prompts.
Quick Start
The self-review feature is a configurable setting that you can enable or disable through Friday's settings menu:
- Launch Friday in your project
- Type
/settingsto open the settings menu - Navigate to "Self-review after code changes"
- Toggle the setting on or off based on your preference
Usage
How It Works
When self review is enabled, Friday automatically performs an additional review step after making code changes. This happens transparently in the background:
- Friday completes your requested code changes
- The system detects that modifications were made
- Friday automatically reviews the changes
- Friday refines the code based on this self-review
- The conversation continues normally
When to Enable
Self-review is particularly useful when:
- You want Friday to produce cleaner, more minimal changes
- You're working on complex refactoring tasks where scope creep is a concern
- You prefer Friday to be more conservative and focused in its modifications
- You want an extra quality check without manual intervention
When to Disable
You might want to disable self-review when:
- You're working on rapid prototyping where speed is more important than polish
- You want to see Friday's initial implementation without automatic refinement
- You're debugging and want to preserve all intermediate changes
- You prefer to manually review and request simplifications yourself
Examples
Example 1: Focused Feature Implementation
With self-review enabled, when you ask Friday to "add user authentication," it will:
- Implement the authentication feature
- Automatically review the changes
- Remove any extra logging, comments, or helper functions that weren't strictly necessary
- Simplify complex implementations where possible
Without self-review, Friday might leave in additional debugging code or more elaborate implementations that seemed helpful during development.
Example 2: Refactoring Task
When refactoring a module with self-review enabled:
# Your request
"Refactor the payment processing module to use the new API"
Friday will:
- Complete the refactoring
- Review to ensure only payment-related changes were made
- Remove any unrelated modifications that crept in
- Simplify the implementation if it became overly complex
Example 3: Bug Fix
For a bug fix with self-review enabled:
# Your request
"Fix the null pointer exception in UserService"
Friday will:
- Fix the specific bug
- Review to ensure the fix is minimal and targeted
- Remove any defensive programming that wasn't directly related to the bug
- Keep the changes focused on the issue at hand
Example 4: Toggling the Setting
You can enable or disable self-review at any time during your session:
# Open settings
/settings
# Navigate to "Self-review after code changes" and toggle
# Changes take effect immediately for subsequent code modifications