> ## Documentation Index
> Fetch the complete documentation index at: https://docs.macroscope.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ignore files

> Exclude paths from review and control whether tests are reviewed.

Add `.macroscope/ignore.md` at the repository root, with one glob pattern per line. Blank lines and lines beginning with `#` are ignored.

**Your file replaces the default patterns.** Copy any [defaults](#default-ignore-patterns) you want to keep. Tests remain excluded unless you set `ignoreTests: false`.

```text theme={null}
# Dependencies
vendor/**
# Generated code
*.pb.go
# Build output
dist/**
```

| Pattern | Matches |
| - | - |
| `vendor/**` | Everything under the root `vendor/` directory. |
| `*.pb.go` | Matching filenames at any depth. |
| `src/*` | Files within one path segment. |
| `src/**/*.go` | Go files at any depth under `src/`. |
| `file?.go` | A single character in place of `?`. |

Use bare patterns, without Markdown bullets, backticks, quotes, leading `/`, or trailing comments. Maximum: **1,000 patterns**.

## Reviewing test code

<a id="reviewing-your-test-code" />

Test detection uses paths and language naming conventions, such as `_test.go` or `__tests__/`. To review tests:

```markdown theme={null}
---
ignoreTests: false
---
vendor/**
*.pb.go
```

Omitted or `true` keeps test detection enabled. Explicit patterns still exclude matching files, so remove test patterns you copied from the defaults if you want those files reviewed. A test inside a file whose path does not look like a test is reviewed as ordinary code.

Front matter must contain a recognized key. Unrecognized or malformed front matter produces a warning on the check; it is not silently applied as configuration.

## Scope and precedence

Macroscope uses the first existing file, even if empty:

1. `.macroscope/ignore.md`
2. `.macroscope/ignore`
3. `.macroscope-ignore`

On PRs, configuration comes from the latest PR commit. External forks use the default branch. CLI reviews use the latest committed version on the reviewed branch, so an uncommitted ignore-file edit has no effect.

Ignore rules apply to correctness, CLI reviews, and Check Run Agents. They do not affect Status, commit summaries, or Slack queries. Ignored files are excluded from correctness review charges.

Manual review requests do not override ignores. An explicit `include` in [custom correctness instructions](/custom-instructions#front-matter) or a [Check Run Agent](/check-run-agents/configuration#file-scope) can restore ignored files. The same configuration's `exclude` still wins. Unreviewable binaries are always excluded.

## Default ignore patterns

These are the overridable defaults for repositories without an ignore file. Binary exclusions also apply independently of this list.

<AccordionGroup>
  <Accordion title="Default base patterns (vendored, generated, binary, etc.)">
    ```text theme={null}
    # === Vendored / dependency directories ===
    **/.git/**
    **/__pycache__/**
    **/.pytest_cache/**
    **/.mypy_cache/**
    **/.ruff_cache/**
    **/venv/**
    **/.venv/**
    **/node_modules/**
    **/site-packages/**
    **/.pnpm-store/**
    **/__Snapshots__/**
    **/__snapshots__/**
    **/.agents/skills/**
    **/.claude/skills/**
    **/.github/skills/**
    **/bower_components/**
    **/jspm_packages/**
    **/.next/**
    **/.svelte-kit/**
    **/.nuxt/**
    **/.output/**
    **/.vercel/**
    **/.angular/**
    **/vendor/**
    **/_vendor/**
    **/third_party/**
    **/Pods/**
    **/.bundle/**

    # === Root-anchored ambiguous directories ===
    build/**
    out/**
    env/**
    ENV/**

    # === Generated / build-output directories (match anywhere) ===
    **/target/**
    **/dist/**
    **/generated/**
    **/intermediates/**
    **/generated_sources/**
    **/generated-sources/**
    **/generated-src/**
    **/src/main/generated/**

    # === Minified build output ===
    **/*.min.js
    **/*.min.css
    **/*.bundle.js

    # === Yarn PnP loader files ===
    **/.pnp.cjs
    **/.pnp.loader.mjs

    # === Generated protobuf / codegen files ===
    **/*_pb.d.ts
    **/*_pb.js
    **/*.pb.go
    **/*_pb2.py
    **/*_pb2_grpc.py
    **/*_pb2.pyi
    **/*.grpc.swift
    **/*.pb.swift
    **/*.sql.go
    **/*.designer.cs
    **/*.g.dart
    **/*.pb.dart
    **/*_pb.rb
    **/*.d.ts
    **/*.gen.ts
    **/*.gen.tsx
    **/*.gen.js
    **/*.gen.jsx

    # === Package manager files ===
    **/go.mod
    **/package.json
    **/*.pbxproj
    **/*.xcstrings
    **/*.strings
    **/*.properties
    **/pom.xml
    **/Package.swift
    **/bun.lock
    **/.eslintrc
    **/.eslintignore

    # === Lock / sum files ===
    **/go.sum
    **/package-lock.json
    **/pnpm-lock.yaml
    **/yarn.lock
    **/Package.resolved

    # === Images ===
    **/*.jpg
    **/*.jpeg
    **/*.png
    **/*.gif
    **/*.svg
    **/*.ico
    **/*.webp
    **/*.bmp
    **/*.tiff

    # === Fonts ===
    **/*.woff
    **/*.woff2
    **/*.ttf
    **/*.eot
    **/*.otf

    # === Media ===
    **/*.mp3
    **/*.mp4
    **/*.wav
    **/*.avi
    **/*.mov
    **/*.mkv
    **/*.flac
    **/*.ogg
    **/*.srt

    # === Archives ===
    **/*.zip
    **/*.tar
    **/*.gz
    **/*.rar
    **/*.7z
    **/*.bz2

    # === Documents ===
    **/*.pdf
    **/*.doc
    **/*.docx
    **/*.xls
    **/*.xlsx
    **/*.ppt
    **/*.pptx

    # === Data / serialized ===
    **/*.db
    **/*.sqlite
    **/*.sqlite3
    **/*.parquet
    **/*.avro
    **/*.arrow
    **/*.npy
    **/*.pkl
    **/*.jsonl

    # === ML models ===
    **/*.onnx
    **/*.tflite
    **/*.h5
    **/*.safetensors

    # === Compiled / binary ===
    **/*.exe
    **/*.dll
    **/*.so
    **/*.dylib
    **/*.bin
    **/*.pyc
    **/*.class
    **/*.o
    **/*.a
    **/*.wasm

    # === Certificates / keys ===
    **/*.cer
    **/*.pem
    **/*.p12

    # === Platform-specific / non-reviewable ===
    **/*.stringsdict
    **/*.snap
    **/*.adoc
    **/*.arb
    **/*.lock
    **/*.po
    **/*.fbx
    **/*.log
    **/*.xib
    **/*.meta
    **/*.kml
    **/*.prefab
    **/*.eml
    **/*.csv
    **/*.grpc.reflection
    **/*.js.map
    ```
  </Accordion>

  <Accordion title="Default test file patterns">
    ```text theme={null}
    # === Go ===
    **/*_test.go

    # === TypeScript / JavaScript ===
    **/*.test.ts
    **/*.test.tsx
    **/*.test.js
    **/*.test.jsx
    **/*.test.mjs
    **/*.test.cjs
    **/*.test.mts
    **/*.test.cts
    **/*.spec.ts
    **/*.spec.tsx
    **/*.spec.js
    **/*.spec.jsx
    **/*.spec.mjs
    **/*.spec.cjs
    **/*.spec.mts
    **/*.spec.cts
    **/*.e2e.ts
    **/*.e2e.tsx
    **/*.e2e.js
    **/*.e2e.jsx
    **/*.e2e.mjs
    **/*.e2e.cjs
    **/*.integration.ts
    **/*.integration.tsx
    **/*.integration.js
    **/*.integration.jsx
    **/*.integration.mjs
    **/*.integration.cjs
    **/__tests__/**

    # === Python ===
    **/test_*.py
    **/*_test.py

    # === Java / Kotlin ===
    **/*Test.java
    **/*Tests.java
    **/*Spec.java
    **/*IT.java
    **/*ITCase.java
    **/*Test.kt
    **/*Tests.kt
    **/*Spec.kt
    **/*IT.kt
    **/*ITCase.kt
    **/src/test/java/**
    **/src/test/kotlin/**
    **/src/androidTest/**
    **/src/integrationTest/**

    # === Swift ===
    **/*Tests.swift
    **/*UITests.swift
    **/*Tests/**
    **/*UITests/**

    # === Rust ===
    **/tests/*.rs
    **/*_test.rs
    **/test_*.rs

    # === Ruby ===
    **/*_test.rb
    **/*_spec.rb
    **/test_*.rb

    # === Generic test directories ===
    **/test/**
    **/tests/**
    **/spec/**
    **/specs/**
    **/e2e/**
    ```
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.