Streamlined for v1.2: Reduced from 59 to 28 core parameters, focusing on natural language expressibility and avoiding premature optimization.
Essential parameters for everyday use. These cover 95% of real-world scenarios.
Review PRs by specific author.
- Default: Current user (
@me) - Example:
--author octocat
Target specific repository.
- Default: Current repository
- Example:
--repo abishop1990/warden
PR state to review.
- Default:
open - Example:
--state all
Maximum number of PRs to review.
- Default: Unlimited (all PRs)
- Example:
--limit 5(only review 5 PRs)
Specify reviewers (comma-separated). This single parameter replaces all review depth/count/focus params.
- Default:
generalist - Available reviewers:
generalist: Broad coverage across all areassecurity: OWASP, auth, injection, secrets, cryptoperformance: N+1 queries, memory, algorithms, cachingarchitecture: Design patterns, SOLID, coupling, scalabilitymaintainability: Code clarity, docs, tech debttesting: Test coverage, edge cases, test quality
- Example:
--reviewers security,performance,testing - Natural language alternative: Say "use comprehensive review" for multiple reviewers
Testing approach.
- Default:
affected - Options:
none: Skip all tests (for docs/config PRs)affected: Only test changed packages (fastest)full: Run entire test suite (thorough)smart: Affected packages + dependencies (balanced)
- Example:
--test-strategy full
Maximum seconds per test run.
- Default:
300(5 minutes) - Example:
--test-timeout 600
Run tests in parallel when supported by test framework.
- Default:
true - Example:
--parallel-tests false
Fix approach and aggressiveness.
- Default:
balanced - Options:
conservative: Only high-confidence fixes (90%+), flag complexbalanced: Fix most issues (70%+), flag architecturalaggressive: Attempt all fixes (50%+), attempt complex refactors
- Example:
--fix-strategy conservative
Preview issues without making any fixes.
- Default:
false - Example:
--dry-run
Abort if changes exceed this limit (safety check for runaway changes).
- Default: Unlimited
- Example:
--max-files-changed 20
Never push to these branches (comma-separated).
- Default:
main,master,production - Example:
--protect-branches main,master,prod,release
Post findings as PR comment.
- Default:
false - Example:
--comment-on-pr
Max concurrent PR analysis (batching).
- Default:
5 - Example:
--max-parallel-prs 10 - Note: Prevents system overload and API rate limiting
Root directory for temporary PR workspaces.
- Default:
/tmp/warden-repos - Example:
--workspace-root /custom/workspace - Behavior: Creates subdirectories like
/tmp/warden-repos/pr-123-1234567890/ - Note: All PR workspaces organized under this root for easy cleanup
Run in current repository without creating temp workspaces.
- Default:
false(use isolated workspaces) - Example:
--in-place - Use case: Repos with complex local setup (databases, custom tooling)
⚠️ WARNING:- Slower (no parallel processing)
- Modifies your working directory
- Ensure clean git state first:
git status
- Recommended: Only use when isolated workspaces can't handle repo setup
Don't clean up workspace after completion (for debugging).
- Default:
false - Example:
--keep-workspace - Note: Useful when you need to inspect workspace state after errors
Summary report format.
- Default:
text - Options:
text,json,markdown,html - Example:
--output-format json
Detailed logging.
- Default:
false - Example:
--verbose
Force language detection.
- Default: Auto-detect
- Options:
go,python,javascript,typescript,rust - Example:
--language go
Custom formatter command (overrides language default).
- Example:
--formatter "black --line-length 100"
Custom linter command (overrides language default).
- Example:
--linter "eslint --fix"
Skip paths in review (comma-separated).
- Default:
vendor/,node_modules/,*.pb.go,*_generated.go,dist/,build/ - Example:
--ignore-paths "third_party/,generated/"
Only review these paths (comma-separated).
- Example:
--focus-paths "src/,cmd/"
Enable ticket alignment analysis (checks PR against ticket requirements).
- Default:
false(enabled if configured in config.yml) - Example:
--ticket-integration - Use case: Detect scope divergence, missing requirements, unrelated changes
- Requires: Ticket system configured (JIRA, Aha, Linear, GitHub Issues)
Override ticket system type.
- Default: From config.yml
- Options:
jira,aha,linear,github-issues - Example:
--ticket-system jira
Explicitly specify ticket ID (overrides auto-detection from PR).
- Example:
--ticket-id PROJ-123 - Use case: When ticket ID not in PR title/body/branch
See TICKET-INTEGRATION.md for complete configuration and setup.
These parameters may be useful in specific scenarios but aren't core to v1.2. Some may be promoted to core or removed based on real-world usage.
Show diff and require confirmation before pushing.
- Default:
false - Use case: Extra safety for sensitive repos
Detect merge conflicts before starting fixes.
- Default:
true
Create backup branch before making fixes.
- Default:
false - Creates:
warden-rollback-PR#-TIMESTAMPbranch
Custom comment template file.
- Example:
--comment-template .github/warden-comment.md
Update existing comment instead of adding new.
- Default:
false
Add labels to PR based on findings.
- Default:
false - Labels:
warden-security,warden-performance,warden-needs-tests
Prefix for auto-generated labels.
- Default:
warden-
Only test when fixing certain severities.
- Default:
all - Example:
--test-on-severity critical,high
Skip tests if only these file types changed.
- Default:
.md,.yml,.yaml,.json,.txt
Limit fixes per severity tier.
- Default: Unlimited
Auto-commit each tier if tests pass.
- Default:
true
Custom workspace location.
- Default:
/tmp/pr-review-*
Reuse workspace across PRs from same repo.
- Default:
false
Save summary to file.
- Example:
--save-report warden-report.md
Minimal output.
- Default:
false
Only show issues at or above this level.
- Options:
critical,high,medium,low
Skip files larger than N lines.
- Default: Unlimited
Automatically skip generated files.
- Default:
true - Patterns:
*.pb.go,*_generated.*,dist/,build/
Custom review rules YAML file.
- Default:
.warden-rules.yml(if exists)
Lines of context in diffs.
- Default:
3
Only review files changed since last Warden run.
- Default:
false
Include draft PRs in review.
- Default:
false
How to handle draft PRs.
- Default:
review-only - Options:
review-only,fix,skip
Review changes since this commit.
- Example:
--baseline-commit abc123
The following parameters were removed to simplify the API and avoid premature optimization. They may return in v2.0 based on real-world demand.
Rationale: Premature optimization. Implement with smart defaults when needed.
--cache-pr-data <seconds>--cache-location <path>--cache-analysis--cache-ttl <seconds>(not in v1.1, speculative)- And related caching params
Alternative: Warden will implement intelligent caching transparently when beneficial.
Rationale: YAGNI for v1.2. These add complexity without proven demand.
--notify-slack <webhook>--update-jira <ticket-id>--webhook <url>
Alternative: For v1.2, use --output-format json and pipe to external tools. May return in v2.0.
Rationale: Consolidated into single --reviewers parameter for natural language expressibility.
Removed:
--review-depth <standard|thorough|comprehensive>--reviewer-count <n>--review-focus <area>- And related review configuration params
Alternative: Use --reviewers security,performance,testing or natural language ("use comprehensive review").
Rationale: Should always test before pushing; test commands discovered from repo docs.
Removed:
--test-before-fix- Tests always run before pushing (validation sequence)--test-command <command>- Discovered from CLAUDE.md, CI config, or language defaults
Alternative: See docs/COMMANDS.md for command discovery process.
--save-metrics <path>- Premature optimization, no proven use case--respect-rate-limits- Always respected, no need for flag--max-parallel-agents <n>- Calculated automatically based on reviewers × PRs
When multiple parameters conflict:
--focus-pathsapplied before--ignore-paths--dry-rundisables all fix operations--test-strategy noneoverrides--test-on-severity
If you were using removed parameters:
| Old (v1.1) | New (v1.2) |
|---|---|
--review-depth thorough |
--reviewers security,performance |
--reviewer-count 3 |
--reviewers security,performance,architecture |
--test-command "npm test" |
Add to CLAUDE.md: Test: \npm test`` |
--cache-pr-data 3600 |
Removed (smart defaults) |
--notify-slack <url> |
Use --output-format json | your-script |
- Command discovery: COMMANDS.md
- Workflow details: WORKFLOW.md
- Natural language examples: See README.md