| jules_api_key | Jules API key (create one at jules.google.com). | yes | — |
| github_token | GitHub token with pull-requests:write, statuses:write, issues:read (the review fetches linked-issue acceptance criteria), and checks:read (when ci_signal is enabled) for reviews, plus contents:write and issues:write for /maxi commands. Usually the default GITHUB_TOKEN secret. | yes | — |
| fail_on | When to fail the commit status check: never | blocking | any. Default blocking. | no | blocking |
| skip_drafts | Skip review on draft PRs. | no | true |
| skip_forks | Skip review on PRs from forks (prompt-injection risk). | no | true |
| bypass_label | Label that, when applied to a PR, skips the review entirely. | no | maxi-review-override |
| status_context | Commit status context name. | no | maxi/review |
| extra_instructions | Free-form Markdown appended to the review prompt. Use to add project-specific rules, frameworks, or focus areas directly from the workflow. | no | "" |
| rules_file | Path (in the repo) to a Markdown file whose contents are injected into the prompt. Default .github/maxi-review-rules.md if it exists. Set to empty string to disable. | no | .github/maxi-review-rules.md |
| timeout_minutes | How long to wait for Jules to return a review before giving up. Default 30. Real reviews on non-trivial PRs often take 15-25 minutes; do not set below 20 or you will miss legitimate reviews. | no | 30 |
| analyzer_mode | Analyzer mode: auto runs Opengrep and PMD/CPD from PATH when no output files are configured; off skips analyzer execution and ingestion. | no | auto |
| opengrep_json | Optional path to Opengrep/Semgrep-compatible JSON output to ingest. | no | "" |
| opengrep_sarif | Optional path to Opengrep/Semgrep-compatible SARIF output to ingest. | no | "" |
| pmd_xml | Optional path to PMD XML output to ingest. | no | "" |
| cpd_xml | Optional path to CPD XML output to ingest. | no | "" |
| review_ignore_globs | Newline- or comma-separated globs for generated/vendored paths to drop from the reviewed diff so the diff budget is spent on source (e.g. a bundled action's dist/). Empty uses a sensible default set (dist/**, *.map, lockfiles, **/generated/**); set to 'none' to disable filtering. | no | "" |
| retrieval_mode | Agentic retrieval loop. auto lets the reviewer request read_file, grep, and list_references at the PR head before the verdict; off disables it. | no | off |
| dedupe_reviewers | Dedupe against other review bots. auto fetches active non-self inline review comments (CodeRabbit, Codacy, Codex, ...) and tells the model not to restate them; off disables it. | no | off |
| ci_signal | Ingest CI evidence into the review. auto fetches the PR head check-runs (requires checks:read on github_token); off skips them. Supplied test_report/coverage_summary files are ingested regardless. | no | off |
| test_report | Optional path to a test report file (e.g. a JUnit or text summary) to ingest as CI evidence for the review. | no | "" |
| coverage_summary | Optional path to a coverage summary file (e.g. a coverage delta report) to ingest as CI evidence for the review. | no | "" |
| command | Maxi review command to run for workflow_dispatch, for example /maxi apply-all or /maxi fix <finding-id>. | no | "" |
| pr_number | Pull request number for workflow_dispatch command runs. | no | "" |