LABSCO SUMMARY
Structure for agents that start coding before they have a plan.
The useful idea here is the handoff: when the agent switches from architecture to implementation, the decisions and their rationale move with the task, so the next role does not re-derive them or contradict them. Two things to know going in — the server guides but never executes, so it is a discipline layer over an agent that still does the work, and setup does not end at the config block: the rules have to be initialised per client, and Claude Code needs that file wired into CLAUDE.md by hand.
What it is
A workflow-guidance server for AI coding agents. Rather than executing work itself, it hands the agent structured rules for the step it is on and carries context across role changes — the README's own framing is guidance without execution. Work moves through four roles: Product Manager for project setup and task creation, Architect for technical design and implementation planning, Senior Developer for implementation and testing, and Code Review for security and performance checks before approval. Built on NestJS with Prisma over SQLite or PostgreSQL.
What you get
init_rules— generates the agent rules (custom modes) for your client;cursor,copilot,roocodeandkilocodeare the supported targetsget_step_guidance— for an execution and a role, the step to take, the approach broken into ordered actions, a quality checklist, and the decisions carried over from earlier rolesreport_step_completion— report the result and metrics back, which is what advances the workflow and preserves the handoff- Role transitions that keep state: the current role, which steps are finished, the decisions made and the reasoning behind them travel with the task instead of living in the transcript
- Two ways to run it:
npx @hive-academy/anubiswithPROJECT_ROOTset, or thehiveacademy/anubisDocker image with your project mounted at/app/workspaceand.anubismounted alongside it
Requirements
Node.js 18.0.0 or newer for the npx path, or Docker for the image. No account and no external service — state lives in a local database through Prisma. PROJECT_ROOT tells the server which project it is working in. After the server is running there is a second step that is easy to miss: ask the agent to call init_rules for your client before starting any work, which is what writes the custom mode or rules file. On Claude Code the rules are not generated for you — download the repository's rules markdown, save it into your project, and reference it from CLAUDE.md. Package @hive-academy/anubis (1.2.26) on npm. MIT licensed.
Setup effort
One command — npx -y @hive-academy/anubis
USE CASES
01
Stopping an agent from coding before it has designed anything
Work is issued step by step through roles, so requirements and architecture are finished and recorded before implementation starts.
02
Keeping the reasoning when the task changes hands
The decisions made in an earlier role — and why — come back with the next step's guidance instead of being re-litigated.
03
Setting up your editor's agent to use the workflow
Ask the agent to initialise rules for cursor, copilot, roocode or kilocode; the generated mode file is what makes the workflow available in the client.
04
Resuming a task days later
The execution carries which steps are done and what was decided, so picking it back up does not depend on the old conversation still being open.
BEFORE YOU INSTALL
What to know first
Requires
npx on PATH
Where it runs
All 4 documented setups run the server on your machine.
INSTALLATION
Connect your client
Server setup
TERMINAL
npx -y @hive-academy/anubisMCP Clients
Cursor, Roo Code
JSON
{
"mcpServers": {
"anubis": {
"command": "npx",
"args": [
"-y",
"@hive-academy/anubis"
],
"env": {
"PROJECT_ROOT": "<YOUR_PROJECT_ROOT>"
}
}
}
}Any MCP client — Docker, macOS/Linux
ANY MCP CLIENT — DOCKER, MACOS/LINUX · JSON
{
"mcpServers": {
"anubis": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${PWD}:/app/workspace",
"-v",
"${PWD}/.anubis:/app/.anubis",
"hiveacademy/anubis"
]
}
}
}Values written as ${…} are filled in only by clients that expand variables.
Any MCP client — Docker, Windows
ANY MCP CLIENT — DOCKER, WINDOWS · JSON
{
"mcpServers": {
"anubis": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"<YOUR_PATH_TO_PROJECT>:/app/workspace",
"-v",
"<YOUR_PATH_TO_PROJECT>\\.anubis:/app/.anubis",
"hiveacademy/anubis"
]
}
}
}