{"id":48076959,"url":"https://github.com/f/check-ai","last_synced_at":"2026-04-04T14:50:56.030Z","repository":{"id":338784501,"uuid":"1159128736","full_name":"f/check-ai","owner":"f","description":"Audit any repository for AI-readiness.","archived":false,"fork":false,"pushed_at":"2026-02-16T13:13:48.000Z","size":114,"stargazers_count":24,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-16T20:08:37.653Z","etag":null,"topics":["agents","ai-readiness"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/f.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-16T10:56:54.000Z","updated_at":"2026-02-16T19:17:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/f/check-ai","commit_stats":null,"previous_names":["f/check-ai"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/f/check-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fcheck-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fcheck-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fcheck-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fcheck-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f","download_url":"https://codeload.github.com/f/check-ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f%2Fcheck-ai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31403731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-04T10:20:44.708Z","status":"ssl_error","status_checked_at":"2026-04-04T10:20:06.846Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai-readiness"],"created_at":"2026-04-04T14:50:55.165Z","updated_at":"2026-04-04T14:50:56.019Z","avatar_url":"https://github.com/f.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"logo.svg\" alt=\"check-ai logo\" width=\"120\" height=\"120\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003enpx check-ai\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\u003cstrong\u003eAudit any repository for AI-readiness.\u003c/strong\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\n[![AI Ready](https://img.shields.io/badge/AI%20Ready-C%204.9%2F10-yellow)](https://github.com/f/check-ai)\n\n\u003c/p\u003e\n\nOne 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**.\n\n```\n  🧹 Repo Hygiene  ████████████░░░  77% (26/34)\n  📄 Grounding Docs ██████████░░░░░  65% (15/23)\n  🧪 Testing       ██████████████░  90% (9/10)\n  🤖 Agent Configs  ████████████░░░  75% (55/73)\n  🔒 AI Context    ██████░░░░░░░░░  40% (6/15)\n  🧩 Prompts       ████░░░░░░░░░░░  28% (5/18)\n  🔌 MCP           ███████████████  100% (11/11)\n  📦 AI Deps       ███████████████  100% (4/4)\n\n  ──────────────────────────────────────────────────\n\n   A   Strong — AI-ready\n\n  ████████████████████████████████░░░░░░░░  7.8/10\n  38 of 66 checks passed · 131/188 pts\n\n  ──────────────────────────────────────────────────\n```\n\n## Install \u0026 Run\n\n```bash\nnpx check-ai\n```\n\nScan a specific repo:\n\n```bash\nnpx check-ai /path/to/repo\n```\n\n### Options\n\n| Flag               | Description                                           |\n| ------------------ | ----------------------------------------------------- |\n| `--json`           | Machine-readable JSON output                          |\n| `--verbose`, `-v`  | Include low-priority (nice-to-have) recommendations   |\n| `--no-interactive` | Disable animated output (auto-detected in CI / pipes) |\n| `--ci`             | Alias for `--no-interactive`                          |\n| `-h`, `--help`     | Show help                                             |\n| `--version`        | Show version                                          |\n\n### CI Integration\n\n`check-ai` exits with code **1** when the score is below 3/10, so you can use it as a CI gate:\n\n```yaml\n# GitHub Actions\n- name: AI Readiness Check\n  run: npx check-ai\n```\n\n```yaml\n# GitLab CI\nai-audit:\n  script: npx check-ai --ci\n```\n\n### JSON Output\n\nPipe results into other tools or dashboards:\n\n```bash\nnpx check-ai --json | jq '.score'\n```\n\n```json\n{\n  \"score\": 7.8,\n  \"grade\": \"A\",\n  \"label\": \"Strong — AI-ready\",\n  \"checks\": { \"passed\": 38, \"total\": 66 },\n  \"sections\": { ... },\n  \"findings\": [ ... ]\n}\n```\n\n---\n\n## What It Audits\n\n`check-ai` runs **66 checks** grouped into **8 sections**. Each check has a weight based on real-world impact.\n\n### 🧹 Repo Hygiene\n\nA clean, well-structured repo is the foundation for AI agents to work effectively.\n\n| Check            | What it looks for                                                         |\n| ---------------- | ------------------------------------------------------------------------- |\n| Git repo         | `.git` directory                                                          |\n| Gitignore        | `.gitignore`                                                              |\n| Env example      | `.env.example`, `.env.sample`, `.env.template`                            |\n| Editor config    | `.editorconfig`                                                           |\n| Linter           | ESLint, Pylint, Ruff, RuboCop, golangci-lint configs                      |\n| Formatter        | Prettier, Biome, deno fmt, clang-format, rustfmt configs                  |\n| CI pipeline      | GitHub Actions, GitLab CI, CircleCI, Jenkins, Travis, Bitbucket Pipelines |\n| Standard scripts | `start`, `test`, `lint` in package.json or Makefile                       |\n| Dev container    | `.devcontainer/` for reproducible environments                            |\n\n### 📄 Grounding Docs\n\nDocumentation that helps AI agents understand what your project is and how it works.\n\n| Check              | What it looks for                                                          |\n| ------------------ | -------------------------------------------------------------------------- |\n| README             | `README.md`                                                                |\n| README quality     | Checks for install instructions, usage, structure, code blocks, headings   |\n| Contributing guide | `CONTRIBUTING.md`                                                          |\n| Architecture doc   | `architecture.md`, `ARCHITECTURE.md`, `docs/architecture.md`               |\n| Tech stack doc     | `tech-stack.md`, `docs/tech-stack.md`                                      |\n| AI requirements    | `.ai/requirements`, `.ai/docs`, `docs/prd`                                 |\n| llms.txt           | `llms.txt`, `llms-full.txt` (the [llms.txt standard](https://llmstxt.org)) |\n\n### 🧪 Testing Safety Net\n\nTests catch agent-introduced regressions before they ship.\n\n| Check              | What it looks for                                                           |\n| ------------------ | --------------------------------------------------------------------------- |\n| Test directory     | `tests/`, `test/`, `__tests__/`, `spec/`, `e2e/`, `cypress/`, `playwright/` |\n| Test runner config | Jest, Vitest, Playwright, Cypress, pytest, RSpec configs                    |\n| Coverage config    | nyc, c8, coveragerc, Codecov configs                                        |\n\n### 🤖 Agent Configs\n\nThe 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.\n\n| Check                    | What it looks for                                                                                |\n| ------------------------ | ------------------------------------------------------------------------------------------------ |\n| **At least one AI tool** | Any tool-specific config found (big bonus)                                                       |\n| AGENTS.md                | Universal cross-tool agent instructions ([agents.md](https://agents.md))                         |\n| AGENTS.md quality        | Content analysis: build commands, test instructions, style guide, code examples                  |\n| Nested AGENTS.md         | Deep scan for per-module AGENTS.md files                                                         |\n| .agents/                 | Agent assets directory (skills, plans)                                                           |\n| Claude Code              | `CLAUDE.md`, `.claude/`, `.claude/settings.json`                                                 |\n| Cursor                   | `.cursorrules`, `.cursor/rules/`                                                                 |\n| Windsurf                 | `.windsurfrules` (legacy), `.windsurf/rules/` (new), `.windsurf/skills/`, `.windsurf/workflows/` |\n| GitHub Copilot           | `.github/copilot-instructions.md`, `.github/instructions/`                                       |\n| OpenAI Codex             | `.codex/`, `CODEX.md`                                                                            |\n| Google Gemini            | `.gemini/`                                                                                       |\n| Aider                    | `.aider.conf.yml`                                                                                |\n| Roo Code                 | `.roo/`                                                                                          |\n| Continue                 | `.continue/`, `.continuerc.json`                                                                 |\n| Amp (Sourcegraph)        | Reads AGENTS.md (counted via AGENTS.md check)                                                    |\n| JetBrains Junie          | `.junie/`, `.junie/guidelines.md`                                                                |\n| Entire HQ                | `.entire/` (captures AI agent sessions per git push)                                             |\n| OpenCode                 | `opencode.json`, `.opencode/` (agents, commands, skills, plugins)                                |\n| Zed                      | `.rules`                                                                                         |\n| Trae                     | `.trae/rules/`                                                                                   |\n| Cline                    | `.clinerules`                                                                                    |\n\n### 🔒 AI Context\n\nFiles that control what AI agents can and cannot see.\n\n| Check                  | What it looks for                      |\n| ---------------------- | -------------------------------------- |\n| Cursor ignore          | `.cursorignore`                        |\n| Cursor indexing ignore | `.cursorindexingignore`                |\n| AI ignore              | `.aiignore`, `.aiexclude`              |\n| CodeRabbit             | `.coderabbit.yaml`                     |\n| Copilot ignore         | `.copilotignore`                       |\n| Codeium ignore         | `.codeiumignore`                       |\n| Instruction files      | Deep scan for `.instructions.md` files |\n\n### 🧩 Prompts \u0026 Skills\n\nReusable prompt templates and agent skill definitions.\n\n| Check                   | What it looks for                       |\n| ----------------------- | --------------------------------------- |\n| Prompt templates (.yml) | Deep scan for `.prompt.yml` files       |\n| Prompt templates (.md)  | Deep scan for `.prompt.md` files        |\n| Prompts directory       | `prompts/`, `.prompts/`, `.ai/prompts/` |\n| Skills                  | Deep scan for `SKILL.md` files          |\n| Claude commands         | `.claude/commands/`                     |\n\n### 🔌 MCP (Model Context Protocol)\n\nTool integrations that extend agent capabilities.\n\n| Check            | What it looks for                           |\n| ---------------- | ------------------------------------------- |\n| MCP config       | `.mcp.json`, `mcp.json`                     |\n| MCP server count | Parses config and counts configured servers |\n| MCP directory    | `.mcp/`                                     |\n\n### 📦 AI Dependencies\n\nDetects AI SDK usage in your project.\n\n| Check   | What it looks for                                                                                                                                                                             |\n| ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 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) |\n\n---\n\n## How Scoring Works\n\nEach check has a **weight** based on how much it impacts AI-readiness.\n\nThe raw score is normalized to a **0–10 scale**:\n\n| Grade  | Score | Verdict                     |\n| ------ | ----- | --------------------------- |\n| **A+** | 9–10  | Exemplary — fully AI-ready  |\n| **A**  | 7–9   | Strong — AI-ready           |\n| **B**  | 5–7   | Decent — partially AI-ready |\n| **C**  | 3–5   | Weak — minimal AI setup     |\n| **D**  | 1–3   | Poor — barely AI-aware      |\n| **F**  | 0–1   | None — not AI-ready         |\n\n### Scoring Philosophy\n\n- **Having any one AI tool configured earns a big bonus.** People use Cursor or Windsurf or Claude Code — not all at once. The tool doesn't penalize you for picking one.\n- **AGENTS.md is weighted highest** among individual checks because it's the universal, cross-tool standard.\n- **Content quality matters**, not just file existence. AGENTS.md and README.md are analyzed for real signals like build commands, test instructions, code examples, and headings.\n- **Deep scanning** walks your file tree (up to 6 levels) to find nested AGENTS.md, .prompt.yml, SKILL.md, and .instructions.md files.\n\n---\n\n## Interactive Mode\n\nWhen run in a terminal (TTY), `check-ai` shows:\n\n- **Spinner** with live progress during scanning\n- **Animated score bar** that fills in real-time\n- **Section-by-section reveal** with staggered items\n\nAutomatically falls back to static output when piped or in CI environments.\n\n---\n\n## Zero Dependencies\n\nBuilt entirely with Node.js built-ins (`fs`, `path`, `readline`). No install required beyond `npx`. Works offline — no network calls, pure static analysis.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff%2Fcheck-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff%2Fcheck-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff%2Fcheck-ai/lists"}