continuous software evolution · self-hosted

Software, unfolded.

aifold is an autonomous AI software factory that connects the dots: it builds, operates, maintains and continuously evolves your software in one unbroken line. Coding agents do the work, code checks each step, and you decide what ships.

  • Claude Code · Codex · Copilot
  • .NET 10 · Postgres · Aspire
  • Linux & Windows

Not a one-off generator. A schedule, a merge, a new brief or a change of mind starts the next run: investigated, implemented, checked by code and waiting for your review. Then it does it again.

Work #214 · morning-improvement running

schedule 07:00 daily opened a work item in aifold

  1. 1agent✓ implement 2m 55s · $0.92
  2. 2check✓ unit 1m 55s · no network
  3. 3judgejudging judge weighing surviving mutants
  4. 4pause· review waits on you
  5. 5action· publish pull request
06:59:58 trigger morning-improvement fired · budget $2.00 per phasebrief tighten flaky retry in the ingest tailerEdit src/AiFold.Core/Tailing/Tailer.csgate tests_kept ✓  changed_files ✓  stays_in_lane ✓judge reading the attempt…

how it works

The factory never closes.

Traditional development is project-shaped: a kickoff, a delivery, a handover. aifold is persistent. It doesn't turn one idea into one release. It keeps a loop running around your software for as long as the software exists.

  1. Build

    A written brief becomes a run: a coding agent in its own git worktree, working through a pipeline of phases, on a budget its CLI enforces.

  2. Run

    Your checks run in a sandbox with no network. Gates written in code decide whether a phase passed, not the agent's own opinion. A judge weighs the result before you do.

  3. Observe

    Every transcript line lands in Postgres and streams live. Cost, context use and how much of the agent's code survives afterwards are measured, not guessed.

  4. Improve

    What was learned goes into the knowledge base and into the next brief. Triggers open the next work item. Then it goes round again.

Build, run, observe, improve, and repeat. build run observe improve repeat NEVER FINISHED

signals

It reacts to what happens to your software.

Time, people, merges, tickets, telemetry, dependencies. Each is a trigger: an event source, a condition and an action. Some are running today; the rest are designed and on the way.

  • requirements change

    You change direction

    Write a brief, pick a pipeline, hand it to an agent. The product evolves with you, not in big-bang projects.

    • brief
    • implement
    • gates
    • review
    available
  • a schedule fires

    Nothing happens, it improves anyway

    A standing job opens its own work item on a schedule, in your timezone, and has a branch waiting in review.

    • inspect
    • improve
    • test
    • review
    available
  • a pull request merges

    Delivery closes the loop

    A signed webhook closes the work item when its branch merges, and survival tracking starts watching the code.

    • merge
    • close
    • measure
    available
  • a support ticket arrives

    A customer finds a bug

    Tickets from GitHub, Linear or Jira become work items, and the result is written back to the ticket.

    • investigate
    • fix
    • test
    • deploy
    on the roadmap
  • monitoring alerts

    Production misbehaves

    An alert carries its telemetry into a brief, so the agent starts from evidence rather than a guess.

    • diagnose
    • remediate
    • verify
    on the roadmap
  • dependencies drift

    The world moves on

    Security advisories and new releases turn into maintenance work: upgraded, tested and gated like any other change.

    • inspect
    • upgrade
    • test
    • review
    on the roadmap

review

You decide what ships.

Every run stops at review. Read the change, leave notes on the lines they're about, and hand the open ones back to the agent. The same review and the same notes, in the editor you already have open.

  1. Read

    The whole change as one diff, with viewed ticks per file and which changed lines your tests actually ran.

  2. Note

    An issue, question, nitpick, todo or praise, pinned to the code's text so it stays put when lines move.

  3. Send back

    Hand the open notes to an agent. It answers or fixes, the checks run again, and you resolve what's settled.

