Operator
Runs one task from start to finish. It sends the work to the agents, puts a decision packet in front of you whenever the choice belongs to a person, and judges when the result can be delivered. It writes no code and pushes nothing by hand.
Viberr is a self-hosted workspace for small engineering teams that deliver software with coding agents. Agents carry each task from its goal to a pull request, and engineers keep the flow, the review and the merge.
MIT licensed. Runs in one container with Docker Compose.
Describe the work in a new task and the Operator starts at once. It scopes the goal, hands it to specialist agents and comes to you when the choice is yours.
Runs one task from start to finish. It sends the work to the agents, puts a decision packet in front of you whenever the choice belongs to a person, and judges when the result can be delivered. It writes no code and pushes nothing by hand.
A Developer, a Reviewer, or any agent you define. On a board with a repository, the agent that delivers works in the task's own git checkout, and each supporting agent in a clone of its own. Its profile grants the MCP servers, knowledge bases and skills it may use, and it can be given a headless browser. Runs go through the official Claude and Codex SDKs.
An agent you talk to, one click away from a board or a task's page. Ask it about the instance or have it act for you. It works under your permissions and no others, and it can lay work out as epics.
pull_request:write, so PR status can't auto-sync after merge. Completion still requires explicit human acceptance.vib-142-attach-workspace into main.Policy enginePolicy violation: active PAT is missing pull_request:write. Auto-sync after merge will fail.ClaudeReview & validationQuality flag: snapshot task_projection.json changed — confirm the new compact shape is intended before review.OperatorTransition request: move VIB-142 from In Progress to Review. Branch healthy, evidence attached.OperatorRe-engaged Claude (Reviewer) as reviewer; re-anchored on task.md before review.CodexImplementationBranch work complete. Handing back to operator for the review boundary.Arda KayaTook task ownership — owner is the human reviewer and acceptance authority for this task.On a software board every task has its own branch. Viberr's server pushes it and opens the review pull request, and an agent never does either. The Reviewer judges one revision, and its verdict stays tied to that revision. Moving the task to Done merges the pull request, and Viberr asks you to confirm first.
A board can deliver results instead of code. The deliverable is then the files the agent saves on the task, such as an estimate or a report, and a person reviews and accepts them with no repository.
Project roles decide what each person may do, and agent capabilities decide what each agent may do. Every boundary between two stages says whether the operator may cross it alone, needs a person's approval, or leaves the move to a person. Each action under governance is recorded twice: as a row in the audit log and as a typed event on the task's timeline.
Example boundaries. Each project sets its own.
Projects, tasks and epics are markdown files on your own disk. Open them, grep them or edit them by hand. When a file is malformed, Viberr shows a diagnostic you can read and does not crash.
Everyone links a Claude or Codex account of their own. The cost of a run goes to the owner of its task, and the cost of a controller turn to whoever asked. Viberr never stores a vendor sign-in token.
A single Node process serves the app, the stream of live updates and the background services. You run no database, cache or queue next to it.
Viberr runs on a single node. It sends no email, so notifications stay in the app. The app speaks plain HTTP, so TLS has to end at a reverse proxy you put in front of it. Chromium is the only browser it declares support for.
Have Docker installed, with Compose 2.24 or later. You write no .env file and create no volume.
git clone https://github.com/akin-ozer/viberr.git && cd viberrdocker compose upThen open http://localhost:3000 and sign in with the one-time password you will find printed in the log. Home lists the setup steps that remain: a GitHub connection, your own account, a Claude or Codex account and a first project. A board that delivers results needs no GitHub connection.