Skip to content

Quickstart

Install

ea is a CLI. Install it in an isolated environment straight from GitHub (Python ≥ 3.10):

pipx install git+https://github.com/adworzynski/ea-as-code.git          # `ea` on your PATH
uvx --from git+https://github.com/adworzynski/ea-as-code.git ea --help   # or run without installing

Pin a released version for a reproducible install:

pipx install git+https://github.com/adworzynski/ea-as-code.git@v0.1.0

Then fetch the method library — artifact types, methods, rules, and archetype presets — into your local cache. One online step; resolution is offline thereafter:

ea pack fetch https://github.com/adworzynski/ea-as-code.git   # packs + presets → ~/.cache/ea

First repository

mkdir my-ea && cd my-ea
ea init                                   # dry-run: prints a plan + confirmation_token
ea init --confirm <token>                 # re-run to apply

ea preset list                            # discover the adoptable archetypes
ea manifest adopt startup-light           # dry-run: review the domains + methods it brings
ea manifest adopt startup-light --confirm <token>

ea project create payments --confirm <token>
ea scaffold capability --project payments --id billing        # skeleton + guidance (dry-run)
# …author content, commit it via `ea commit … --input -`…
ea validate --all                         # status: ok (exit 0) or invalid (exit 3)

Every mutating command is dry-run by default: it returns a confirmation_token bound to the exact computed change; re-run the identical command with --confirm <token> to apply. The core refuses if the repository drifted in between (exit 4). See reference/cli.md for the full contract.

Explore a built example

To see a complete, validated architecture before building your own, clone the repository and point ea at one of the shipped examples (they include materialized definitions/, so no fetch is needed):

git clone https://github.com/adworzynski/ea-as-code.git
cd ea-as-code/examples/payments-oaa/repo
ea validate --all          # status: ok (exit 0) — the architecture checks out
ea manifest show           # read the org's tailoring: domains, archetype, policies

Conversational use

The richer way to drive the same engine is through an adapter surface (reference/surfaces.md):

  • Claude Code: install the plugin from plugins/ea-claude/ — the ea-architect skill guides tailoring, authoring, promotion, and advisory sessions; ea-methodologist helps you author your own method pack.
  • Google Antigravity: agy plugin install plugins/ea-antigravity.

Both hosts run the same agents over the same CLI — the core neither knows nor cares which.

CI

ea validate --all distinguishes "architecture invalid" (exit 3) from tool/usage errors (1/2/4), so a pipeline can fail the build on real findings only:

- run: ea validate --all    # exit 3 fails the build with JSON diagnostics on stdout