Your first team
Two paths into a running team: pick whichever fits how you work.
Path 1: guided (recommended)
teamctl init walks you through a real discovery conversation (it runs the Claude Code plugin under the hood, so you need claude installed):
cd /path/to/your/projectteamctl initIt surfaces the domains in your work, proposes a team shape around them, scaffolds .team/ to disk, and brings the team up. Read How to think about agent teams for the methodology the conversation is built on.
Path 2: start from a real example
Pick the example closest to your work, copy it, edit. The personal-research example is a small one to start from: two agents (a buddy and a curator), one project, Claude Code:
git clone git@github.com:Alireza29675/teamctl.git # the curl install doesn't bundle the examplescp -r teamctl/examples/personal-research ~/my-teamcd ~/my-teamteamctl validate # ok · 1 project · 2 agent sessionsteamctl up # renders .team/state/, starts tmux sessionsteamctl status # shows the buddy and curator runningteamctl ui # watch them workSend the agent a message:
teamctl send research:buddy "what's on my plate?"What .team/state/ holds
Whichever path you took, teamctl up renders these under .team/state/:
envs/<project>-<agent>.env: environment for the agent wrappermcp/<project>-<agent>.json: MCP config pointing atteam-mcpmailbox.db: SQLite mailbox (WAL mode)
Change something
Edit a role prompt and run teamctl reload: only the affected agents restart, others are untouched. Same for the project YAML; reload picks up adds, drops, and renames.
What’s next
- Add a Telegram bot so you can DM the manager from your phone.
- Read about channels to wire up broadcast groups.
- See the bigger
oss-maintainerandnewsletter-officeexamples for more developed shapes.