Skip to content

Docs

Four verbs. Everything else is a view underneath one of them. Start with check.

Install

Python 3.9 or later on Linux, macOS or Windows. The installer creates its own environment, so the system interpreter and PATH do not matter.

$ bash install.sh          # from the source folder
$ cd your-project
$ aition check             # free, local, no key required
$ aition doctor            # diagnostics with the exact fix for anything wrong

No account and no hosted service. An API key is only needed for ask and triage, and you supply your own.

Commands

aition check

Reviews a change with no model call and no API key. Works on uncommitted changes, a staged diff, the last commit, or a whole branch with --base main. Returns review items, affected candidates with evidence per edge, linked tests, owners, coverage gaps, and a scope line naming what was not checked. Writes a durable run receipt.

Views: check impact, check history, check setup, check doctor, check hook. All free.

aition ask "<question>"

Hypotheticals that need judgment rather than traversal. The structural layer finds candidates; a model classifies each file DISCARD, REWORK, REVIEW or SAFE with a reason, a confidence, and for every REVIEW the one concrete check that would settle it.

Views: ask view plan (free), ask view compare, ask view brief. Flags: --max-cost (default $2), --preview, --structural, --json.

aition triage

Given an agent's session transcript and a constraint that has since changed, classifies the agent's own output: which files rest on an assumption that is no longer true. Writes a repair plan. Records assumptions to a ledger that outlives the session.

Views: triage scan, triage review. Claude Code and Codex sessions parse natively.

aition verify

Runs your real test command against prior findings in an isolated copy. Removes each DISCARD, runs the build, restores it. Records verification as its own status and never converts a green run into a safety claim.

View: verify harden, which generates a regression test for a resolved assumption.

Evidence levels

  • confirmedA parsed import or reference that resolves, under that language's own rules, to the changed item. Cites file and line.
  • possibleA real signal that can't be proven statically: a same-package reference, an implicit interface implementation, an ambiguous bare name.
  • reported (unverified)Reached, but nothing establishes the link.
  • not reachedNo structural signal found. Explicitly not the same as safe.

Levels are never promoted between. Where several modules share a name, the tool names the candidates and marks the finding possible rather than picking one.

CI

--json puts exactly one object on stdout; diagnostics go to stderr. Exit 0 means evaluated with no threshold hit, 2 means a --fail-on threshold was hit, 1 means it could not evaluate, and 130 means cancelled. A gate never passes because credentials were missing.

$ aition check --json --fail-on REWORK

Agents

An MCP server exposes check, ask, plan and verify over stdio, with the same budget and safety guarantees as the CLI.

$ claude mcp add aition -- python3 /path/to/aition_mcp.py

aition check setup writes CLAUDE.md and AGENTS.md so the agent checks blast radius before contract-changing edits and verifies afterwards.

Everything else

Configuration, the GitHub Action, the post-commit hook and the JSON schema live in the repo README. The repo is opening to the first engineers to ask. Get early access.