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/— theea-architectskill guides tailoring, authoring, promotion, and advisory sessions;ea-methodologisthelps 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