Skip to content

Configuration Guide

reviewtask uses a flexible configuration system that allows customization of priority rules, AI processing, and task management behavior.

Configuration File

Configuration is stored in .pr-review/config.json in your repository:

{
  "priority_rules": {
    "critical": "Security vulnerabilities, authentication bypasses, data exposure risks",
    "high": "Performance bottlenecks, memory leaks, database optimization issues",
    "medium": "Functional bugs, logic improvements, error handling",
    "low": "Code style, naming conventions, comment improvements"
  },
  "task_settings": {
    "default_status": "todo",
    "auto_prioritize": true,
    "low_priority_patterns": ["nit:", "nits:", "minor:", "suggestion:", "consider:", "optional:", "style:"],
    "low_priority_status": "pending"
  },
  "ai_settings": {
    "user_language": "English",
    "validation_enabled": false,
    "verbose_mode": true
  }
}

Priority Rules

Customize how AI analyzes and prioritizes review comments:

Critical Priority

Comments matching this description get highest priority:

"critical": "Security vulnerabilities, authentication bypasses, data exposure risks"

Examples of critical issues: - SQL injection vulnerabilities - Authentication bypasses - Exposed API keys or secrets - Data privacy violations

High Priority

Important functionality and performance issues:

"high": "Performance bottlenecks, memory leaks, database optimization issues"

Examples of high priority issues: - Memory leaks - N+1 query problems - Blocking I/O operations - Resource exhaustion risks

Medium Priority

Standard functional improvements:

"medium": "Functional bugs, logic improvements, error handling"

Examples of medium priority issues: - Logic errors - Missing error handling - Edge case bugs - API inconsistencies

Low Priority

Style and minor improvements:

"low": "Code style, naming conventions, comment improvements"

Examples of low priority issues: - Code formatting - Variable naming - Comment quality - Documentation improvements

Task Settings

Default Status

Set the default status for new tasks:

"default_status": "todo"

Options: todo, doing, done, pending, cancel

Auto-Prioritization

Enable automatic priority assignment based on priority rules:

"auto_prioritize": true

Low-Priority Detection

Automatically detect and handle low-priority comments:

"low_priority_patterns": ["nit:", "nits:", "minor:", "suggestion:", "consider:", "optional:", "style:"],
"low_priority_status": "pending"

Pattern Matching: - Patterns are case-insensitive - Matches comments starting with patterns or containing them after newlines - Common patterns for code review tools (like CodeRabbit nits)

Example matches: - "nit: Consider using const instead of let" - "minor: This could be optimized" - "suggestion: Maybe extract this to a function"

AI Settings

User Language

Set the language for AI-generated content:

"user_language": "English"

Supported languages include English, Japanese, and others based on AI provider capabilities.

Processing Modes

Standard Mode (Default)

"validation_enabled": false

Fast processing with individual comment analysis.

Validation Mode

"validation_enabled": true,
"max_retries": 5,
"quality_threshold": 0.8

Two-stage validation with retry logic and quality scoring.

Advanced AI Settings

{
  "ai_settings": {
    "verbose_mode": false,               // Enable detailed debug logging
    "validation_enabled": true,          // Enable AI task validation
    "max_retries": 5,                    // Validation retry attempts
    "quality_threshold": 0.8,            // Minimum validation score (0.0-1.0)
    "deduplication_enabled": true,       // AI-powered task deduplication
    "similarity_threshold": 0.8,         // Task similarity detection threshold
    "process_nitpick_comments": false,   // Process CodeRabbit nitpick comments
    "nitpick_priority": "low",           // Priority for nitpick-generated tasks
    "enable_json_recovery": true,        // Enable JSON recovery for incomplete responses
    "max_recovery_attempts": 3,          // Maximum JSON recovery attempts
    "partial_response_threshold": 0.7,   // Minimum threshold for partial responses
    "log_truncated_responses": true      // Log truncated responses for debugging
  }
}

JSON Recovery and Retry Features

Advanced recovery mechanisms for handling incomplete AI responses:

JSON Recovery

"enable_json_recovery": true,
"max_recovery_attempts": 3,
"partial_response_threshold": 0.7
  • Extracts valid tasks from truncated JSON responses
  • Cleans up malformed JSON syntax
  • Validates recovered data before processing

Intelligent Retry

"max_retries": 5

Smart retry strategies based on error patterns: - Automatic prompt size reduction for token limit errors - Exponential backoff for rate limiting - Pattern detection for common truncation issues

