SWE-AF Engineering Factory

An autonomous engineering team that plans, codes, tests, and can deliver production PRs from a software goal.

Stars
★ 1.1k
Last updated
2d ago
License
Apache-2.0
Primary language
Go

At a glance

How it runs
CLISelf-hosted service
Works with
Universal · cross-platformChatGPT · Codex · Claude Code · OpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Python 3.12+AgentField control planeGitan LLM provider keyShell / CLINetwork accessLocal filesystem
Typical use
An engineering lead managing one GitHub repository who wants a feature such as JWT authentication decomposed, implemented, tested, and prepared as a reviewable PR.
Not a fit if
  • Teams unwilling to absorb multi-hour builds and hundreds of model calls per run
  • Codex runtime users on WSL2 or hardened hosts where bubblewrap namespace permissions block file writes

What does this agent do, and when should you use it?

SWE-AF is an autonomous software-engineering team runtime built on AgentField and registered as the swe-planner and swe-fast nodes. A build generates a PRD, architecture, and issue dependency DAG, then coordinates coding, QA, review, and merging in isolated Git worktrees. It accepts a remote repo_url, a local repo_path, or a multi-repository configuration with primary and dependency roles. Outputs can include commits, branches, verification results, and optionally a GitHub pull request; execution state is available through AgentField execution endpoints. The repository maintains both a Python implementation and a Go node: af install installs the Go node, while the Python implementation runs through python -m swe_af or Docker Compose.

A swe-planner.build call runs run_product_manager, run_architect, run_tech_lead, and run_sprint_planner to turn a goal into an issue DAG. Each issue is handled in an isolated worktree by run_coder, run_qa, run_code_reviewer, and run_qa_synthesizer; failures can be adapted, split, accepted with debt, or escalated by run_issue_advisor, while run_replanner can restructure the remaining DAG. run_merger, run_integration_tester, and run_verifier then integrate changes and check acceptance criteria, with artifacts written under .artifacts/plan, execution, and verification. For already-scoped work, swe-planner.implement_issue skips planning and returns an isolated branch, commits, changed files, and verification data; enable_github_pr can push that branch and open a PR.

  1. An engineering lead managing one GitHub repository who wants a feature such as JWT authentication decomposed, implemented, tested, and prepared as a reviewable PR.
  2. A team changing a primary application and a shared SDK together, using config.repos to coordinate primary and dependency repositories.
  3. A Claude Code, Codex, or OpenCode user who has already scoped an issue and wants to delegate it through implement_issue while retaining control of merging.
  4. A repository maintainer who wants a bounded repair loop after GitHub Actions checks fail on a PR created by the system.
  5. A development team that needs work performed against a local checkout without changing the caller’s current branch or uncommitted working state.

How do you install or deploy this agent?

With an existing AgentField control plane, run:

af install https://github.com/Agent-Field/SWE-AF
af run swe-planner

The first run requires an LLM credential: ANTHROPIC_API_KEY or OPENROUTER_API_KEY. Add a GH_TOKEN with repo scope when builds need private-repository access, branch pushes, or PR creation. For the local Python implementation, create a Python 3.12+ virtual environment, run python -m pip install -e ".[dev]", start af, then run python -m swe_af.

How do you use this agent?

A minimal build request is:

curl -X POST http://localhost:8080/api/v1/execute/async/swe-planner.build \
-H "Content-Type: application/json" \
-d '{"input":{"goal":"Add JWT auth","repo_url":"https://github.com/user/my-project"}}'

For the Codex CLI runtime, set "runtime":"codex" and "models":{"default":"gpt-5.3-codex"} in config. ChatGPT subscription authentication requires the Codex CLI on the host, a completed codex login, and SWE_CODEX_AUTH_MODE=chatgpt or auto. For API-platform billing, set SWE_CODEX_AUTH_MODE=api_key and OPENAI_API_KEY.

What are this agent's strengths and limitations?

Pros
  • Covers a full engineering path—requirements, architecture review, parallel implementation, QA, merge, integration testing, and acceptance verification—rather than a single coding loop.
  • Dependency scheduling plus isolated Git worktrees supports parallel issue execution without branch collisions.
  • Its documented three-level control system handles retries, issue-level adaptation, and remaining-DAG replanning.
  • Supports role-specific model selection across claude_code, open_code, and codex runtimes.
  • The implement_issue entry point offers issue-level delegation for other coding harnesses while preserving the caller’s checkout.
