Open source MIT licensed · self-hosted · an alternative to Warp Factories

The open source software factory

AI agents plan, write, review and verify your code, from the ticket to a merged pull request. Kiln runs the whole development loop on your infrastructure, and a person approves the spec and accepts the preview. A person merges, or a merge gate you turn on merges the changes your rules call safe.

$git clone https://github.com/fishuke/kiln && cd kiln && pnpm install && pnpm dev
MIT all of it, not just the CLI$0 per run, everyour keys, cloud and data0 agents that can merge
Works with the tools your team already uses
  • GitHub
  • GitHub Enterprise
  • GitLab
  • Bitbucket
  • Azure DevOps
  • Slack
  • Microsoft Teams
  • Discord
  • Linear
  • Jira
  • Vercel
  • Kubernetes
  • MCP
How it works

The whole development lifecycle, automated

CI/CD is the assembly line that builds, tests and ships code people wrote. A software factory extends that line forward: agents plan the change, write it, review it and prove it works. Your CI/CD still runs on every pull request.

Intake

Issue, Slack thread or ticket

Triage

Foreman picks the shortest path

Spec

Acceptance criteria you approve

Build

Agent codes in a sandbox

Verify

Tests, video per criterion

Preview

A live URL you accept

Review & merge

A person or your merge gate merges

Agents do the work You approve at the gates Small, clear changes skip the spec
live · a Kiln factory running pipelines/feature.yamlOpen full screen ↗

This isn't a video. Hover a work item to follow it, hover a machine to see its YAML, pick a source to change what comes in.

CI/CD

  • inputA commit a person wrote
  • coversBuild, test, deploy
  • defined inPipeline YAML in your repo
  • gateGreen checks and a code review

Software factory · Kiln

  • inputAn issue, a Slack thread, a ticket, a schedule
  • coversPlan, spec, write, review, verify, preview, then your CI/CD
  • defined inA factory tree in a repo you own
  • gateSpec approval, preview acceptance, a person or your merge gate merges
Onboarding in one prompt

Your favorite AI builds your factory

Your factory is already written in your history: the commands CI runs, what reviewers keep asking for, where requests come from. Kiln's Factory Architect has your coding agent read it, write a factory that fits, and backtest it on your own merged pull requests.

Claude CodeCodexCursorGitHub CopilotGemini CLIor any agent
Your repoStack, test and lint commands, CI → runner, agent instructions
Your merged PRsSizes and review asks → conventions skill, scorer, backtest
Your trackerLabels, states, criteria → automations and gates
Your chat and alertsWhere work arrives → Slack intake, incident fixer, MCPs
  • Evidence, not guesses. Every choice cites a file, PR or ticket in FACTORY.md.
  • Proven before trusted. A backtest replays your last merged PRs from their base commits.
  • You stay in charge. It asks before reading Slack or your tracker, and before applying anything.

Read the Factory Architect guide →

~/acme/web
$ kiln architect✓ wrote .kiln/architect.md · .claude/skills/kiln-architect › /kiln-architect  kiln scan   pnpm · vitest · GitHub Actions · Sentry  40 PRs      62% small · reviewers ask for tests, the logger  ? May I read Linear (Web) and Slack #support? yes  Linear      "Ready" means go · 41% of tickets lack criteria  Slack       bugs arrive in #support, mostly screenshots✓ wrote kiln/ · 6 agents · 4 automations · 2 skills · 2 scorers✓ backtest: 20 tasks from your merged pull requests✓ kiln validate kiln · ok · FACTORY.md explains every choice  ? Apply this factory? (y/N)
Use cases

The work nobody wants to do,
done before standup

Every use case is one automation file: a trigger, a filter and a prompt. Copy one into automations/, apply, done.


          
Factories as code

Your whole factory is a folder in Git

Agents, pipelines, gates, model routing, guardrails, scorers and skills are plain files. Review them in a pull request, validate them in CI, apply them atomically or as a canary. Click around: this is the real starter template.

my-factory/
factory.yaml

          
$ kiln validate my-factory$ kiln apply my-factory --canary 10%$ kiln diff my-factory
Customize everything

Ten building blocks. No black box.

Every decision your factory makes is something you can read, change and version. Start from a template, then make it yours.

