Getting Started
This guide walks you through setting up your own Claude Code agents, hiring a member, and launching it. Familiarity with Git, GitHub, and command-line tools is assumed.
Pre-Alpha
BotMinter is under active development. Commands, configuration format, and behavior may change without notice between releases. See the Roadmap for current status.
Note
This guide uses the agentic-sdlc-minimal profile as an example — a three-member model with three roles: engineer (an agent that wears multiple hats: product owner, architect, developer, QE, and more), chief-of-staff (coordinates process and team-level tasks), and sentinel (automated gates and merge governance). The commands and workflow are the same for any profile — only the profile name and available roles differ. See Profiles for available profiles.
Prerequisites
Make sure you've completed the Prerequisites setup — tools, recommended environment, and gh authentication — before proceeding.
Step 1: Create a team
Run the interactive wizard:
First run
If this is your first time using bm, you'll be prompted to initialize profiles: "Profiles not initialized. Initialize now? [Y/n]". Press Enter to accept — this extracts the built-in profiles to ~/.config/botminter/profiles/ so they're available for team creation. This only happens once.
The wizard walks you through the full setup:
- Workzone directory — where teams live (default:
~/.botminter/workspaces) - Team name — identifier for your team (e.g.,
my-team) - Profile — team methodology (e.g.,
agentic-sdlc-minimal) - Bridge — optional communication bridge (Matrix or Telegram) if the profile supports one
- GitHub integration — auto-detects your
gh authsession, validates it, then lets you browse orgs and select or create a repo interactively - Project board — select an existing GitHub Project board or create a new one
- Members and projects — optionally hire members and add project fork URLs right away
What bm init does
When the wizard completes, it has:
- Created (or cloned) a team repo — the control plane with your profile's process conventions, knowledge structure, and role definitions
- Bootstrapped GitHub labels — status labels matching the profile's workflow pipeline (e.g.,
status/eng:dev:implement,status/eng:po:triage) - Created (or selected) a GitHub Project board — for tracking issue status across roles
- Registered the team in your local config (
~/.botminter/config.yml) - Hired members (if you chose to during the wizard) — extracted member skeletons into the team repo
- Added projects (if you chose to during the wizard) — registered project fork URLs in the team config
Config is saved early so that if a GitHub operation fails, the team is still registered and recoverable. If any GitHub operation fails, the wizard stops with actionable error messages showing the exact gh commands to run manually.
What gets created on disk
workzone/
my-team/
team/ # Team repo (control plane, git repo)
botminter.yml # Profile manifest (roles, statuses, views)
PROCESS.md # Issue format, labels, communication protocols
CLAUDE.md # Team-wide agent context (name varies by coding agent)
knowledge/ # Team-level knowledge files
invariants/ # Team-level quality rules
coding-agent/
skills/ # Shared agent skills (gh CLI wrapper)
skills/ # Profile-level skills (knowledge-manager, etc.)
formations/ # Deployment targets (local, k8s)
projects/ # Project-specific knowledge and invariants
members/ # Member configurations (populated if you hired during init)
Step 2: Hire members and add projects
If you already hired members and added projects during bm init, skip to Step 3.
Hire a member
Add a member to the team by specifying a role from the profile:
This extracts the member skeleton from the profile on disk into the team repo — including its Ralph config, prompts, knowledge, and invariants. With the agentic-sdlc-minimal profile, the engineer role is an agent that wears all hats (PO, architect, developer, QE).
You can optionally provide a name:
To see what roles are available in your profile:
Add a project
Register a project fork for your agents to work on:
This tells BotMinter which codebase your agents will clone and work in. The URL should point to a fork of your project (see Prerequisites — repo layout).
bm projects add also creates a project/<name> label on the team repo (e.g., project/my-project-fork). This label is how agents know which issues belong to which project.
Tag your issues
When creating issues on the team repo, make sure to apply the project/<name> label so agents can associate the work with the right codebase.
Step 3: Provision workspaces
Once you have members hired and projects added, provision the workspaces:
This is where the setup becomes real. bm teams sync does the following for each hired member:
- Pushes the team repo to GitHub (with
--repos) so agents can coordinate via issues - Creates a workspace directory per member × project
- Clones the project fork into the workspace
- Adds the team repo as a
team/submodule inside the workspace repo - Copies context files — copies
PROMPT.md,CLAUDE.md, andralph.ymlfrom the team submodule to the workspace root - Assembles
.claude/agents/— merges agent definitions fromteam/submodule paths via symlinks
If you've already pushed the team repo, you can run bm teams sync without --repos.
Step 4: Set up the Project board
Sync the GitHub Project board's status columns with your profile and get instructions for creating role-based views:
This updates the board's Status field options to match your profile's workflow stages, then prints step-by-step instructions for creating filtered views so each role sees only the statuses relevant to it.
Example output for the agentic-sdlc-minimal profile:
✓ Status field synced (25 options)
Your GitHub Project board needs role-based views so each role sees
only its relevant statuses. Create one view per role listed below.
Open the board: https://github.com/orgs/my-ai-team/projects/1
For each view:
1. Click "+" next to the existing view tabs
2. Choose "Board" layout
3. Rename the tab to the view name below
4. Click the filter bar and paste the filter string
5. Click save
6. To create the next view, click the tab dropdown → Duplicate view, then repeat from step 3
View Filter
---- ------
Engineer status:eng:po:triage,eng:po:backlog,eng:po:ready,eng:arch:design,eng:arch:plan,eng:arch:breakdown,eng:arch:in-progress,eng:arch:sign-off,eng:dev:implement,eng:dev:code-review,eng:qe:test-design,eng:qe:verify,eng:lead:design-review,eng:lead:plan-review,eng:lead:breakdown-review,done,error
Human Gates status:human:po:design-review,human:po:plan-review,human:po:accept,done,error
Sentinel status:snt:gate:merge,done,error
Chief of Staff status:cos:exec:todo,cos:exec:in-progress,cos:exec:done,done,error
Step 5: Launch
Start all members:
Each member launches as a Claude Code instance orchestrated by Ralph, running in its own workspace with its own hats, knowledge, and workflow.
Check status:
Inspect the team, its members, or configured projects:
bm teams show # Full team details: members, projects, config
bm members show engineer-01 # Member details: role, status, knowledge files
bm projects list # List configured projects with fork URLs
Workspace layout after sync and launch
workzone/
my-team/ # Team directory
team/ # Team repo (control plane)
members/engineer-01/ # Member config
projects/my-project/ # Project-specific dirs
engineer-01/ # Workspace repo (agent CWD)
team/ # Submodule → team repo
projects/
my-project/ # Submodule → project fork
PROMPT.md # Copied from team/members/engineer-01/
CLAUDE.md # Copied from team/members/engineer-01/
ralph.yml # Copied from team/members/engineer-01/
.claude/agents/ # Symlinks into team/ submodule paths
.botminter.workspace # Workspace marker file
Shell completions (optional)
Enable tab completions for commands, flags, team names, roles, and more:
# Bash
echo 'eval "$(bm completions bash)"' >> ~/.bashrc
# Zsh
echo 'eval "$(bm completions zsh)"' >> ~/.zshrc
# Fish
bm completions fish > ~/.config/fish/completions/bm.fish
Completions are dynamic — they suggest real values from your configuration (team names, roles, members, profiles, etc.). See the CLI Reference for all supported shells.
Next steps
- Follow Your First Journey to create your first epic, launch your agent, and see the full pipeline in action
- Read The Agentic Workflow to understand the philosophy behind the process
- Read Architecture to understand the profile-based generation model
- Learn about the Coordination Model and pull-based work discovery
- See CLI Reference for all available
bmcommands