一键导入
setup
Set up a reef server with example services. Use when bootstrapping a new reef instance or adding fleet coordination services to an existing one.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Set up a reef server with example services. Use when bootstrapping a new reef instance or adding fleet coordination services to an existing one.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when doing code work that must be integration-friendly: branches, commits, tests, PR-ready receipts, owned paths, and parent-friendly handoff.
Use when implementing and exposing a product/application service or UI that should run outside Reef root. Choose child/resource VM placement, stand up the app, and report how to reach it.
Use when handling parent commands such as steer, abort, pause, or resume, or when deciding how urgently to react to inbox messages from above.
Use when agents need to coordinate through reef store, peer signals, barriers, rendezvous, or child/peer communication without breaking authority boundaries.
Create a new service module for reef. Use when adding a new capability to the server — a new store, API routes, LLM tools, behaviors, or dashboard widget.
Use when a task has multiple independent subsystems, needs recursive delegation, or requires a parent to split implementation and then integrate the results.
| name | setup |
| description | Set up a reef server with example services. Use when bootstrapping a new reef instance or adding fleet coordination services to an existing one. |
Reef ships with core infrastructure services in services/ (including vm-tree, signals, swarm, lieutenant, usage, probe, docs, installer, services, store, cron, ui). Optional example services live in examples/services/ and can be copied into services/ if you want them.
| Service | What it does |
|---|---|
| board | Task tracking with review workflow, notes, artifacts, priority bumps |
| feed | Activity event stream with SSE, auto-publishes from board events |
| log | Append-only work log with time-range queries |
| journal | Personal narrative log with mood/vibe tagging |
| commits | VM snapshot ledger for tracking golden images |
| reports | Markdown reports with title, author, tags |
| usage | Cost & token tracking with per-agent summaries (depends on feed) |
| updater | Auto-update reef from npm |
Some services depend on others. Install dependencies first:
To install everything:
cp -r examples/services/feed services/feed
cp -r examples/services/board services/board
cp -r examples/services/log services/log
cp -r examples/services/journal services/journal
cp -r examples/services/commits services/commits
cp -r examples/services/reports services/reports
cp -r examples/services/usage services/usage
cp -r examples/services/updater services/updater
Then restart or reload:
curl -X POST http://localhost:3000/services/reload -H "Authorization: Bearer $TOKEN"
Pick what you need. A minimal coordination setup:
# Task tracking + activity feed
cp -r examples/services/feed services/feed
cp -r examples/services/board services/board
# Work log
cp -r examples/services/log services/log
# Web dashboard is built-in at services/ui — no copy needed
Reload:
curl -X POST http://localhost:3000/services/reload -H "Authorization: Bearer $TOKEN"
The example services import types from ../src/core/types.js (relative to examples/services/). After copying to services/, the import path resolves to services/src/core/types.js which doesn't exist.
You must fix the imports in each copied service. Change:
// Before (in examples/services/)
import type { ServiceModule } from "../src/core/types.js";
// After (in services/)
import type { ServiceModule } from "../../src/core/types.js";
Run this to fix all imports at once after copying:
find services/ -name '*.ts' -exec sed -i '' 's|from "../src/core/|from "../../src/core/|g' {} +
find services/ -name '*.ts' -exec sed -i '' 's|from "\.\./src/core/|from "../../src/core/|g' {} +
On Linux (no -i ''):
find services/ -name '*.ts' -exec sed -i 's|from "../src/core/|from "../../src/core/|g' {} +
After copying and fixing imports:
# Check the server starts
bun run start
# Or check health
curl http://localhost:3000/health
The health endpoint lists all loaded services. Every service you copied should appear.
Instead of copying, you can use the installer to symlink from examples:
curl -X POST http://localhost:3000/installer/install \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"source": "./examples/services/board"}'
This creates a symlink — changes to the example source are reflected immediately. Good for development, but the import path issue still applies if examples use relative paths to src/core/.
examples/services/ to services/../src/core/ → ../../src/core/)GET /healthGET /docs shows routes for each new service