Introduction
draftPitwall is a self-hosted, ticket-driven control room for AI coding agents. You file a ticket, and Pitwall drives headless Claude Code agents through a deterministic pipeline, with every step visible from one web UI.
What happens to a ticket
Section titled “What happens to a ticket”File a ticket, a bug with screenshots or a small feature, and Pitwall runs it through a fixed pipeline of narrowly scoped agents: they investigate, plan, implement, review, verify, open the pull request, and hand you a script to test the change with.
You step in only when Pitwall tells you to, at three moments:
| Moment | What you do |
|---|---|
| An agent lacks a fact | Answer its question, picking one of its suggestions or writing your own |
| The change is ready | Test it by hand, on a checklist made from the agents’ script |
| The pull request is ready | Approve and merge it. Merging is always a person’s action |
Everything in between is visible: every agent run, commit, gate verdict and token spent stays on the ticket.
Where the work happens
Section titled “Where the work happens”Code runs on runners: machines you register, such as a Linux server or a Mac. A runner checks out the repository, runs Claude Code on it under its owner’s Claude subscription, and pushes the result to GitHub. The server never touches a working tree.
Project documentation stays as Markdown in each repository. Pitwall reads it from there and keeps only its operational state, tickets, runs and users, in PostgreSQL. A repository stays complete and workable without Pitwall.
How Pitwall works covers the parts and how they connect.
Who it is for
Section titled “Who it is for”A small team, two to five people, working on their own projects and inviting each other where they collaborate. Each person runs agents on their own runners and their own Claude subscription; the agents’ definitions are shared by the whole instance.
It is not a hosted service. You run the server yourself, and there is no public sign-up: the first person creates an account, and everyone else joins by invitation.
What it is not
Section titled “What it is not”| Pitwall does not | Instead |
|---|---|
| Connect to Jira, Linear or another tracker | Tickets are its own |
| Run agents in parallel inside a ticket | One agent per task, one after another |
| Run two tickets of a project at once | One ticket holds a project’s slot; the rest wait in a queue |
| Merge on its own | A person approves every merge |
| Work with GitLab or Gitea | GitHub only |
| Call the Claude API | Agents run through the Claude Code CLI, on your runners |
What stays in your own terminal
Section titled “What stays in your own terminal”Pitwall drives the flow of a change, from the ticket to the merge, for the work that fits it: a bug fix, a feature, a planned milestone. Some work always stays in your own session with a coding agent, on your own machine:
- bringing services up, such as a database or a container, to try something by hand;
- ad hoc tests and experiments that are not part of any change;
- a hard problem you work through with the agent and special skills loaded;
- a deeper review than the pipeline’s review step gives.
Coming back is a commit. Push it to the ticket’s branch, the one its run works on: every step checks out the branch’s head, so the next step builds on your commit as on any other. A run that waits for you, on a question or blocked, carries on with it once you answer or resume. From that same terminal, a terminal agent can read what the run did and watch what it does next.
How far along it is
Section titled “How far along it is”Today a bug or feature ticket goes the whole way: from the ticket to a merged pull request, with questions, manual tests and pull request reviews on the way. A milestone planned in the repository runs too, phase by phase through the same agents, with one round of manual tests at the end. Chats with an agent exist and are about to change.