Code Review Settings
- Enabled by default on every linked repo.
- Toggle on/off per repo in Settings → Repos.
- Change the default for new repos in Settings → Repos → Defaults.
- Set always-review labels to force a review even when automatic review is off.
- Set skip labels to prevent review even when automatic review is on. Skip labels take precedence over always-review labels.
Go to Settings → Repos in the Macroscope web app to edit code review settings per-repo or in batch.
Detection Mode
Detection Mode lets you tune how Macroscope code review balances finding more bugs vs. minimizing noise. There are two options:- Prefer Coverage: detects as many issues as possible. This gives higher bug detection rates, with an increase in overall comment volume and a higher likelihood of false positives. Recommended for teams who use coding agents to review and validate PR comments, since an agent can absorb the occasional false positive.
- Prefer Precision: prioritizes high-confidence findings. This gives lower bug detection rates, but also a lower likelihood of false positives. Recommended for teams who review comments manually in GitHub.
Configuring Detection Mode
Detection Mode can be set at two levels:- Per repository, in Settings → Repos. Select one or more repos and choose a mode. Use Defaults to set the mode applied to newly linked repos.
- Per developer, in Settings → Personal under Code Review → Detection Mode. Choose Prefer Coverage, Prefer Precision, or Repo Default.
Manually Triggering a Review
Comment “@macroscope-app review” on any PR in GitHub to trigger a review, even if automatic code review is disabled for that repo.Code Review Activity Log
The Code Review activity log in the Macroscope web app shows all review comments across your repositories.Source Column and Filtering
Each comment displays a Source column indicating where the feedback originated (e.g. Correctness, Check Run Agent). Use the source filter to focus on comments from a specific review type. Filters persist in the URL, so you can bookmark or share filtered views. When exporting to CSV, the export respects your current filters.Review Type Filtering in Feedback Metrics
Feedback metrics pages support filtering by review type. Select a specific type to see metrics for that review source, or view a cross-type overview to compare feedback across all review types.How Reviews Appear in GitHub
Check Runs
When issues are found, the GitHub check run completes withNEUTRAL instead of SUCCESS. Check run details show per-file exclusion reasons.
Comment Resolution
Comments link to the commit where they were resolved. Macroscope re-evaluates automatically when new code is pushed.Issue Severity Levels
- CRITICAL: data loss, security breach
- HIGH: production crashes, security degradation
- MEDIUM: broken functionality (recoverable)
- LOW: cosmetic, edge-case issues
Excluding Files with .macroscope/ignore.md
You can tell Macroscope to skip specific files during code review by adding a .macroscope/ignore.md file to your repository. The file uses a simplified glob pattern syntax, one pattern per line. Lines starting with # are comments, blank lines are ignored.
Setup
- Create a file named
.macroscope/ignore.mdin your repository. - Add one file path pattern per line.
- Commit and push. Macroscope picks it up automatically on the next review.
The legacy path
.macroscope-ignore at the repo root is still supported for backward compatibility, but .macroscope/ignore.md is the recommended location. This consolidates all Macroscope configuration into the .macroscope/ directory.Example
Default Ignore Patterns
Macroscope ships with a built-in set of ignore patterns covering vendored dependencies, generated code, binary assets, and test files. These are applied automatically when no.macroscope/ignore.md file exists in your repo.
Default base patterns (vendored, generated, binary, etc.)
Default base patterns (vendored, generated, binary, etc.)
Default test file patterns
Default test file patterns
Behavior
- Pattern matching is deterministic. If a file matches, it is always skipped, including on manual invocations. There is no override mechanism.
- Skipped files are listed in the check run details.
.macroscope/ignore.md affects code review and Check Run Agents. It does not affect commit summaries, status, or the Slack agent.How Does Code Review Work?
Macroscope reviews every file in a PR. For ten natively-supported languages, dedicated AST codewalkers build a reference graph for lower-latency reviews. All other languages — including Elixir, Starlark, C/C++, PHP, and more — are fully reviewed via Macroscope’s agentic analysis engine.Native AST Codewalkers
For natively-supported languages, Macroscope’s code walkers parse the Abstract Syntax Tree to build a graph-based representation of your codebase. This enables deep, language-aware review with per-language model tuning and framework-specific handling (e.g. parsing.vue single-file components and Nuxt conventions). Pre-building the reference graph makes these reviews lower-latency.
Languages with native AST codewalkers: Go, Python, TypeScript, JavaScript, Vue.js (including Nuxt), Java, Rust, Kotlin, Swift, Ruby.