JetBrains Rider with the aifold plugin: an issue thread open inline under line 18 of RetryBudget.cs. Claude Code, as code reviewer, flags that clamping to zero hides an overspend; Codex, implementing, asks whether the run header should change too; Erik says yes; Codex confirms the fix. JetBrains Rider with the aifold plugin: an issue thread open inline under line 18 of RetryBudget.cs. Claude Code, as code reviewer, flags that clamping to zero hides an overspend; Codex, implementing, asks whether the run header should change too; Erik says yes; Codex confirms the fix.
JetBrains Rider. The thread opens right under the line: Claude Code reviews, Codex implements and asks back, and you make the call before anything ships.
VS Code with the aifold extension: an issue thread under lines 18 and 19 of RetryBudget.cs. Claude Code, as code reviewer, flags that clamping to zero hides an overspend; Codex, implementing, asks whether the run header should change too; Erik says yes; Codex confirms the fix. The aifold Review view lists every note by file. VS Code with the aifold extension: an issue thread under lines 18 and 19 of RetryBudget.cs. Claude Code, as code reviewer, flags that clamping to zero hides an overspend; Codex, implementing, asks whether the run header should change too; Erik says yes; Codex confirms the fix. The aifold Review view lists every note by file.
VS Code. Claude Code reviews, Codex implements and asks back, and you make the call, all under the lines in question. Every note is also listed by file in the aifold Review view.
The aifold terminal review tool: one continuous diff of the branch with two threads in BudgetGate.cs. Claude Code, as code reviewer, asks whether a zero cap means no cap or no spend, Codex explains, and Erik decides; below it Erik asks whether a parked step says why, and Codex proposes a fix. The aifold terminal review tool: one continuous diff of the branch with two threads in BudgetGate.cs. Claude Code, as code reviewer, asks whether a zero cap means no cap or no spend, Codex explains, and Erik decides; below it Erik asks whether a parked step says why, and Codex proposes a fix.
Terminal. The same review in a 7.5 MB terminal tool: one continuous diff, vim keys, and every thread between you, the reviewer and the implementer drawn under the line it is about.

Your software is never finished. Neither is aifold.

Agents are fast. What they lack is a place to work: a brief, a budget, a boundary, a record, and someone with taste at the end. aifold is that place, running at machine scale with your taste and your control.

features

Everything a factory floor needs.

Each piece is small and inspectable. Together they turn coding agents from a chat window into a production line you can trust.

Work items & pipelines

Briefs move from draft to ready, running, review and done. Each run gets its own git worktree and flows through phases (agent, check, judge, pause, action) defined as reusable pipeline templates.

local · container · cluster

Gates the agent can't talk past

Code decides whether a phase passed: tests kept, criteria covered, lines covered, mutants killed, stayed in its lane. A failing gate resumes the same session and says exactly what was wrong.

tests_kept · mutants_killed · stays_in_lane

Sandboxed checks & a judge

Each repository's own validation runs in a container with no network. A separate judge weighs surviving mutants and adds its verdict to the pull request. A finished run always stops at review.

podman --network none

Live sessions

aifold tails the transcripts agent CLIs already write, stores every line in Postgres and streams it to the browser as it happens: timeline, transcript, per-file changes and full-text search.

Claude Code · Codex · Copilot · SSE

Cost at the day's price

Every event is priced at the rate in force when it ran, split into input, output and cache. Cost per commit, per thousand surviving lines, and the rework tax of work that wasn't accepted first time.

budgets enforced per run

What survived

Every file an agent wrote is re-scanned on a schedule. Drift and authored-line survival show how much of its work is still there weeks later, even after the code moved.

no git required

Knowledge base

Versioned markdown pages, tagged and grouped, with a graph view and a search API agents call themselves. Short repository facts are added to every brief automatically.

/api/kb/search · repo_facts

A living spec

Features, their acceptance criteria and the tests that prove each one, recorded as the work happens, so the documentation is a by-product of delivery, not a chore after it.

criteria_traced · criteria_covered

Review where you work

A 7.5 MB terminal review tool with one continuous diff and vim keys, plus VS Code and Rider extensions that put review notes on the lines they're about.

TUI · VS Code · Rider

Triggers

An event source, a condition and an action. Schedules open standing work; merge webhooks close it. Every trigger has a spend cap and a limit on how much it may have open at once.

schedule · webhook · caps

MCP server & skills

Plan here, execute there. Agents create work items, read the feature map, start the real application and drive its UI through aifold's MCP tools.

create_work_item · start_runtime · drive_ui

Accessible by default

Built on its own design system (Catppuccin Latte and Macchiato, three text sizes) and held to WCAG 2.2 AA in both themes, down to 320px.

WCAG 2.2 AA · light & dark

software, unfolded

Open the factory.

Point it at your repositories and let the loop start turning.