Audit any repository for AI-readiness.
https://github.com/f/check-ai.git
Audit any repository for AI-readiness.
One command. 66 checks. Zero dependencies. Scans for agent configs, repo hygiene, grounding docs, testing safety nets, prompt templates, MCP integrations, AI dependencies โ and scores it all on a 0โ10 scale.
๐งน Repo Hygiene โโโโโโโโโโโโโโโ 77% (26/34)
๐ Grounding Docs โโโโโโโโโโโโโโโ 65% (15/23)
๐งช Testing โโโโโโโโโโโโโโโ 90% (9/10)
๐ค Agent Configs โโโโโโโโโโโโโโโ 75% (55/73)
๐ AI Context โโโโโโโโโโโโโโโ 40% (6/15)
๐งฉ Prompts โโโโโโโโโโโโโโโ 28% (5/18)
๐ MCP โโโโโโโโโโโโโโโ 100% (11/11)
๐ฆ AI Deps โโโโโโโโโโโโโโโ 100% (4/4)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
A Strong โ AI-ready
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ 7.8/10
38 of 66 checks passed ยท 131/188 pts
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
npx check-ai
Scan a specific repo:
npx check-ai /path/to/repo
| Flag | Description |
|---|---|
--json | Machine-readable JSON output |
--verbose, -v | Include low-priority (nice-to-have) recommendations |
--no-interactive | Disable animated output (auto-detected in CI / pipes) |
--ci | Alias for --no-interactive |
-h, --help | Show help |
--version | Show version |
check-ai exits with code 1 when the score is below 3/10, so you can use it as a CI gate:
# GitHub Actions
- name: AI Readiness Check
run: npx check-ai
# GitLab CI
ai-audit:
script: npx check-ai --ci
Pipe results into other tools or dashboards:
npx check-ai --json | jq '.score'
{
"score": 7.8,
"grade": "A",
"label": "Strong โ AI-ready",
"checks": { "passed": 38, "total": 66 },
"sections": { ... },
"findings": [ ... ]
}
check-ai runs 66 checks grouped into 8 sections. Each check has a weight based on real-world impact.
A clean, well-structured repo is the foundation for AI agents to work effectively.
| Check | What it looks for |
|---|---|
| Git repo | .git directory |
| Gitignore | .gitignore |
| Env example | .env.example, .env.sample, .env.template |
| Editor config | .editorconfig |
| Linter | ESLint, Pylint, Ruff, RuboCop, golangci-lint configs |
| Formatter | Prettier, Biome, deno fmt, clang-format, rustfmt configs |
| CI pipeline | GitHub Actions, GitLab CI, CircleCI, Jenkins, Travis, Bitbucket Pipelines |
| Standard scripts | start, test, lint in package.json or Makefile |
| Dev container | .devcontainer/ for reproducible environments |
Documentation that helps AI agents understand what your project is and how it works.
| Check | What it looks for |
|---|---|
| README | README.md |
| README quality | Checks for install instructions, usage, structure, code blocks, headings |
| Contributing guide | CONTRIBUTING.md |
| Architecture doc | architecture.md, ARCHITECTURE.md, docs/architecture.md |
| Tech stack doc | tech-stack.md, docs/tech-stack.md |
| AI requirements | .ai/requirements, .ai/docs, docs/prd |
| llms.txt | llms.txt, llms-full.txt (the llms.txt standard) |
Tests catch agent-introduced regressions before they ship.
| Check | What it looks for |
|---|---|
| Test directory | tests/, test/, __tests__/, spec/, e2e/, cypress/, playwright/ |
| Test runner config | Jest, Vitest, Playwright, Cypress, pytest, RSpec configs |
| Coverage config | nyc, c8, coveragerc, Codecov configs |
The core of AI-readiness. Having at least one AI tool configured earns a large bonus โ because in practice, teams use one tool (Cursor or Windsurf or Claude Code), not all of them at once.
| Check | What it looks for |
|---|---|
| At least one AI tool | Any tool-specific config found (big bonus) |
| AGENTS.md | Universal cross-tool agent instructions (agents.md) |
| AGENTS.md quality | Content analysis: build commands, test instructions, style guide, code examples |
| Nested AGENTS.md | Deep scan for per-module AGENTS.md files |
| .agents/ | Agent assets directory (skills, plans) |
| Claude Code | CLAUDE.md, .claude/, .claude/settings.json |
| Cursor | .cursorrules, .cursor/rules/ |
| Windsurf | .windsurfrules (legacy), .windsurf/rules/ (new), .windsurf/skills/, .windsurf/workflows/ |
| GitHub Copilot | .github/copilot-instructions.md, .github/instructions/ |
| OpenAI Codex | .codex/, CODEX.md |
| Google Gemini | .gemini/ |
| Aider | .aider.conf.yml |
| Roo Code | .roo/ |
| Continue | .continue/, .continuerc.json |
| Amp (Sourcegraph) | Reads AGENTS.md (counted via AGENTS.md check) |
| JetBrains Junie | .junie/, .junie/guidelines.md |
| Entire HQ | .entire/ (captures AI agent sessions per git push) |
| OpenCode | opencode.json, .opencode/ (agents, commands, skills, plugins) |
| Zed | .rules |
| Trae | .trae/rules/ |
| Cline | .clinerules |
Files that control what AI agents can and cannot see.
| Check | What it looks for |
|---|---|
| Cursor ignore | .cursorignore |
| Cursor indexing ignore | .cursorindexingignore |
| AI ignore | .aiignore, .aiexclude |
| CodeRabbit | .coderabbit.yaml |
| Copilot ignore | .copilotignore |
| Codeium ignore | .codeiumignore |
| Instruction files | Deep scan for .instructions.md files |
Reusable prompt templates and agent skill definitions.
| Check | What it looks for |
|---|---|
| Prompt templates (.yml) | Deep scan for .prompt.yml files |
| Prompt templates (.md) | Deep scan for .prompt.md files |
| Prompts directory | prompts/, .prompts/, .ai/prompts/ |
| Skills | Deep scan for SKILL.md files |
| Claude commands | .claude/commands/ |
Tool integrations that extend agent capabilities.
| Check | What it looks for |
|---|---|
| MCP config | .mcp.json, mcp.json |
| MCP server count | Parses config and counts configured servers |
| MCP directory | .mcp/ |
Detects AI SDK usage in your project.
| Check | What it looks for |
|---|---|
| AI SDKs | Scans package.json, requirements.txt, pyproject.toml for OpenAI, Anthropic, LangChain, Vercel AI SDK, Google AI, Hugging Face, MCP SDK, vector DBs, tokenizers, and more (~40 packages) |
Each check has a weight based on how much it impacts AI-readiness.
The raw score is normalized to a 0โ10 scale:
| Grade | Score | Verdict |
|---|---|---|
| A+ | 9โ10 | Exemplary โ fully AI-ready |
| A | 7โ9 | Strong โ AI-ready |
| B | 5โ7 | Decent โ partially AI-ready |
| C | 3โ5 | Weak โ minimal AI setup |
| D | 1โ3 | Poor โ barely AI-aware |
| F | 0โ1 | None โ not AI-ready |
When run in a terminal (TTY), check-ai shows:
Built entirely with Node.js built-ins (fs, path, readline). No install required beyond npx. Works offline โ no network calls, pure static analysis.
MIT