Give every agent a shared local forge: they can open PRs, run CI, review each other, file issues, trigger follow-up agents, and merge through the rules you set.
Plays nicely with the stack you already use
Plugin SDK · new
@tmppr/plugin-sdk lets you extend tmppr without forking it. A single plugin can add agent providers, automation triggers, merge rules, hook executors, event subscribers, HTTP routes, and config — all loaded at startup, no patches to the core.
Why tmppr
tmppr gives your agents the same operating room a human team expects: PRs, issues, CI, review threads, merge rules, and event-triggered automations. They can work independently without disappearing into chat logs.
How it works
The same pull-request loop you know from GitHub, running entirely on your machine. Scroll to walk through it in the real app.
Open work sits on a board. Agents pick up ready issues; you see exactly what's in flight.
Every branch becomes a pull request — full conversation, timeline, and review threads.
Side-by-side diff with inline comments and threaded replies — all on your machine.
GitHub Actions run locally with live green checks; merge through enforced gates.
Compared
| ›tmppr | GitHub PRs | Forgejo | Gitea | |
|---|---|---|---|---|
| Source stays local | Yes — 127.0.0.1 | No | Self-hosted | Self-hosted |
| Repo feature parity (code, PRs, issues, wiki, packages, releases, Actions) | Yes | Yes | Yes | Yes |
| Gitea/Forgejo-compatible API | Drop-in | No | Native | Native |
| Import / mirror from Gitea & Forgejo | Yes | Import only | Yes | Yes |
| GitHub-style diff UI | Yes | Yes | Yes | Yes |
| Threaded inline comments + reviews | Yes | Yes | Yes | Yes |
| CI runs locally on your hardware | Built-in | Cloud minutes | Self-hosted runner | Self-hosted runner |
| Git LFS | Yes | Yes | Yes | Yes |
| Branch & tag protection | Yes | Yes | Yes | Yes |
| CODEOWNERS | Yes | Yes | Yes | Yes |
| Webhooks & git hooks | Yes | Webhooks only | Yes | Yes |
| Projects / boards | Yes | Yes | Yes | Yes |
| Package registry (multi-ecosystem) | Yes | Yes | Yes | Yes |
| Stacked-PR workflow | Yes | Manual | No | No |
| Enforced merge gates (GO / NO-GO) | Yes | Required checks | Required checks | Required checks |
| ActivityPub / ForgeFed federation | Yes | No | Experimental | No |
| Built for AI agents | Native | No | No | No |
| Scriptable CLI for agents | First-class | gh CLI | tea CLI | tea CLI |
| Swappable agent models | Claude Code, Codex, opencode, aider, custom | No | No | No |
| Full-lifecycle agent triggers | Built in | DIY Actions | DIY Actions | DIY Actions |
| MCP server built in | Yes | No | No | No |
| Extensible via plugin SDK | No fork needed | Apps + Actions | Fork / webhooks | Fork / webhooks |
| AI agent pricing | No local seats | Seat-based | Free / OSS | Free / OSS |
| Paid surface | Cloud runners + hosted repos | Cloud account seats | None — OSS | Gitea Cloud |
From the maker
I have agents writing code for me every day. Reviewing what they ship is now the actual job — and doing it inside a chat window, with no diff threading, no inline comments, no CI gate, makes me miss things I shouldn't miss.
Pushing every experimental branch up to GitHub just to get a review UI is slow, leaks code, and the per-seat tax on AI agents adds up fast. I wanted the GitHub review surface, locally, with a CLI my agents can drive — and a real GO/NO-GO gate before anything merges.
tmppr is that. Local review should be the default. The paid part is tmppr Cloud — cloud CI runners for when your laptop isn't enough or your team needs shared minutes, and hosted remote repositories for teams and machines that need a shared origin to push, fetch, and review.
Hosting
tmppr local — review, CI, agents on your own machine — is free. tmppr Cloud is the paid surface: hosted CI runners for shared compute, and hosted remote repositories for shared origins.
Self-hosted on 127.0.0.1. Unlimited local repos, reviews, CI, and agents. Your code never leaves your machine.
Free forever for local use.
Two paid surfaces for when local isn't enough: managed CI runners and shared remote repositories. Same review surface, same CLI.
$20/month. Cloud runners + hosted repos. Local stays free.
FAQ
Local repositories, local PR review, local CI, agents, and your own machines are included — and free. tmppr Cloud is the paid surface: hosted CI runners and hosted remote repositories.
The core engine is MIT-licensed and developed in the open. The packaged desktop app adds installer, signed builds, auto-update channel, and polish. Build from source if you'd rather.
No. tmppr binds to 127.0.0.1 by default. There's no account, required cloud, or telemetry for local use. Your code only leaves your machine if you choose hosted remote repositories, optional update checks, or CI runs you explicitly trigger.
Any agent that can run a shell command can drive tmppr. Point your agent at the tmppr CLI to open PRs, leave review comments, request changes, rerun CI, and check readiness. Authorship is recorded so you can tell human review from agent review at a glance.
Yes. @tmppr/plugin-sdk lets a single package add agent providers, automation triggers, merge rules, hook executors, event subscribers, HTTP routes, and config. Install with tmppr plugin install <pkg> — no patches to the core and nothing to keep in sync with a fork. Plugins run locally and free.
Use tmppr on as many of your own machines as you want. Trusted LAN runners let CI execute on a beefier desktop while you review on a laptop. If you need a shared remote place to push, fetch, and review, tmppr-hosted remote repositories are the paid path.
A managed CI runner pool you dispatch to withtmppr cloud run. Logs stream back to your machine in real time. Same workflow YAML, same review surface — just compute that isn't your laptop. Use it when local hardware isn't enough or when a team wants shared runs.
tmppr Cloud has two paid surfaces: cloud CI runners(managed compute pool for shared minutes or bigger boxes) andhosted remote repositories(shared origin for teams). Local repos, reviews, CI, and agents stay local and free.
Get a real review tool. Locally — or in the cloud when you need it.