driftmd.
your readme is lying. driftmd catches it.
You already have a README. driftmd checks if it's still accurate. It compares every claim against your actual code and tells you what's wrong.
npx driftmdrun it right now. zero config.
How it works
Your README says one thing.
Your code says another.
README claims
"Config lives in src/config.yaml"
"Run with --verbose"
"Set REDIS_HOST"
driftmd scans
Parses your README, extracts every claim, then cross-references against your actual files, CLI flags, env vars, badges, and signatures.
Drift caught
File deleted. Flag removed. Env var unused. Badge outdated. Default changed. You fix it before users notice.
What it checks
7 checks. 7 languages.
Internal links
[guide](./docs/setup.md) points to a deleted file
Directory trees
ASCII tree shows src/helpers/ but the folder was renamed
Badge versions
Badge says v2.0.0, package.json says v3.1.0
File references
README mentions src/config.yaml but the file is gone
CLI flags
Docs say --verbose but the flag was removed from argparse
Env variables
README says set REDIS_URL but code never reads it
Signatures
README shows connect(timeout=60) but default is 30
Supports TypeScript, JavaScript, Python, Rust, Go, Ruby, and Java.
CLI flag extraction works with commander, argparse, click, and clap.
Get started
Pick how you want to use it.
Terminal
Run once in any project. Nothing to install, nothing to configure.
npx driftmdGitHub Action
Add one file. Every PR gets checked for README drift automatically.
name: driftmd
on: [pull_request]
jobs:
drift:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: Ijtihed/driftmd@v1AI Prompt
Paste into Cursor, Claude Code, or Copilot. AI does the rest.
Add driftmd to this project. Create .github/workflows/driftmd.yml that runs on every PR using the Ijtihed/driftmd@v1 action. Also run npx driftmd locally and fix any README drift it finds. Commit both the workflow file and any README fixes.