NAME

Claude::Agent::Code::Review::Options - Configuration options for code review

SYNOPSIS

use Claude::Agent::Code::Review::Options;

my $options = Claude::Agent::Code::Review::Options->new(
    categories => ['bugs', 'security'],
    severity   => 'medium',
    max_issues => 50,
);

DESCRIPTION

Configuration object for Claude::Agent::Code::Review.

ATTRIBUTES

  • categories - ArrayRef of categories to check (default: all)

    Valid categories: bugs, security, style, performance, maintainability

  • severity - Minimum severity to report (default: 'low')

    Valid values from highest to lowest: critical, high, medium, low, info. With default 'low', only 'info' level issues are excluded.

  • max_issues - Maximum number of issues to return (default: 0 = unlimited)

  • output_format - Output format: 'structured' or 'text' (default: 'structured')

  • include_suggestions - Include fix suggestions (default: 1)

  • include_code_context - Include surrounding code context (default: 1)

  • language - Language hint for analysis (default: auto-detect)

  • ignore_patterns - ArrayRef of file patterns to ignore

  • focus_areas - ArrayRef of specific areas to focus on

  • model - Claude model to use (default: inherited from Claude::Agent)

  • permission_mode - Permission mode (default: 'default')

    Set to 'bypassPermissions' for automated/CI usage without interactive prompts.

  • perlcritic - Enable Perl::Critic static analysis (default: undef/disabled)

    Set to 1 to enable with default settings, or undef/0 to disable.

  • perlcritic_severity - Perl::Critic severity level (default: 4)

    Values: 1=brutal, 2=cruel, 3=harsh, 4=stern, 5=gentle

  • perlcritic_profile - Path to custom .perlcriticrc file (default: undef)

  • filter_false_positives - Filter likely false positives from AI review (default: 1)

    When enabled, checks actual code context to remove AI-reported issues that are likely false positives (e.g., "unused import" when import is used, "limitation" that's already documented in comments).

  • custom_filters - ArrayRef of custom filter coderefs (default: [])

    Add your own filter functions to extend false positive detection:

    custom_filters => [
        sub {
            my ($issue, $context) = @_;
            # $issue - Claude::Agent::Code::Review::Issue object
            # $context - surrounding code (5 lines before/after)
            # Return 1 to filter (remove), 0 to keep
            return $issue->description =~ /my known false positive/i ? 1 : 0;
        },
    ],

METHODS

has_focus_areas

Returns true if focus_areas is set and non-empty.

has_max_issues

Returns true if max_issues is set to a positive value.

has_ignore_patterns

Returns true if ignore_patterns is set and non-empty.

has_perlcritic

Returns true if perlcritic is enabled.

AUTHOR

LNATION, <email at lnation.org>

LICENSE

This software is Copyright (c) 2026 by LNATION.

This is free software, licensed under The Artistic License 2.0 (GPL Compatible).