Metadata-Version: 2.4
Name: reporails-cli
Version: 0.5.7
Summary: AI instruction diagnostics for coding agents
Project-URL: Homepage, https://reporails.com
Project-URL: Documentation, https://github.com/reporails/cli#readme
Project-URL: Repository, https://github.com/reporails/cli
Project-URL: Issues, https://github.com/reporails/cli/issues
Author: Reporails Team
License-Expression: BUSL-1.1
License-File: LICENSE
Keywords: ai-instructions,claude,codex,copilot,cursor,diagnostics,gemini,mcp,validation
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Quality Assurance
Requires-Python: >=3.12
Requires-Dist: httpx>=0.27.0
Requires-Dist: markdown-it-py>=3.0.0
Requires-Dist: mcp>=1.0.0
Requires-Dist: numpy<3,>=1.26
Requires-Dist: onnxruntime<2,>=1.18
Requires-Dist: packaging>=23.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: pyyaml>=6.0.0
Requires-Dist: regex>=2024.11.6
Requires-Dist: rich>=13.0.0
Requires-Dist: scikit-learn>=1.4.0
Requires-Dist: spacy<4,>=3.8.11
Requires-Dist: tokenizers<1,>=0.19
Requires-Dist: typer>=0.12.0
Provides-Extra: dev
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: poethepoet>=0.25.0; extra == 'dev'
Requires-Dist: pylint>=3.0.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.3.0; extra == 'dev'
Requires-Dist: types-pyyaml>=6.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# Reporails CLI (v0.5.7)

> **AI Instruction Diagnostics for coding agents. Validates the entire agentic instruction system against 92+ rules across six categories. Supports Claude, Codex, Copilot, Cursor, and Gemini.**
> 
> *Beta phase - moving fast, feedback welcome.*

## Quick Start

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

No install, no account. Actionable findings in seconds - fix them, run again, watch the score improve:

```
Reporails - Diagnostics

  ┌─ Main (4)  61 directive / 9 constraint · 71% prose
  │ CLAUDE.md  10 dir / 1 con / 1 amb · 71% prose
  │           Missing tech stack declaration - list languages, frameworks, and runtimes  CORE:C:0034
  │           Missing MCP documentation - describe MCP server configuration if applicable  CORE:C:0027
  │     ... and 3 more
  │     4 brief · 1 orphan
  │
  └─ 181 findings

  [⋯ Agents (3) · Skills (10) · Rules (13)  +318 findings ⋯]

  ── Summary ────────────────────────────────────────────────────────

  Score: 7.3 / 10  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░  (3.9s)
  Agent: Claude

  Scope:
    instructions: 277 directive / 448 prose (56%)
                  75 constraint / 10 ambiguous

  Main (4):     ▓▓▓▓▓▓▓▓▓▓░░░░░   6.9    Rules (13):   ▓▓▓▓▓▓▓▓▓▓▓▓░░░   7.9
  Skills (10):  ▓▓▓▓▓▓▓▓▓▓▓░░░░   7.2    Agents (3):   ▓▓▓▓▓▓▓▓▓▓░░░░░   6.9

  499 findings · 5 errors · 416 warnings · 70 info
  2 cross-file conflicts · 7 cross-file repetitions
```

## Install permanently

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

Puts `ails` on your PATH.

## Anonymous vs signed

Anonymous mode needs no account. Signing in raises the rate / payload caps and unlocks per-finding fix text and exact cross-file conflict locations.

```bash
# GitHub Device Flow - authorize in browser
ails auth login
```

Full breakdown: [Tiers and Limits](https://github.com/reporails/cli/blob/main/docs/tiers.md).

## In CI

Run on every PR so instruction-quality regressions (contradictions, oversized files, weak reinforcement) get caught the same way test or lint regressions do — before merge, not after a teammate's agent has been silently misbehaving for a week.

```yaml
- uses: reporails/cli/action
  with:
    api-key: ${{ secrets.REPORAILS_API_KEY }}   # optional - sign-in for full diagnostic detail
    strict: "true"                              # exit 1 if any rule fires
    min-score: "7.0"                            # exit 1 if score < 7.0
```

Capture your API key with `ails auth token` and store it as `REPORAILS_API_KEY` in your CI secret store. See [Configuration → Authentication](https://github.com/reporails/cli/blob/main/docs/configuration.md#authentication).

## Documentation

- [Getting Started](https://github.com/reporails/cli/blob/main/docs/getting-started.md) - install, first run, what the output means
- [Agent Support](https://github.com/reporails/cli/blob/main/docs/agent-support.md) - which agents are recognized and what's covered
- [Tiers and Limits](https://github.com/reporails/cli/blob/main/docs/tiers.md) - anonymous vs signed in, what each mode includes
- [Configuration](https://github.com/reporails/cli/blob/main/docs/configuration.md) - disabling rules, project / global config, exclude paths
- [Score Guide](https://github.com/reporails/cli/blob/main/docs/score-guide.md) - how the score is built and what it tells you
- [FAQ](https://github.com/reporails/cli/blob/main/docs/faq.md) - common questions

## Built and validated for

- **Claude** — [Anthropic](https://github.com/anthropics)
- **Codex** — [OpenAI](https://github.com/openai)
- **Copilot** — [GitHub](https://github.com/github)
- **Cursor** — [Anysphere](https://github.com/cursor)
- **Gemini** — [Google](https://github.com/google-gemini)

## License

[BUSL 1.1](LICENSE) - converts to Apache 2.0 three years after each release.
