MAFIA is a source-grounded engineering workflow for specification-driven delivery and ad-hoc pull request review. It can turn a GitHub issue or written requirement into an accepted specification, adversarially reviewed implementation plan, and merged pull requests, or independently review an existing pull request with a configurable model pair before adjudicating one publishable result.
Prerequisites are Python 3.11-3.13 with uv, Node.js 22+, npm, git, gh,
GitHub Copilot CLI, and rootless bwrap. Docker or Podman is required to use repository Dev Containers.
cp .env.example .env
uv sync
npm install
npm install --prefix apps/web
npm install --prefix site
uv run alembic upgrade head
uv run uvicorn mafia.main:app --reload
npm run devOpen http://127.0.0.1:3000, create a run, and start the workflow.
- Documentation site — guided setup, workflow, operations, and reference.
- Workflow lifecycle — artifacts, approvals, pull requests, durability, and recovery.
- Execution environments — Dev Containers, engines, networking, policy, resource limits, and bubblewrap fallback.
- Development — prerequisites, local services, runtime data, and validation commands.
- Deployment bundle — release packaging, installation, configuration, and production processes.
- GitHub authentication — OAuth App setup, user or organization authorization, secure sessions, and Caddy integration.
- Personal Incus deployment — persistent VM profile, private tailnet ingress, and updates.
- Frostyard organization deployment — hard owner isolation, GitHub App credentials, operator attribution, and dedicated Copilot access.
MAFIA is available under the MIT License.