enola-guides
How to use what enola ships since v0.4.4 (enola-labs/enola#247): a Ruby DSL for writing architecture constraints, Prism and Rubydex as providers that run together with enola's own extractors, recipes a team reviews, laws that read the whole graph, and an MCP your agent uses during a session. Guides, worked examples, skills and templates, packaged as a gem so a team can pin the guidance it adopted. Rubyists first; consumed by enola-rb, the gem that runs enola. Expanding as the practice does.
gem install enola-guides
gem contents enola-guides
Start with an example
examples/rails-shop: a Rails application declaring
thirteen laws in the Ruby DSL, one file each, from "jobs never invoke controller code" to
"billing keeps to its own tables" and "a mutating action is authorized",
with Prism and Rubydex configured as providers beside the extractors.
examples/ember-app: an Ember application bound to
the conventions recipe in one block. examples/knowledge-base:
two pages anchored to code, a cluster config, receipts and a finding ledger,
the smallest knowledge base the skills and hooks run against. examples/laws:
twenty-six laws, one directory each, from foreign keys on a tenant column
to parts that may not cycle, each a complete declaration you copy and run.
Guides
- Start here: install, snapshot, baseline, a graded change, the hooks, a first law. Ten minutes.
- A Rails application: what enola measures, the Prism and Rubydex providers, the recipe, the laws a Rails team writes.
- An Ember application: the Ember facts, the conventions as a recipe, an app inside a larger repository.
- Writing laws: parts, the twenty-one sentences, modes, dates, exemptions, what a refusal means.
- Constraints in CI: the check step.
- Hooks and agents: the session hooks, the MCP tools, the skills.
- Providers: the seam, the Ruby pair, the census, the runtime capture.
- Beyond one repository: the cluster, the seams, the laws across them, the history.
- A knowledge base with enola: what a wiki of decisions gets when its pages anchor to code and every number it states was read from a receipt.
- Hooks: the four agent hooks a knowledge base runs (intent-first gate, turn record, stop-time debt, session refresh).
- The skills, as they run: deepdive before shaping, claim check while ingesting, drift on a schedule, citation hygiene, the blast radius.
- The wrapper: the thin command the skills call, the named skip, the receipts and the ledger.
Skills
The skills under templates/skills/ are the ones used
day to day with enola's MCP in an agent session: enola (ask the graph
before grepping, grade after changing), enola-laws (write a law as a
sentence with a reason, lint it, read what it verdicts),
enola-grade-before-push (the delta is the deliverable, a declined grade
is not a pass), enola-intent-first (read the governing decision before
the file moves), and the five a knowledge base runs: enola-deepdive,
enola-ingest-check, enola-drift, enola-citation-hygiene,
enola-zoom-out, each described as it runs in
guide 11. Copy a directory into
your agent's skills folder; the hooks they pair with are under
templates/hooks/.
Templates and recipes
templates/: the CI check script and its comment renderer,
a cluster configuration, a constraints starter. recipes/ (the catalogue munola binds, each recipe with the number its laws held at):
recipes a repository copies into its own enola/recipes/ and binds in one
line, starting with the Ember conventions and a house-recipe template;
starting points the team reviews, never defaults the tool applies.