emorg GitHub

An engineering org that runs on your laptop.

emorg turns a request into a ticket and drives it through PM, architect, developer, reviewer, and UAT agents, each in its own locked-down session. Work only counts as done when an independent review passes, UAT passes against the running app, and the merge lands verified on your base branch.

npm install -g emorg
em init
0.1.0-beta
Pipeline flowchart: BACKLOG through AWAIT_APPROVAL, DESIGN, READY, IN_REVIEW, UAT, READY_TO_LAND to DONE, with failure paths looping back to IN_PROGRESS and a NEEDS_INTEGRATION detour for merges that conflict or fail verification.

Failures loop back with the exact defect report. Merges that conflict or fail verification park honestly instead of lying.

Separation of duties

The reviewer cannot edit.

Its session has no write tools at all. It judges the diff and nothing else.

The developer cannot grade itself.

Verdicts come only from gate roles it never controls.

Gates cannot look outside.

Reviewer and UAT reads are mechanically denied outside the ticket's worktree. Enforced by the permission layer, not by prompt.

DONE cannot lie.

Parallel agents produce parallel branches, and merge-on-green corrupts them. emorg lands one ticket at a time through a serialized queue: sync the branch with the current base, re-run your verify command against the merged tree, squash, and advance the base fast-forward only. A conflict or a failed verification parks the ticket as NEEDS_INTEGRATION for a human. The base branch only ever moves to a commit that passed your tests as merged.

"verifyCommand": "npm test"

Runs on the subscriptions you already pay for.

Roles map to providers per your config: your Claude subscription for the builders, a cheap Gemini flash model for the PM and meetings, or any OpenAI-compatible runner. Every agent run records its real tokens and dollars, per role, per model, per provider, including failed and cancelled runs. em report shows where the money went.

role        runs     tokens     usd
developer     49    936,614   75.26
uat           33    733,229   72.00
architect     40    364,478   64.56
reviewer      47    493,909   28.56
pm            64  3,543,927   12.63
total        233  6,072,157  253.01

It respects the machine it runs on.

The emorg dashboard board view in grayscale: ticket columns from Needs approval through Design, In progress, In review, UAT, Landing, and Done, with tickets in each.
Board, ticket detail with per-stage cost, live run logs, drafts with the PM, meetings, and reports. One dashboard serves every registered project.

Quickstart

npm install -g emorg
cd your-project && em init
em new "Add a dark mode toggle to the settings page"
em run EM-1        # PM drafts criteria, stops for you
em approve EM-1    # design -> build -> review -> UAT -> land

Epics decompose big goals into dependency-ordered subtickets and build them in parallel. Custom gates are a markdown file away.