Skip to main content

AI instruction diagnostics for coding agents

Project description

Reporails CLI

AI Instruction Diagnostics for coding agents. Validates the entire agentic instruction system against 97 rules.

Beta phase — Moving fast, feedback welcome.

Quick Start

npx @reporails/cli check
# or
uvx --from reporails-cli ails check

Install

npx @reporails/cli install
# or
uvx --from reporails-cli ails install

This installs ails to your PATH and configures the MCP server for detected agents. From then on:

ails check
ails update               # Upgrade to latest version
Reporails — 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.

Authentication

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 credentials

Commands

ails 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

Exit codes

Code Meaning
0 Success
1 Findings found (strict mode)
2 Invalid input (bad path, unknown agent/format/rule)

Supported Agents

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.

Configuration

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 disable

Set values via CLI: ails config set <key> <value>

Global defaults

Global config in ~/.reporails/config.yml applies to all projects. Project config overrides global.

ails config set --global default_agent claude

GitHub Actions

Add 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 --strict

What It Checks

97 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

Free vs Pro

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.

Performance

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.

License

BUSL 1.1 — converts to Apache 2.0 three years after each release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reporails_cli-0.5.4.tar.gz (544.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reporails_cli-0.5.4-py3-none-any.whl (83.5 MB view details)

Uploaded Python 3

File details

Details for the file reporails_cli-0.5.4.tar.gz.

File metadata

  • Download URL: reporails_cli-0.5.4.tar.gz
  • Upload date:
  • Size: 544.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for reporails_cli-0.5.4.tar.gz
Algorithm Hash digest
SHA256 5c216cc387f589d9d3edaf32919ef2fe56547bbfbe193ee158f68533ac24ba44
MD5 654d87157d863c3473fb5c4f8798fcbb
BLAKE2b-256 41bb4c9bc4a4a8733c74ccde07d7ea5fe297a1ec43d96438372cf79eb712ac80

See more details on using hashes here.

Provenance

The following attestation bundles were made for reporails_cli-0.5.4.tar.gz:

Publisher: release.yml on reporails/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reporails_cli-0.5.4-py3-none-any.whl.

File metadata

  • Download URL: reporails_cli-0.5.4-py3-none-any.whl
  • Upload date:
  • Size: 83.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for reporails_cli-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 b502c5fc080671e185e2c012426657404753748e54d27756b21a2408fa496694
MD5 2a20b0599700d43f507f19934988aa02
BLAKE2b-256 6dc082568d57bdb6ae7184c4616d826ff896296ffc6e00b51c4cf124a776128c

See more details on using hashes here.

Provenance

The following attestation bundles were made for reporails_cli-0.5.4-py3-none-any.whl:

Publisher: release.yml on reporails/cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page