Response Monitoring

"log_truncated_responses": true

Tracks API performance and provides optimization insights: - Response size and truncation pattern analysis - Success rate tracking and error distribution - Performance analytics in .pr-review/response_analytics.json

Task Deduplication

AI-powered task deduplication prevents duplicate tasks:

"deduplication_enabled": true,
"similarity_threshold": 0.8
  • Compares task content using AI similarity analysis
  • Configurable similarity threshold (0.0-1.0)
  • Preserves existing task statuses during deduplication

CodeRabbit Integration

Special handling for CodeRabbit code review comments:

"process_nitpick_comments": false,
"nitpick_priority": "low"
  • Control whether to process nitpick comments as tasks
  • Set priority level for nitpick-generated tasks
  • Integrates with low-priority detection patterns

Environment Variables

Override configuration using environment variables:

# GitHub authentication
export GITHUB_TOKEN="your_github_token"

# AI provider settings
export REVIEWTASK_VERBOSE=true
export REVIEWTASK_VALIDATION=true

# GitHub Enterprise (if applicable)
export GITHUB_API_URL="https://github.company.com/api/v3"

Configuration Examples

Development Team Setup

For a development team focusing on security and performance:

{
  "priority_rules": {
    "critical": "Security vulnerabilities, authentication issues, data exposure, production failures",
    "high": "Performance problems, memory leaks, database issues, breaking changes",
    "medium": "Functional bugs, error handling, business logic issues",
    "low": "Code style, documentation, minor refactoring suggestions"
  },
  "task_settings": {
    "default_status": "todo",
    "auto_prioritize": true,
    "low_priority_patterns": ["nit:", "style:", "docs:", "typo:", "minor:"],
    "low_priority_status": "pending"
  },
  "ai_settings": {
    "validation_enabled": true,
    "quality_threshold": 0.9,
    "deduplication_enabled": true,
    "verbose_mode": false
  }
}

Open Source Project Setup

For open source projects with many contributors:

{
  "priority_rules": {
    "critical": "Security issues, breaking changes, license violations",
    "high": "API changes, performance regressions, compatibility issues",
    "medium": "Feature bugs, documentation errors, test failures",
    "low": "Code style, variable naming, comment improvements"
  },
  "task_settings": {
    "default_status": "todo",
    "low_priority_patterns": ["nit:", "suggestion:", "consider:", "optional:"],
    "low_priority_status": "pending"
  },
  "ai_settings": {
    "process_nitpick_comments": false,
    "deduplication_enabled": true,
    "similarity_threshold": 0.85
  }
}

Debug and Development Setup

For debugging and development work:

{
  "ai_settings": {
    "verbose_mode": true,
    "validation_enabled": true,
    "max_retries": 3,
    "enable_json_recovery": true,
    "log_truncated_responses": true,
    "deduplication_enabled": false
  }
}

Configuration Best Practices

Priority Rules

  • Use specific, actionable descriptions
  • Align with your team's development priorities
  • Include examples that match your codebase
  • Review and update regularly based on experience

Task Settings

  • Set realistic default statuses for your workflow
  • Customize low-priority patterns for your review style
  • Consider your team's task management preferences

AI Settings

  • Enable validation mode for critical projects
  • Use verbose mode during initial setup and troubleshooting
  • Adjust similarity thresholds based on your task deduplication needs
  • Enable JSON recovery for better reliability

Performance Tuning

  • Start with default settings
  • Enable verbose mode to understand processing behavior
  • Adjust retry and threshold settings based on your AI provider's characteristics
  • Monitor response analytics for optimization opportunities

Troubleshooting Configuration

Invalid Configuration

# Validate configuration syntax
reviewtask init  # Re-initializes with defaults if config is invalid

Priority Assignment Issues

# Enable verbose mode to see priority assignment logic
# Edit .pr-review/config.json:
{
  "ai_settings": {
    "verbose_mode": true
  }
}

Task Deduplication Problems

# Adjust similarity threshold or disable deduplication
{
  "ai_settings": {
    "deduplication_enabled": false,
    "similarity_threshold": 0.7  // Lower = less strict
  }
}

Processing Performance

# Enable validation and recovery for better reliability
{
  "ai_settings": {
    "validation_enabled": true,
    "enable_json_recovery": true,
    "max_retries": 5
  }
}

For more advanced configuration scenarios, see the Troubleshooting Guide or check the project's GitHub repository for examples.