softwarefactory.build

A directory and guide library for agent-native software factories.

Guides / intermediate

Assembling a self-hosted stack

How to pick an open execution harness, a sandbox you can inspect, and gates you own — without pretending one vendor is the factory.

softwarefactory.build · published · updated

Most teams do not need a platform named Software Factory. They need one signal, one computer, one gate, and a log. Those four objects can be four repos.

This is a shopping list, not a bake-off winner.

Execution: a harness you can read

If you must see the loop, start open:

Claude Code and Cursor are stronger products for many teams. They are not self-hosted factories. The CLI on your laptop does not become a control plane because the binary ran offline.

See Best: self-hosted factories and Best: open source stacks.

Sandbox: not the laptop

Pair the harness with a box the team can open. E2B can be self-hosted; so can Coder, Gitpod, and a pile of Firecracker or Kata. The requirement is boring: ephemeral credentials, a network policy, and a preview.

If legal will not let the repo leave the building, do not start with a cloud agent IDE and hope BYOK is enough. BYOK is about inference bills, not data residency of the workspace.

Orchestration: a queue, not a framework religion

You need retries, a run ID, and a place to resume. That can be Temporal, Inngest, GitHub Actions, or a cron plus a table. LangGraph is for agent graphs, not for “we needed a job queue.” Do not install CrewAI because a diagram had four stick figures.

Model independence lives here. If the orchestrator can swap providers, the execution harness is allowed to be locked for a while.

Verification and the log

Reuse CI you already trust. Add an eval gate only for the behaviors CI cannot see. Ship traces to Langfuse if you want to self-host the log; LangSmith if you are already in that cloud.

A human merges. That sentence is the entire compliance program for a surprising number of teams.

What “assembled” looks like on Monday

One issue template. One workflow that starts a sandbox, runs Aider or OpenHands headless, opens a draft PR, and never merges. One dashboard with run cost and revert rate. That is a factory. The directory is there when you outgrow the script.

Related listings: aider , openhands , goose , e2b , langfuse