Limitations
  • The full build is a feature-level process that the documentation says can take hours and invoke hundreds or more model calls.
  • Operation depends on AgentField, reachable Git repositories, network access, and provider credentials; private repositories and PR workflows also need GH_TOKEN.
  • Role-model maps, retry budgets, provider selection, and Docker environment settings introduce meaningful operational and cost-management overhead.
  • Codex deployments in the Docker image must set SWE_DEFAULT_MODEL or pass a Codex model per build, or model resolution can select an incompatible OpenCode model ID.
  • Codex workspace-write depends on Linux user namespaces, so some WSL2 or hardened hosts can fail with bubblewrap permissions and prevent file writes.

How does this agent compare with similar options?

The repository reports a benchmark using the same Node.js CLI todo-app prompt: SWE-AF with haiku routing and with MiniMax M2.5 each scored 95/100, compared with Claude Code Sonnet at 73, Codex o3 at 62, and Claude Code Haiku at 59. This is a project-reported result for one evaluated task, useful for assessing the workflow but not a general performance guarantee.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
SWE-AF Engineering Factory This agent 53 · Major gaps CLIFree + model costs ★ 1.1k 2d ago Go ChatGPT · Codex · Claude Code · OpenAI API · Claude API
Pi Dynamic Workflows 88 · Good Agent plugin / skillFree + model costs ★ 590 9d ago TypeScript —
Happier 82 · Good Desktop appFree + model costs ★ 2.2k today TypeScript Codex · Claude Code
Lody 75 · Good Self-hosted service ★ 1.7k today TypeScript Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
53/ 100 5-point scale 2.7 / 5
Trust 10/29
Reliability 9/14
Adaptability 12/18
Convention 10/18
Effectiveness 9/13
Verifiability 3/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

Evidence shows: README mentions encrypted storage of API keys, GH_TOKEN only for private repo cloning and PRs, HITL plan-approval gate (hax-sdk), but lacks implementation details or least-privilege analysis. Deductions: no code-level evidence, incomplete permission scope, user confirmation only mentioned not verified.

Reliability9 / 14 · 3.2/5

Evidence shows: README and CI config are consistent, dependencies pinned (e.g., claude-agent-sdk==0.1.20), CI includes tests and Go build. Deductions: no specific failure message examples, dependency availability based on claims only.

Adaptability12 / 18 · 3.3/5

Evidence shows: README details single and multi-repo modes, multiple runtimes (claude_code, open_code, codex), model mapping, and Docker deployment. Deductions: capability boundaries not explicit, trigger conditions (e.g., replanning) imprecise, environment fit depends on external components.

Convention10 / 18 · 2.8/5

Evidence shows: README well-structured, provides install steps, examples, Docker deployment, API reference links; LICENSE is Apache-2.0; pyproject.toml defines version. Deductions: missing CHANGELOG and version history, maintenance responsibility unclear, known limitations not systematically listed.

Effectiveness9 / 13 · 3.5/5

Evidence shows: README provides benchmark results (95/100) and cost data ($19.23), demonstrating output usability. Deductions: cost-benefit analysis based on single case, no independent verification.

Verifiability3 / 8 · 1.9/5

Evidence shows: README provides benchmark methodology and example PR link, but lacks reproducible full logs or third-party verification. Deductions: claims and evidence separation unclear, lack of independent corroboration.

Risks and how to mitigate them
  • Publisher identity is unverified; treat as unknown, do not trust based on brand.
  • Performance benchmarks and cost data in README are not independently verified; treat with caution.
  • Dependencies are pinned but no vulnerability scanning evidence provided; check dependency security.
  • Security mechanisms like least privilege and user confirmation are only mentioned; review actual implementation.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision ef508a8fb381 New commits since this review; the score may not cover them
See the full review method →

FAQ

What does a full build cost and how long does it take?
The documented todo-app benchmark reports about $20 and 30–40 minutes for haiku routing, or about $6 and 43 minutes for MiniMax M2.5. Actual cost depends on scope, models, concurrency, and retries.
Can I delegate one small, well-defined task instead of a whole feature?
Yes. swe-planner.implement_issue skips planning, creates an isolated issue branch, runs the coder-to-reviewer loop, and can perform one acceptance-criteria verification pass.
Will it alter my current checkout?
The issue-level entry point creates a separate worktree from the committed base branch. The caller’s current branch, git status, and uncommitted changes are not included.
What is required to create a pull request?
Configure a GH_TOKEN with repo scope and ensure that token can access the target repository. Local repo_path builds and builds against public repositories do not require that token.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents