Install
Evaluate immediately — no API key
Evaluate against any public ruleset. No login is required for public ruleset discovery, field inspection, explanations, or decisions.Author your own rules
Authoring is invite-only private beta (request access). SetANTHROPIC_API_KEY for default Sonnet 5 generation. For DeepSeek, set DEEPSEEK_API_KEY and select --model deepseek-flash. The selected provider key is sent with that generation request only and never stored.
No separate sign-in step.
aethis init runs the browser OAuth flow for you the first time, then scaffolds. Alternatively, run aethis login explicitly first — same result. As of v0.6.0, any authoring command (aethis generate, aethis publish, …) also prompts you to sign in inline if no key is cached, so the order doesn’t matter.For CI / scripted use, set an AETHIS_API_KEY env var or pass --no-prompt (combined with a missing key, this fails fast instead of hanging on a browser prompt).A login key authors rulebooks today, via a transition alias.
aethis login mints ruleset-authoring scopes and not rulebooks:*, but the engine treats rulesets:write as satisfying rulebooks:write, so aethis rulebooks create / activate works. That alias is temporary and will be removed once every key carries the canonical scope, so mint the full scope set for any key you intend to keep. Run aethis whoami to see your scopes. Full details — the alias table, the scope model, rotation, profiles, CI — on the Authentication & API keys page.Scaffolding a rulebook.
aethis init my-rulebook --kind rulebook scaffolds a rulebook (shared fields/ + guidance/, no sources/ of its own — those belong to its member rulesets). --kind ruleset (the default) scaffolds a single rule set.Publish with citations
aethis publish --source-targets <file> resolves the ruleset’s citation keys to
the documents they cite, so every criterion ships bound to the verbatim text it
rests on. Available in aethis-cli v0.31.0+.
The targets file is YAML or JSON, keyed by citation key. Each entry names
exactly one of url (a public HTTPS document) or file (a local file,
uploaded to the project and cited as a retained artefact), plus title,
authority, licence and the verbatim quote.exact:
file entry becomes an authenticated artefact reference, never an
anonymously readable link, and the CLI labels the two kinds distinctly so you
cannot mistake one for the other.
Full semantics — reference schemas, the public-visibility rule, failure reason
codes — are on Provenance and citations.
Review a project (Authoring Coach)
aethis review scores the current project — or a named one — against the Authoring Coach rubric: grounded rationales, discovery, sources, test coverage, iteration, and version discipline. It’s advisory only — it never blocks publishing — and the deterministic score needs no LLM key. Available in aethis-cli v0.27.0+.
--coach adds an opt-in mentoring narrative synthesised with your own Anthropic key; the deterministic layer ignores the key entirely.
Project structure
aethis.yaml
guidance/hints.yaml
process_type is either rule_generation (affects how rules are generated) or field_extraction (affects how fields are identified from source text).
tests/scenarios.yaml
Error scenarios
Generation fails immediately: Check thatAETHIS_API_KEY is set and valid. Run aethis account keys to verify.
Generation times out:
Don’t re-trigger blindly — the server may keep running after your client
disconnects. Run aethis status (or aethis status --project-id <id>) before
retrying. Cancel only when you explicitly intend to abandon the run; see
Handling generation timeouts.
Tests fail on publish:
aethis publish refuses if tests are failing. Fix with aethis generate (after adding guidance) or pass --force to override (not recommended for production).
Date field listed in field_errors:
The value parsed as neither an ISO "YYYY-MM-DD" string nor an integer ordinal (e.g. an ISO datetime, or an invalid calendar date). See Date field values.
Commands
Decision (no API key)
Authoring
Guidance (project-level)
Project guidance is authored inguidance/hints.yaml and uploaded by aethis generate. These commands manage hints server-side after upload.
Fields — inspect & manage the vocabulary
aethis fields (no subcommand) inspects a ruleset’s fields. The subcommands manage the
local fields/fields.yaml vocabulary during authoring.
Projects & tenant rulesets (login required)
Rulebooks (the converged 2-term model, login required for authoring)
A Rulebook is the whole form — the unit/decide evaluates against. It owns a locked field vocabulary, an outcome_logic composition expression, rulebook-level test cases, and an integer version history. Rulesets are named, versioned members of a Rulebook. See Nomenclature for the full model. Commands shipped in CLI v0.14.0+ (rulebooks group) and v0.15.0+ (rulesets lifecycle).
Account & identity
See Authentication & API keys for the scope model and the rulebook-authoring key recipe.Profiles (switch between identities)
Store multiple credential profiles (e.g. admin vs dev) instead of swapping env vars.
Override for a single command with
aethis --profile <name> … (or --profile anonymous
to force unsigned mode).
MCP server
Wire up the Aethis MCP server in Claude Code, Cursor, Claude Desktop, or Windsurf without hand-editing JSON.Generation model selection
generate and refine in aethis-cli 0.41.0 or later accept
--model claude-sonnet-5 or
--model deepseek-flash. Omit the flag to preserve the server default
(Sonnet 5 unless the server operator has overridden it).
DEEPSEEK_API_KEY securely in your environment.
To use another environment variable name, set deepseek_key_env in
aethis.yaml. The configuration stores the variable name, not the key:
refine when needed.
Structured acceptance contracts
CLI 0.42.0 or later provides--acceptance-contract <json> on generate and refine when
the target engine supports versioned authoring contracts. The file carries test
cases and optional review-binding assertions as one replacement. The CLI checks
that the engine retained the exact contract before generation starts. See
structured acceptance contracts
for the supported assertions and the distinction between an omitted and empty
binding catalogue.
Environment variables
Shell completions
Worked example
See UK Free School Meals — full three-section example with source documents, guidance hints, and test cases ready to run.Help improve this pageIf something here is unclear or missing an example, use the feedback button at the bottom of the page.Found a bug? Open a GitHub issue. Evaluating Aethis for a regulated workflow? Contact us directly.