Skip to content

Feature AgentEverything as governed code

The governed pipeline for AI-written code. Bring any coding agent — Feature Agent 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 where you declare (a host sandbox, a vendor's self-hosted environment, a rented harness), and FA records which (containment tier). 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.

Why "governed code"?

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?"

Feature Agent 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:

  • Enforced approval gatesfull_auto, auto_safe (analyze + clarify), or po_approval (explicit sign-off before work begins), with a submitter who cannot approve their own feature.
  • A tamper-evident audit ledger — hash-chained run events, exportable to your SIEM, with deterministic run-replay of how any change was produced.
  • Provenance per change — the request, the spec that governed it, the engine and model that ran, the gates that passed, and the cost — attached to every feature.
  • Neutral by design — engine-agnostic role routing means you keep your coding agent; Feature Agent governs its output, not which model does the writing.

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 →.

Quick start

bash
# 1. Clone and configure
git clone https://github.com/scottallan/featureagent
cd featureagent
cp .env.example .env   # add ANTHROPIC_API_KEY + GITHUB_TOKEN

# 2. Start
npm ci && npm start

# 3. Enroll a project (SSH remote — FA 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.

Released under the MIT License.