Govern any agent
Engine-agnostic by design. Run Claude Code, Gemini, Codex, or your own model — Weftra governs the output, not which model wrote it. It doesn't sell a coding agent, so it can neutrally govern anyone's.
The governed pipeline for AI-written code. Bring any coding agent — Weftra governs what it ships: enforced approval gates, a tamper-evident audit trail, and provenance on every change. Self-hosted, single-tenant, Claude-first today; BYOC and SaaS are coming.
Where this stands today: self-hosted · single-tenant · Claude-first. The queue, the approval, the ledger and the policy stay on your infrastructure, engine-neutral — the agent runs in Weftra's Docker sandbox by default, and a per-run containment tier is not recorded. BYOC packaging, a hosted SaaS option, and Postgres-backed multi-tenant hardening are roadmap chapters — not shipped. New here? Getting Started in 10 Minutes → is the fastest way to see it work, and the trust page → shows the evidence behind these claims, generated from the repo itself. What Weftra is (and isn't) → says plainly what is and is not built.
Weftra is for people who would rather hand off an outcome and review the result than type beside an agent:
It's probably not for you yet if you want inline autocomplete, want to skip review entirely, or need a hosted service today. Who Weftra is for →
AI now writes a large share of new code — and it quietly broke software's accountability chain. For human code the chain was implicit: a named engineer opened the PR, a named reviewer approved it. For AI-written code, the accountable human detaches from the diff, and every auditor, regulator, and security team is now asking the same question: "Who authorized this change, and can you prove it?"
Weftra answers it. It isn't a coding agent competing with Claude Code, Copilot, or Cursor — it's the governed pipeline that runs around whichever agent you choose, and makes every change it produces enforced, attributed, and auditable:
full_auto, auto_safe (analyze + clarify), or po_approval (explicit sign-off before work begins), with a submitter who cannot approve their own feature.That's the difference between "an AI wrote this" (a liability) and "every change the AI produced is governed, attributed, and enforced" (a control you can demonstrate). See Why governed code →.
# 1. Clone and configure
git clone https://github.com/weftra/weftra
cd weftra
cp .env.example .env # add ANTHROPIC_API_KEY + GITHUB_TOKEN
# 2. Start
npm ci && npm start
# 3. Enroll a project (SSH remote — Weftra clones with the host's own SSH key)
curl -X POST http://localhost:3100/api/projects \
-H "Authorization: Bearer $ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"my-project","repo_url":"git@github.com:you/repo.git","autonomy_mode":"auto_safe","auto_create_pr":true}'
# 4. Submit a feature
curl -X POST http://localhost:3100/api/features \
-H "Authorization: Bearer $PROJECT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"Add pagination","description":"Add cursor-based pagination to GET /items"}'See the Getting Started in 10 Minutes guide for the annotated, step-by-step version of this (including the sandbox image build and prerequisites), the Setup guide for full configuration options, and the Tutorial for a worked walkthrough.