---
title: "What is any-doctor"
description: "A doctor is a single JS file that scans your repo for mistakes. Yours to write, forever."
---

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

# What is any-doctor

A doctor is a single JS file that scans your repo for mistakes and
reports the findings. It's a deterministic way to capture frequent
patterns you see in code reviews. This allows you to run code review
scans without wasting tokens on the findings, making it easier for your
agents to fix things without searching the whole codebase.

Run it after your agent finishes work. You and your agent can fix what's
real or record an accepted/not-applicable decision with a reason. Local
decisions persist between runs and leave the active list; changed evidence
resurfaces them for reassessment. Raw findings and CI gates remain unchanged.

## The loop

1. Your agent writes code. You run /review. It finds bugs and fixes.
   Your agent continues to write code and fix the same exact bug.
2. You call out the recurring pattern and ask your agent to write a
   doctor for it. Every doctor scan moving forward will catch that
   pattern again. No inference being spent on the search.

## Predefined sample doctors

We have some doctors for you to test in your own codebase!

- [async](/doctors/async): fetch hygiene, dropped promises, timer cleanup
- [convex](/doctors/convex): indexed reads, bounded collects, query discipline
- [slop](/doctors/slop): duplicated helpers, dead exports, hostname-sniffed
  environments, careless text matching
- [openrouter](/doctors/openrouter): stream errors surfaced, cancellations
  that stop billing
- [deepgram](/doctors/deepgram): endpoint/model compatibility, streaming
  options, Read shapes, hosts and proven browser key exposure
- [effect-v4](/doctors/effect-v4-kitlangton): the rules of the
  [kitlangton Effect skill](https://www.ui-skills.com/skills/kitlangton/effect)

## The goal

The real goal here is for you to
[write your own doctors](/authoring/first-doctor) tailored specifically
to your codebase or team. Ask your agent how to create doctors using
any-doctor!

## Where to go next

- [Quickstart](/getting-started/quickstart) — run your first scan
- [The report](/scans/report) — how to read findings and the score
- [Writing your first doctor](/authoring/first-doctor) — capture a pattern forever
- [The agent guide](/agents/agent-guide) — the interface your agent reads

Source: https://anydoctor.dev/welcome/index.mdx