agents/

Agents

Foreman, triage, spec, implement, verify, review, or your own role. Harness and model per agent.

pipelines/

Pipelines

Fix the stages, fan out per user story, loop verify → build until it passes.

gates/

Gates

Who approves, what evidence they see, when to nudge and when to park the work.

routers/

Model routing

Easy tasks to a small model, hard ones to the best. Or route by benchmark results.

automations/

Automations

Start work from issues, mentions, PR comments, schedules or any webhook.

skills/

Skills

Reusable know-how in SKILL.md, per factory or per agent, shared across teams.

decisions/

Typed decisions

Command guard and triage as typed questions with thresholds, LLM only as fallback.

policies/

Policies & budgets

Protected paths, two-approval files, denied actions, a cap per work item.

runners/

Runners & workers

Sandbox image, CPU and memory, setup commands, egress allowlist, your own machines.

scorers/

Scorers

Rubrics with labels and a passing score that grade a sample of every agent's runs.

Measure and improve

Know which setup actually ships.
Then let the factory fix itself.

Stop guessing which model or prompt is better. Kiln measures every run, benchmarks configurations on your own past tickets, and proposes its own fixes, with proof.

benchmarks/core · implement · 24 tasks from real tickets

Illustrative results. Every point is a configuration; the frontier shows what's worth paying for.

100%80%60%40%$0$0.50$1.00$1.50 haiku · 64% · $0.21 sonnet · 86% · $0.78best value → route medium tasks here fable · 92% · $1.31 codex · 60% · $0.90

Results turn into routing rules: easy → haiku · medium → sonnet · hard → fable

scorers/criteria · implement · sampling 25% of runs

Does the pull request meet every acceptance criterion? (Illustrative week.)

RunLabelScorePass rate trend
Saved cartsmeets1.0
Delivery estimatemeets1.0
Rate limit headerpartly0.5
Checkout typomeets1.0
CSV exportmisses0.0

Failures feed self-improvement automatically. Dashboards show autonomy, cycle time, cost per merged PR and pass rate per agent.

The factory files a pull request against itself

Guarded: policies and gates are protected paths the improver can't touch.

01Detect25 runs fail the criteria scorer for the same reason.
02ProposeAn improver agent drafts a change to agents/implement/agent.md.
03ProveThe change is replayed against the failing runs: 19 of 25 now pass.
04ReviewA person reviews the definition PR with the replay table and merges it.
+ Before opening the PR, write one test per acceptance criterion
+ and record a video of each criterion passing.
  replay: 19/25 previously failing runs pass · 0 regressions

Ship definition changes like you ship code

Replay any past run from its saved start state under a new definition, then canary it.

Replayed runCurrentProposed
Fix flaky login testfailedpassed
Add audit exportpassedpassed
Paginate invoicespartlypassed
10%90% stays on the current definition until you promote
Bring your own key

Your models. Your bill. No markup.

Kiln doesn't sell tokens. Plug in the subscription or keys you already pay for, per team, sealed in Kiln's vault and never returned by the API.

Claude Code

Claude

Your Claude subscription or an Anthropic API key.

claude setup-token
Codex

OpenAI

Run Codex with your OpenAI API key.

OPENAI_API_KEY=sk-…
Claude Code on Bedrock

AWS Bedrock

A Bedrock API key, or access keys and a region.

AWS_BEARER_TOKEN_BEDROCK=…
OpenCode · Pi

Anything else

OpenRouter, Gemini and more through open harnesses.

OPENROUTER_API_KEY=…
Not just for engineers

Product owners ship too

Approve a spec from Slack, accept a preview from your phone, turn meeting notes into a roadmap. Or build an app by talking to it.

Approve where you already are

Specs and previews come to Slack, Teams, the issue or the Kiln inbox, with the evidence to decide.

@kiln Spec for "Saved carts" is ready: 4 acceptance criteria, 1 open question.
Looks good, approve. Keep carts for 30 days.
@kiln Building. Preview with a video per criterion in ~20 min.

Plan with an agent

Paste a goal, a PRD or meeting notes. The plan agent writes epics and tracker issues with testable acceptance criteria, each routed to the right factory.

