Your first scan

Let's walk through a realistic Copilot-only repo and look at what aiscope finds. No setup beyond cargo install.

The repo

my-repo/
└── .github/
    ├── copilot-instructions.md
    ├── instructions/
    │   ├── python.instructions.md      ← applyTo: **/*.py
    │   └── typescript.instructions.md  ← applyTo: **/*.ts
    ├── prompts/
    │   └── unit-test.prompt.md
    └── agents/
        └── reviewer.agent.md           ← tools: [read, search]

Plus an apps/web/AGENTS.md with the web-team's conventions.

Run it

aiscope --diag .

Sample output:

aiscope · 6 sources · 18 statements · 159 tokens · 14 conflicts (4 high)

─── conflict 1 ───
  × agent tool mismatch: .github/instructions/python.instructions.md says
    "use the bash tool" but agent reviewer excludes it
   ╭─[.github/agents/reviewer.agent.md:8:1]
 8 │ You are a code reviewer. Use snake_case in Python feedback…
   · ─────────────────────────────────────
   ╰────
  help: add the tool to the agent's `tools:` allowlist, or change the instruction

─── conflict 2 ───
  × camelCase disagrees with snake_case
   ╭─[.github/copilot-instructions.md:5:1]
 5 │ - Use **camelCase** for variables and functions.
   · ─────────────────────────────────────
   ╰────
  help: the other side: .github/instructions/python.instructions.md:7: …

What just happened

  • aiscope discovered all 5 sources in the Copilot-only repo plus the path-scoped apps/web/AGENTS.md.
  • It noticed the agent's tools: allowlist excludes bash but an instruction says to use it — flagged as AgentToolMismatch (HIGH).
  • The root copilot-instructions.md has no applyTo, so it applies everywhere — and overlaps with python.instructions.md (which scopes to **/*.py). Their camelCase vs snake_case clash is HIGH.
  • python.instructions.md and typescript.instructions.md also disagree on naming, but their globs don't overlap (**/*.py vs **/*.ts) — so that pair is demoted to Low with a (scopes don't overlap) note.

That last point is what makes aiscope worth running: it doesn't just shout about every cross-file disagreement — it filters out false alarms based on actual scope overlap.

Try the TUI

aiscope .

Press c to filter to conflicts only. Press q to quit.

Try the summary card

aiscope --card scan.png .

Drop scan.png into your PR description.

Where to next