AI Instruction Diagnostics for coding agents. Validates the entire agentic instruction system against 97 rules.
npx @reporails/cli check
# or
uvx --from reporails-cli ails checknpx @reporails/cli install
# or
uvx --from reporails-cli ails installThis installs ails to your PATH and configures the MCP server for detected agents. From then on:
ails check
ails update # Upgrade to latest versionReporails — Diagnostics — Pro (beta)
┌─ Main (1)
│ CLAUDE.md
│ ⚠ Missing directory layout — show the project … CORE:C:0035
│ ⚠ L9 7 of 7 instruction(s) lack effective reinfor… CORE:C:0053
│ ... and 16 more
│ 1 misordered · 1 orphan · 1 ambiguous
│
└─ 21 findings
── Summary ────────────────────────────────────────────────────────
Score: 7.9 / 10 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░ (1.3s)
Agent: Claude
Scope:
capabilities: 2 main
instructions: 4 directive / 7 prose (50%)
3 constraint
21 findings · 4 warnings · 1 info
Compliance: HIGH
Fix the issues, run again, watch your score improve.
Offline diagnostics work without an account. For server-enhanced diagnostics (cross-file analysis, compliance scoring), sign up for the beta:
ails auth login # GitHub Device Flow — authorize in browser
ails auth status # Check current auth state
ails auth logout # Remove stored credentialsails check # Validate instruction files
ails check -f json # JSON output
ails check -f github # GitHub Actions annotations
ails check --strict # Exit 1 on any finding
ails check --agent claude # Agent-specific rules only
ails check --exclude-dirs vendor # Exclude directory from scanning
ails check -v # Verbose: all findings with rule IDs
ails explain CORE:S:0001 # Explain a specific rule
ails heal # Auto-fix common violations
ails install # Install CLI to PATH + MCP server
ails update # Upgrade to latest version
ails version # Show version info| Code | Meaning |
|---|---|
| 0 | Success |
| 1 | Findings found (strict mode) |
| 2 | Invalid input (bad path, unknown agent/format/rule) |
| Agent | Base config | Rules | Skills | Agents | Other |
|---|---|---|---|---|---|
| Claude | CLAUDE.md, .local.md |
.claude/rules/**/*.md |
.claude/skills/**/SKILL.md |
.claude/agents/**/*.md |
commands, output-styles, memory, MCP, settings |
| Codex | AGENTS.md, .override.md |
.codex/rules/*.rules |
.agents/skills/**/SKILL.md |
.codex/agents/*.toml |
hooks, config |
| Copilot | .github/copilot-instructions.md |
.github/instructions/**/*.md |
.github/skills/**/SKILL.md |
.github/agents/*.agent.md |
hooks, prompts, MCP |
| Cursor | .cursorrules, AGENTS.md |
.cursor/rules/**/*.mdc |
.cursor/skills/**/SKILL.md |
.cursor/agents/*.md |
hooks, notepads, MCP, policy |
| Gemini | GEMINI.md, AGENTS.md |
— | .gemini/skills/**/SKILL.md |
.gemini/agents/*.md |
commands, extensions, settings |
Auto-detects which agents are present. Scans project-level, user-level (~/), and managed (/etc/) paths.
Project config in .ails/config.yml:
default_agent: claude # Default agent (run: ails config set default_agent claude)
exclude_dirs: [vendor, dist] # Directories to skip
disabled_rules: [CORE:C:0010] # Rules to disableSet values via CLI: ails config set <key> <value>
Global config in ~/.reporails/config.yml applies to all projects. Project config overrides global.
ails config set --global default_agent claudeAdd ails check as a CI gate with inline PR annotations:
name: Reporails
on:
pull_request:
paths: ['CLAUDE.md', '.claude/**', 'AGENTS.md', '.cursorrules']
jobs:
check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: reporails/cli/action
with:
strict: "true"Or without the action:
- run: pip install reporails-cli && ails check . --format github --strict97 rules across five categories:
- Structure — File organization, discoverability, size limits, modularity
- Content — Clarity, specificity, reinforcement patterns, tech stack, domain terminology
- Efficiency — Token usage, instruction elaboration, formatting
- Maintenance — Versioning, review processes
- Governance — Security policies, credential protection, permissions
| Feature | Free | Pro |
|---|---|---|
| Mechanical + structural rules | 97 rules, full detail | 97 rules, full detail |
| Content-quality checks (embedding-based) | Full detail | Full detail |
| Client checks (ordering, orphan, format, bold, scope) | Full detail | Full detail |
| Per-atom diagnostics (specificity, modality, brevity) | Full detail | Full detail |
| Interaction diagnostics (conflicts, competition, coupling) | Count per file | Full detail (line, fix, effect) |
| Cross-file analysis (conflicts, repetition) | Coordinates only | Full |
| Compliance band + system score | — | Full |
Free tier requires no account. Pro shows you how many interaction problems exist and where cross-file conflicts are — enough to know if your instructions are working. Pro gives the full detail: which line, what to fix, and how strong the effect is.
The embedding model is bundled in the wheel. First run may download the spaCy language model (~13 MB). Subsequent runs complete in under 2 seconds for typical projects.
BUSL 1.1 — converts to Apache 2.0 three years after each release.