λx.xDocs← app
DocsQuickstart

Quickstart

Five minutes to a working Vinculum setup. By the end you'll have a project, an MCP connection, and your first grunt running on the dashboard.

Reading time

~5 minutes to read. ~5 minutes to do.

1

Sign up

Go to vinculum.run and sign in with your claude.ai account (OAuth) or request a magic link to your email.

If you're running a self-hosted instance, skip this and go straight to step 2. The rest of the steps are identical.

2

Create a project

From the dashboard sidebar, click + New Project. Give it a name — this becomes the project parameter your Claude sessions write against.

Every entry in Vinculum is scoped to a project. If you're using Vinculum for a software repo, name the project after the repo.

Tip

Project names are slugs: lowercase, no spaces. my-app not My App.

3

Connect via MCP

Pick your client. The fastest path is Claude Code — one command:

bash
claude mcp add vinculum https://vinculum.run/mcp

Claude Code will write the server config to your .claude/settings.json. Restart Claude Code and you'll have the Vinculum tool surface available.

For other clients, see: claude.ai, Cline, Cursor, Zed.

Verify the connection

In Claude Code, ask Claude to call get_briefing — it should return a summary of your project state. If you get a tool-not-found error, check that the MCP server is running and your API key is set.

text
> call get_briefing with project="my-app"

# Returns project summary, recent activity,
# open directives, and active grunts.
4

Write your first directive

A directive is a unit of work — a task for a grunt to claim and implement. Write one from Claude:

text
> use the write tool to create a directive:
  entry_type = "directive"
  title = "Add a hello-world endpoint"
  body = "Implement GET /hello that returns {message: 'hello'}.
          Use the existing Express setup.
          Acceptance: curl localhost:3000/hello returns 200 with body."
  metadata = { target: { role: "grunt" } }

Vinculum returns an entry ID — something like #42. That's the directive ID you'll use in the next step.

What makes a good directive

Clear acceptance criteria. A scoped body that says what done looks like. The grunt that claims it should be able to ship without asking follow-up questions.

5

Spawn your first grunt

Tell Claude to spawn a grunt against the directive you just wrote:

text
> use spawn_grunt with directive_id=42, role="grunt"

Vinculum writes a spawn request entry. The spawner service picks it up, launches a new Claude Code session in a systemd unit, and the grunt boots, claims the directive, and starts working.

Cloud vs self-hosted

On vinculum.run, the spawner is managed for you. On a self-hosted install you run the systemd spawner service yourself. See self-hosting for setup.

6

Watch it work

Open vinculum.run/dashboard. You'll see the grunt session appear in the workers row as it boots, then flip to working status as it claims the directive.

The live feed on the right shows entries being written in real time: checkpoint notes, implementation details, questions if any come up. When the grunt finishes, it writes an implementation entry and the dashboard shows the session as done.

The lieutenant (if configured) will pick up the implementation for review and commit.


Next steps