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:

  1. Launch Friday in your project
  2. Type /settings to open the settings menu
  3. Navigate to "Self-review after code changes"
  4. 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:

  1. Friday completes your requested code changes
  2. The system detects that modifications were made
  3. Friday automatically reviews the changes
  4. Friday refines the code based on this self-review
  5. 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:

  1. Implement the authentication feature
  2. Automatically review the changes
  3. Remove any extra logging, comments, or helper functions that weren't strictly necessary
  4. 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