Reeve
Configuration

Config Examples

Common configuration patterns for agents, teams, and organizations.

Config Examples

Practical patterns for common configuration scenarios.

Solo Developer Setup

One user, multiple agents, no org layer needed:

// reeve.json
{
  "layers": {
    "individual": "~/.reeve/user"
  },
  "agents": {
    "defaults": {
      "model": "claude-sonnet-4-6"
    },
    "list": [
      {
        "id": "main",
        "role": "coordinator",
        "model": "claude-opus-4-6",
        "workspace": "~/reeve-workspaces/main",
        "subagents": { "allowAgents": ["*"] }
      },
      {
        "id": "coder",
        "role": "worker",
        "workspace": "~/reeve-workspaces/coder"
      }
    ]
  }
}

Individual layer (~/.reeve/user/USER.md):

# Matt
Full-stack dev, TypeScript/React/Node.
Timezone: PST. Prefers concise responses.

Team / Org Setup

Multiple users sharing org context:

// reeve.json
{
  "layers": {
    "org": "/shared/org",
    "individual": "~/.reeve/user"
  }
}

Org layer (/shared/org/AGENTS.md):

# Acme Corp Standards
- All code follows ESLint strict config
- PRs require 1 approval minimum
- Use conventional commits (feat:, fix:, chore:)
- Production deploys only via CI/CD pipeline
- Customer data is PII — never log it

Org layer (/shared/org/SOUL.md):

# Acme Corp Voice
Professional but approachable. Use "we" not "I".
Always reference ticket numbers in responses.

Each user's individual layer adds personal preferences without affecting the team.

Cloud Multi-Tenant Setup

In cloud mode, org detection is automatic:

/data/tenants/
  acme-corp/
    org/                    ← Layer 2 for Acme
      AGENTS.md
      SOUL.md
      CONTEXT.md
      MEMORY.md
    agents/
      marketing/
        workspace/          ← Layer 4 for marketing agent
          AGENTS.md
      engineering/
        workspace/          ← Layer 4 for engineering agent
          AGENTS.md
  beta-inc/
    org/                    ← Layer 2 for Beta (completely separate)
      AGENTS.md
    agents/
      ...

The gateway derives the org path from the workspace:

workspace = /data/tenants/acme-corp/agents/marketing/workspace
org       = /data/tenants/acme-corp/org/

Role-Specific Model Overrides

Different models for different roles:

{
  "agents": {
    "defaults": {
      "model": "claude-sonnet-4-6"
    },
    "list": [
      {
        "id": "coordinator",
        "role": "coordinator",
        "model": "claude-opus-4-6"
      },
      {
        "id": "research",
        "role": "research",
        "model": "claude-opus-4-6"
      },
      {
        "id": "worker-1",
        "role": "worker"
        // Inherits default: claude-sonnet-4-6
      },
      {
        "id": "worker-2",
        "role": "worker"
        // Inherits default: claude-sonnet-4-6
      }
    ]
  }
}

Heartbeat Configuration Patterns

Active monitoring manager

{
  "id": "ops-manager",
  "role": "manager",
  "heartbeat": { "every": "15m" }
}

Background research agent

{
  "id": "researcher",
  "role": "research",
  "heartbeat": { "every": "4h" }
}

Event-driven worker (no heartbeat)

{
  "id": "deploy-worker",
  "role": "worker",
  "heartbeat": null
}

Subagent Permission Patterns

Hub-and-spoke (coordinator delegates to managers)

// Coordinator
{ "subagents": { "allowAgents": ["*"] } }

// Managers
{ "subagents": { "allowAgents": ["pipeline-manager", "marketing-manager"] } }

// Workers
{ "subagents": { "allowAgents": ["frontend-worker"] } }

Flat team (all agents can message each other)

// All agents
{ "subagents": { "allowAgents": ["*"] } }

Be careful with ["*"] on workers — it lets them spawn any agent including coordinators. Generally only coordinators should have ["*"].

Isolated workers (strict sandboxing)

{
  "subagents": { "allowAgents": [] },
  "tools": { "disabled": ["sessions_spawn", "sessions_send"] }
}

On this page