Appli Studio

How it works

The human-led product loop, the agent-run factory, and the handoff between them.

Product development has two halves. The product loop is led by people: discover, decide, and write requirements. The factory is run by agents: it turns ready tickets into running software. Appli Studio hosts both, and the knowledge base connects them.

  1. Discover, decide, write requirements with the team, in the studio and the knowledge base.
  2. G0, ready: a person labels the ticket ready.
  3. Triage, plan, implement, review, QA, deploy: the factory's stations, each ending in a gate.
  4. Observe: what production shows flows back as bugs (to triage) and insights (to discovery).

The pieces

PieceWhat it doesWhere it runs
Studio (app)Projects, members, requirements, connections, the board of running ticketsDokploy
CoordinatorReceives GitHub webhooks, runs each ticket as a durable workflow, evaluates gates, hands jobs to workersDokploy
WorkerClaims jobs and runs each as an agent thread in T3 CodeYour VPS
Project toolsSource control and tracker (GitHub), deploy target (Dokploy), knowledge basePer project

The studio and the coordinator never share a database. The studio holds people, projects, and configuration; the coordinator holds runs, jobs, and the workflow state. They talk through two small internal APIs.

What makes it deterministic

The coordinator has no model. Each ticket is a workflow with fixed steps: dispatch a job, wait for its result, read facts back from GitHub, decide by rule. Agents write their output where the team already looks (comments, labels, reviews, commit statuses, check runs), and the gates read those facts:

  • Triage passes when the issue has a type and a size label and doesn't need splitting.
  • Review passes when the review agent's appli/review status is green on the head commit.
  • QA passes when the appli/qa check run on the head is green, tested on a preview of that exact commit.
  • Deploy passes when production runs the merge commit.

See stations and gates for every rule.

On this page