Here are the notes from Tuesday's checkout review.
Plan 3 epics, 11 issues in Linear, each with criteria. 8 go to the Shop factory, 3 to API.

Studio: build an app by talking

Chat, or press Talk and speak. Studio builds in a sandbox, shows a live preview of every version, and opens a pull request when you're happy.

Add a dark mode toggle to the settings page.
Studio Version 7 is live in the preview. Open a pull request?
Built for teams

Agents do the work. People stay in charge.

Factories as code

Agents, automations, pipelines, scorers and skills live in a Git repo you own. Changes are reviewed like code and apply on merge.

Sandboxed runs

Every run starts in a Docker or gVisor sandbox behind an egress allowlist. Every shell command passes a guardrail.

You decide what merges

Agents push only kiln/* branches with short-lived tokens and can't approve or merge. A person merges by default; turn on a merge gate and Kiln merges the pull requests your rules call safe, such as a small front-end fix.

Evidence on every PR

Test output, a video for each acceptance criterion and a preview URL are attached to the pull request.

Scorers and self-improvement

Scorers grade every run. Repeated failures turn into definition PRs, replayed against the failing runs first.

Cost you can see

Spend per agent, per run and per merged PR: compute, inference and platform, with team budgets.

Why Kiln

Everything a factory platform does.
Nothing it charges per run for.

Hosted software-factory platforms are a great idea. Kiln is the same idea that you own, end to end.

KilnHosted factory platforms
LicenseMIT, the whole platformProprietary platform
PricingFree. You pay your model provider directlyUsage-based, per agent run
Where it runsYour laptop, a VM, Docker Compose or KubernetesTheir cloud, or your VPC
ModelsYour Claude subscription, Anthropic, OpenAI, Bedrock, OpenRouter, GeminiPlatform default, or bring your own
Definitionskiln/v1 in Git, with validate, diff, canary and replayConfig in Git
EvidenceTests, a video per acceptance criterion and a preview on every PRDepends on the platform
Merge rightsA person merges by default. Turn on a merge gate and Kiln merges safe pull requests by your rules. Agent tokens can never mergeDepends on configuration
Lock-inNone. Fork it, read it, change itPlatform account
Quickstart

Running in two minutes

One process, a data folder and Docker. Demo data, a git-backed forge and scripted agents are built in, so you can see the whole lifecycle before connecting anything.

  • Local first. No accounts needed to try it.
  • Scale out with Docker Compose or Helm when your team joins.
  • Your data stays on your infrastructure.
~/kiln
$ pnpm install && pnpm dev
✓ API on :4000 (demo data) · web on :3000

# use real models
$ export KILN_AGENTS=real ANTHROPIC_API_KEY=…

# define a factory as code
$ pnpm kiln init my-factory --template sdlc
$ pnpm kiln apply my-factory
✓ applied my-factory

$ pnpm kiln send "Fix the typo in the README"
→ triaging → building → reviewing
✓ PR opened · waiting for a person to merge
FAQ

Questions

Is it really free?

Yes. Kiln is MIT licensed and has no per-run fee. You pay your model provider (or use your Claude subscription) and run it on hardware you already have.

Which models and agents can I use?

Claude Code with a Claude subscription, an Anthropic key or AWS Bedrock; Codex with an OpenAI key; OpenCode and Pi with OpenRouter, Gemini and others. Set the harness and model per agent, or route by task difficulty.

I'm moving from Warp Factories. Can I bring my definitions?

kiln import converts a v1alpha1 factory definition tree to kiln/v1, and a connected config repo in that format is converted on every sync.

Can an agent merge to main?

No. Agents push only kiln/* branches with short-lived tokens, and no agent identity can approve or merge. A person merges, or Kiln's merge gate does when you turned it on: it merges a pull request only when your merge-safety rules call it safe, and sends the rest to a person.

Where does my code go?

Into sandboxes on your own infrastructure (Docker, or Kubernetes under gVisor) with an egress allowlist. The only outside calls are the ones you configure, such as your model provider.

How big a team does it need?

One person can run it with pnpm dev. Teams use Docker Compose or the Helm chart, with RBAC, an audit log, budgets and spend limits.

Build your software factory.

Open source, MIT licensed, and yours to run.