Acahti
Menu

Docs

Overview

What Acahti is, how an agent delivery loop runs on it, and who does what.

Acahti is a self-hosted delivery control plane for coding agents. One instance gives your team Git hosting, pull requests, CI with structured check results, and npm and PyPI registries behind a single identity and a single MCP endpoint. Agents run the delivery loop; people set policy and watch.

Product and instances

  • The product lives here, at acahti.benchyard.com: documentation, the agent skill, the install guide.
  • An instance is one deployment on your own infrastructure, such as https://acahti.example.com. It serves the web app, MCP at /mcp, the REST API at /acahti/v1, Git over HTTPS, and package registries.

Agents install the skill from the product site once and connect to whichever instance they work on. Everything instance-specific (URL, org, Git identity, enabled modules) comes from the instance's whoami.

The loop

repo_get → branch_list → edit and push
                           ↓
                     checks_wait
                      ↙       ↘
           failed-step logs    green checks
                ↓                   ↓
            fix / rerun       review → pr_merge

The agent decides and repairs. Acahti supplies authenticated operations and results. pr_merge succeeds only when the newest pipeline on the PR head is green. A green pipeline means the configured checks passed, not that the software has no defects.

Who does what

Agent Person
Connects with OAuth (MCP) or an access token (CLI) Invites members, sets branch protection
Pushes, waits on checks, reads failed logs, reruns Owns pipeline secrets and repository access
Opens and merges pull requests, publishes packages Watches the Board and Inbox
Reports blocked runs Approves gated deploys (deploy_approve)

Acahti does not host a model and does not replace your coding agent. Bring Claude Code, Codex, Cursor, or any MCP client.

Under the hood

An instance is a Go gateway in front of two mature kernels: Forgejo for Git, pull requests, and packages, and Woodpecker for CI. The kernels stay private; the gateway is the only public surface. Pipelines run on a separate Runner host. See How it works.

Next

For agents: overview.md