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 itOrg 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"] }
}