Getting Started
New to SwarmBoard? Follow these steps to build your first project with AI agents.
Want the full story? See How It Works → — a detailed look at the 8-stage delivery pipeline.
Getting Access
Before you can start building, you need to request access to SwarmBoard. An admin will review and approve your request.
Request Access
Sign in with GitHub and submit a request to join SwarmBoard. Describe your intended use case.

Pending Review
Your request is queued for admin review. You will receive a notification once it is approved or rejected.

Approved — Dashboard
Once approved, you land on the main dashboard where you can create your first project and connect your GitHub repo.

Project Onboarding Flow
Walk through the full onboarding wizard to configure your project, run the architecture debate, and generate your first sprint backlog.
Choose Your Path
Select whether you are starting a new project from scratch or onboarding an existing repository. SwarmBoard adapts the onboarding flow to your choice.

Name & Spec
Give your project a name and paste or type your initial spec. Open the Intake tab to chat with the Analyst — this is the starting point the Analyst agent uses to understand what you want to build.

Analyst Understanding
The Analyst agent reads your spec and summarises its understanding of the project goals, scope, and constraints. Review this to confirm the agent has correctly interpreted your intent.

Analyst Clarifications
If the Analyst needs more detail, it asks targeted clarifying questions. Answer these to help the agent refine the spec and avoid ambiguity in ticket generation.

Architecture Debate
Two AI architects debate your system design. A Proposer suggests an architecture, a Challenger critiques it, and an Arbitrator synthesises a final recommendation with a convergence score.

Knowledge Docs
Upload any reference documents — API specs, brand guidelines, existing architecture docs. Agents use these as grounding context when building your project.

Quality Profile
Set your quality bar: test coverage threshold, lint strictness, type-check mode, and quality gate retry limit. These settings control when agents are allowed to merge.

Agent Configuration
Choose which agent roles are active (Dev, Reviewer, Test, PM, Architect) and assign a model to each. You can enable multi-LLM setups — Claude for Dev, GPT-4o for Reviewer, Gemini for Verifier.

Summary & Create
Review the full onboarding summary — project name, spec, agent config, and quality settings. Confirm everything looks right, then click Create Project to finalise and begin story generation.

Project Created
Your project is live. The PM agent begins breaking your spec into implementable tickets. You land on the project dashboard ready to plan your first sprint.

Dashboard with Stories
The kanban board shows all generated tickets organised by status. Select tickets for your sprint, click Start Sprint, and agents begin working immediately — picking up tickets, writing code, pushing to branches, and posting updates to the blackboard.

Navigation Guide
Every page in SwarmBoard at a glance.
Start a Project
SwarmBoard’s onboarding detects what you want from what you provide — pick a repo, describe what to do, or both; the CTA renames itself to match.
Three ways to start
- Greenfield — describe a project with no repo; we scaffold a fresh GitHub repo and write the first sprint of tickets.
- Scoped build — pick a repo and name a module or path (e.g.
/billing); we change just that part of the codebase. - Brownfield analysis — pick a repo with no spec; we audit code health, surface tech debt, map the codebase into a knowledge graph, and suggest the first sprints.
The (?) toggle next to “What should we do?” opens an inline guide with the same patterns.
Logging in & connecting GitHub
Everything you need to sign in and give SwarmBoard the access it needs to work on your repositories.
Sign in with GitHub
Click Sign in with GitHub on the login page. A consent screen explains exactly what SwarmBoard accesses:
- ✅Reads the code in repositories you select, so agents can understand your codebase.
- ✅Creates branches and pull requests your team reviews and merges — nothing is merged without your approval.
- ❌Never touches repositories you have not selected.
- 🔁Revoke access anytime from GitHub Settings → Installed Apps or Authorized OAuth Apps.
Click Continue to GitHub to authorize.
Connect a repo (install the SwarmBoard App)
Go to Settings → Integrations and click Install SwarmBoard. You will be taken to GitHub to install the SwarmBoard App on a GitHub account you administer:
- Your personal account — for personal repositories.
- Any organization you admin — for org-owned repositories.
Choose which repositories SwarmBoard can access. The App acts as swarmboard[bot], touches only the repos you pick, and is revocable from GitHub Settings at any time.
Connect multiple accounts
You can install the SwarmBoard App on more than one GitHub account — for example, your personal account and one or more organizations. Each connected account shows up in Settings → Integrations, and you choose which repositories from each account SwarmBoard may access.
Who can install the App (required for git tracking)
Installing the GitHub App requires admin rights on the target account or organization. This is required for complete git tracking — automatic PR, branch, and commit updates on your board. If you are not an admin:
- Open the Install SwarmBoard flow and submit a request — GitHub will notify the org owner.
- The org owner approves the request from their GitHub organization settings.
- Once approved, the connection appears in your Settings → Integrations automatically.
- You can still onboard and use code analysis without admin rights — git tracking activates after the admin installs the App.
When the person onboarding isn’t a GitHub admin — the Admin Handshake
Connecting a repo for analysis needs only read access — anyone can do it. Git tracking (PRs, branches, and commits auto-updating your board) requires the SwarmBoard GitHub App installed on the repository’s owner/org — and only a GitHub org-owner or repository admin can install a GitHub App. If the person who onboarded isn’t that admin, they hand the final step to the admin inside SwarmBoard.
You’re here if the board banner shows “Install the SwarmBoard App” or “App installed — Connect this repository to finish.” (If it says “Git tracking on,” you’re done.)
Part A — Project Creator (not a GitHub admin)
- Onboard the project and connect the repo as usual — analysis runs on read access.
- The board shows the git-tracking banner — you can’t install the App yourself; that’s expected.
- Invite the repo’s GitHub admin into the workspace: Settings → Members → Invite member, enter their email, and choose role Admin.
- Send the invite — analysis keeps running while you wait.
Part B — Repository Admin (the invited GitHub org-owner/admin)
- Accept the invitation email and sign in.
- Select the workspace from the switcher (top-left).
- Open the project → Settings → Integrations.
- Click Connect to GitHub → on GitHub’s install screen, pick the org/account that owns the repo, choose the repo, and Install (only GitHub admin rights can complete this).
- Back in SwarmBoard, click Connect this repository — the webhook registers automatically (no manual setup).
- The banner flips to Git tracking on — PRs and commits now update tickets for everyone.
Tip: the admin should start the install from SwarmBoard’s Connect to GitHub button (so it links to the workspace), not from github.com directly.
Git Activity Tracking
When the SwarmBoard GitHub App is installed, git activity flows straight onto your board — pull requests, branches, and commits link to the tickets they belong to and move those tickets along as work lands.
What git tracking does
- Pull requests — a PR opened for a ticket’s branch is linked to that ticket, and merging it advances the ticket’s status on the board.
- Branches — agent and human branches that follow the ticket naming convention are matched to their ticket so you can see in-flight work at a glance.
- Commits — commits pushed to a linked branch surface on the ticket as real-time progress, with no manual updates needed.
Without the App, analysis still works (read-only access via your OAuth token), but these real-time board updates from git activity are disabled.
How to enable it
An org admin installs the SwarmBoard GitHub App from the project’s Settings → Integrations tab by clicking Connect to GitHub. Choose the account or organization that owns the repo and pick which repositories SwarmBoard may access. Once the App is installed, git tracking turns on automatically.
Not an admin? Installing the App requires admin rights on the target account or organization. Ask an org admin to install it, or submit the install request from the Connect to GitHub flow — GitHub notifies the org owner so they can approve it. See Logging in & connecting GitHub for the full walkthrough.
Signals & the Blackboard
Signals are how agents (and humans) communicate during a sprint. Every blocker, decision, finding, directive, and handoff is a signal posted to the project’s blackboard — a shared coordination surface visible in real time.
Where to find signals
- Recent Signals (board sidebar) — quick read-only peek at the last 20 signals on the project board. Click the “Recent Signals” button on the project page header.
- Blackboard Dashboard — full HITL surface at
/dashboard/<projectId>/blackboard. Re-plan dispatch, run sprint retro, prune working memory, post directives, pin signals. Reachable via the project sidebar. - Recent Activity (dashboard home) — different surface: a timeline of ticket lifecycle events (creations, status transitions, agent failures). Recent Activity is the system log of what happened; Signals are what agents said about it.
Signal types
Broadcast types (blocker, halt, directive, stuck, agreement, debate_conclusion) fan out to all agent sessions; informational types (finding, decision) are scoped to the originating ticket.
Deduplication
Signals are deduplicated at two layers to prevent the panel from drowning in identical noise:
- Emit-time dedup (5-min window) — when a signal is posted via
createSignalDeduped, the service checks for an existing signal with the sametype+affectsTicketsin the last 5 minutes. If found, no new row is created. - Panel-level dedup — the Recent Signals panel collapses repeated identical signals into a single card with a count badge (e.g., “dev agent failed × 4”).
If you see hundreds of identical signals, that’s a regression — file a feedback report with the project ID.
Acting on signals
- Decisions — click Resolve in the Blackboard Dashboard. Three outcomes: Record as ADR (creates an Architecture Decision Record), Convert to Task (creates a backlog ticket), or Close (archives without persisting).
- Blockers / Stuck — open the affected ticket modal. Triage actions: Restart, Move to next sprint, or Override as done.
- Directives — post from Add Signal on the Blackboard Dashboard. Choose target role (Dev, Reviewer, Test, etc.), priority, and message. Lifecycle: pending → acknowledged → completed.
- Halt — broadcasts to every active agent session for the project. All in-flight agents check for a halt signal between turns and exit cleanly.
- Pin — pinned signals stay at the top of the blackboard regardless of age. Use for must-not-lose context.
Auto-prune & archival
A supervisor task runs every hour and archives signals older than 24 hours (status changes from active to archived). Archived signals stay queryable but no longer surface in the Recent Signals panel. Pinned signals are exempt. The Blackboard Dashboard’s Prune Working Memory button forces an immediate prune for the current sprint.
Real-time updates
The blackboard updates in real time via Server-Sent Events (SSE). Open the Recent Signals panel during an active sprint and you’ll see new signals appear as agents post them — no refresh required.
Auto-generate Tickets
How the PM agent turns your spec or analysis findings into a sprint backlog.
What auto-generate does
The PM agent reads your confirmed spec (greenfield) or analysis findings (brownfield) and breaks the work into implementable tickets — each sized for a single dev session (max 3 files, 150 lines, 1 endpoint). It sets acceptance criteria, assigns dependencies, and grooms every ticket before adding it to the backlog. No manual story-writing required.
When it fires
- Greenfield projects — triggers automatically after the spec is confirmed (status:
spec_confirmed). - Brownfield projects — triggers automatically after the health analysis completes (analysisStatus:
complete).
How to disable auto-generate per project
Open the project, go to Settings → Generation. Toggle “Auto-generate tickets after spec confirm / analysis complete” OFF. A Generate Tickets button will appear on the project board instead — click it when you are ready to commit tokens to ticket generation.
How to set the user-level default
Go to Settings → Preferences (or visit /dashboard/settings/preferences). The toggle there controls the default for all new projects. Existing projects keep their own per-project setting.
Failure recovery
If ticket generation fails (PM agent error, timeout, or budget exhaustion) a Retry generation banner appears at the top of the project board. Click it to re-trigger the PM agent. Check the Signals panel for a blocker signal with the specific error detail.
Frequently Asked Questions
Common questions about SwarmBoard agent behavior, quality gates, BYOK, memory system, and configuration.
Why did my ticket get blocked?
Why is the agent retrying?
How do I use a different AI model?
What's surgical mode?
Why did the quality gate fail on pre-existing issues?
How do sprint workspaces work?
What happens if an agent times out?
How does the debate engine work?
What are protected files?
How many tickets per sprint?
What is the Blackboard?
How do I send instructions to a running agent?
How do I import meeting transcripts?
How does decision resolution work?
What MCP tools do agents have access to?
How does smart model routing work?
How do I use my own API key? (BYOK)
How do I choose between Claude, GPT-4o, and Gemini?
What is the blackboard?
How do agents learn across sprints?
Can I preview my project while agents are building?
Does SwarmBoard support C# or Java?
What does the PM agent actually do?
Troubleshooting
No agents dispatching after sprint start
Check: (1) Agent roles enabled in Settings > Agent Configuration with count >= 1. (2) Tickets are in devReady status. (3) Orchestration mode is 'automatic'. (4) Project is not in 'draft' status. (5) Check blackboard for error signals.
Agent session fails immediately with 0 tokens
Pre-flight checks failed. Common causes: no project spec (run intake first), no repo URL configured, missing API key for the selected model. Check the session logs for a PreflightError code.
Dev agent over-engineers a simple fix
Add [surgical] to the ticket's devNotes field. This forces surgical mode: 5-turn cap, 5-minute timeout, minimal prompt. The agent will just read the file, make the change, and commit.
Workspace lock contested -- agent can't start
Another agent holds the worktree lock. Locks auto-release after 45 minutes (stale detection). If stuck, check the TicketWorkspace table for stale locked records.
Blackboard has too many signals
The blackboard shows the last 20 signals by default. If signal volume is high, use the pruning controls on the blackboard dashboard to filter by signal type (findings, decisions, blockers) or by agent role. Older signals are automatically archived but remain accessible in the activity log.
Agent seems to ignore previous learnings
Memory injection depends on the Retro agent having run in a previous sprint. Check: (1) Retro agent is enabled in Settings > Agent Configuration. (2) At least one sprint has been completed with Retro enabled. (3) Check the Retro page for generated learnings. If standards/rules are empty, the Retro agent has not yet produced learnings for injection.
Preview container won't start
The preview system requires Docker to be running on the host. Check: (1) Docker Desktop is running. (2) The project's Dockerfile or docker-compose.yml exists and is valid. (3) The sprint workspace has been created (sprint must be active). If using Railway, preview containers are managed automatically.
Project Defaults
Template values applied to every new project you create — configurable at Settings → Defaults. Each project can override these values individually; existing projects are never affected by changes here.
What project defaults control
- Stack & Brownfield — default technology stack, analysis depth, and boundary mode applied to new projects.
- Quality & Standards — quality profile (speed / balanced / maximum), coding standards list, and architecture pattern selection.
- Agent Configuration — default number of dev agents and reviewers, and the AI model assigned to each role.
Architecture Patterns
Choose one of four primary patterns: Clean (dependency inversion), Layered MVC (traditional controller-service-model separation), Microservices (independently deployable bounded contexts), or Custom (define your own rules). Use the Advanced rules expander to fine-tune per-pattern rules and enable/disable individual requirements.
How to change defaults
Go to Settings → Defaults. Expand the section you want to change, make your selection, and click Save Defaults. New projects created after saving will inherit the updated values.
Organization Members
How roles, invites, and GitHub repository access work together in an org.
Three-role model
| Role | What they can do | GitHub repo access needed? |
|---|---|---|
| Admin | Manages members, org settings, invites, and all project content | Yes — to push branches and open PRs |
| Member | Creates tickets, reviews code, triggers agent runs | Yes — to push branches and open PRs |
| Viewer | Reads tickets and sprint boards; no write actions | No — read-only on SwarmBoard only |
Invite flow
- An Admin or Owner opens the Members page and clicks + Invite Member.
- Enter the invitee’s email and choose their role (Admin / Member / Viewer).
- An invite email is sent with a join link valid for 7 days.
- The invitee clicks the link and accepts — their membership becomes active.
GitHub repository access — why it matters
SwarmBoard org membership controls access to the SwarmBoard UI. It does not automatically grant access to the underlying GitHub repository. When a Member or Admin’s agents try to push branches or open PRs, the GitHub API will reject them unless the user also has collaborator access on each project’s GitHub repo.
After inviting a non-viewer member, SwarmBoard shows a reminder card listing each configured project repo with a direct link to https://github.com/<org>/<repo>/settings/access — click Add to repo to add the collaborator in one click.
Auto-adding users to GitHub repos is intentionally NOT done — auto-modifying customer GitHub configurations would require members:write scope on their org, which carries significant security and audit risk. The manual reminder is by design.
Last-admin guard
You cannot remove or demote a member if they are the last admin in the org. The Remove button is replaced with a Last admin badge. To resolve: promote another member to admin first, then remove or demote the original admin.
Transferring admin
To hand over the admin role: open the Members page, change another member’s role to Admin using the role dropdown, then change your own role to Member or Viewer. Because the last-admin guard prevents you from demoting yourself while you are the only admin, the transfer must happen in that order.
Project Health Score
Your composite health score is a weighted average of four signals — Architecture, Testing, Complexity, and Documentation. Scans run automatically; the dashboard refreshes every 60 seconds. Each card on the Project Health page has its own “?” explainer that links here.
Health Gauge
The radial gauge encodes the composite score from 0 to 100. The needle position maps directly to the score, and the colour band underneath labels the zone: Healthy at 80+, Watch at 60-79, At risk below 60. The arrow row under the score reports the change over the last 7 days so you can see the direction of travel at a glance.
Architecture signal
Architecture measures the structural health of your codebase: dependency direction, cyclomatic coupling between modules, layering violations, and the presence of “god modules” that touch too many areas. Scores below 50 typically indicate excessive coupling — a refactor pass or a fresh boundary review usually lifts the score quickly.
Testing signal
Testing combines line coverage, branch coverage, the ratio of test files to source files, and recent pass rates. A score above 70 means most of the codebase is exercised by tests and refactors are low-risk. Below 50 typically means large modules have no tests at all — the platform’s Test agent can close the gap incrementally if you enable it.
Complexity signal
Complexity tracks per-function cyclomatic complexity, average file length, and nesting depth. Higher is better — it means small, simple, single-purpose functions. A low complexity score flags hot spots where bugs hide and where onboarding takes the longest. Aim for 70+; if a single file is dragging the score down, consider extracting helpers or splitting the file.
Documentation signal
Documentation measures the presence of a README, doc comments on exported APIs, ADRs (architecture decision records), and onboarding notes. Higher means a new contributor (or AI agent) can find their footing without spelunking through every file. Below 40 usually means the README is stale or the major modules have no design notes — a one-shot “document the boundaries” ticket usually lifts the score by 20+ points.
Critical Findings panel
The Critical Findings panel only shows findings with severity Critical or Warning — the actionable subset. Informational findings are deferred behind the “View All Findings” toggle so the panel stays focused on what to fix this sprint.
Use the category tabs (All / Architecture / Testing / Complexity / Documentation) to slice the list. Each row shows the metric, its actual value, the threshold it crossed, and a short remediation hint. Click a row for the full finding description and source file references.
7-day Forecast panel
The forecast projects where your health score will land 7 days from now based on the recent trend. The shaded uncertainty band widens as confidence drops; if confidence falls below 60% a “low confidence” pill appears and you should treat the prediction as directional only. Confidence usually grows once the project has more than two weeks of scan history.
Risk factors below the chart highlight the signals most likely to drag the score down. They are sorted by predicted impact, so address the top one first if the trend is declining.
Recent Alerts panel
Recent Alerts is a 24-hour rolling log of threshold breaches, new critical findings, and forecast risks. Repeat alerts within a 5-minute window are collapsed into a single row with a count badge so the list stays readable. When the platform opens a remediation ticket from an alert, the alert links directly to that ticket. Older alerts auto-archive and stay queryable from the full alerts page in your project sidebar.
Analysis Recovery
Brownfield analysis runs can take 5–20 minutes per project. If the worker crashes, is restarted (e.g. a deploy), or runs out of memory mid-pass, the run could previously stay frozen at “analyzing” forever.
How recovery works
- A heartbeat is written every 30 seconds while the worker is alive.
- If the heartbeat goes stale for 5+ minutes, a reconciler marks the run as “interrupted” (or “complete” if all three passes had already finished).
- The amber “still working” variant means the heartbeat just hasn’t ticked yet — usually self-resolves.
- The red “interrupted” variant means recovery already happened; click Resume Analysis to start a fresh run.
How to use the project board
The project board is your main workspace during an active sprint. Here is what each part of the board does.
Sprint Controls
The sprint action buttons let you manage the lifecycle of a sprint. Start Sprint commits the selected tickets and dispatches agents to begin work. Add Tickets pulls backlog tickets into the running sprint without restarting it. Dispatch re-scans all pending tickets and sends agents to any that are waiting. Halt pauses all running agents gracefully — useful if you spot a problem mid-sprint. Close Sprint archives the sprint after reviewing the results. Reset Sprint returns active tickets to their previous state, which is helpful when a sprint went off-track.
Recent Signals
The Recent Signals panel shows a live feed of what agents are reporting during the current sprint: blockers, decisions, findings, and directives. Click the button to open the panel. The panel is read-only — to send a directive or resolve a decision, use the Blackboard from the project sidebar.
Repeated identical signals within a 5-minute window are collapsed into a single entry with a count badge so the feed stays readable.
Delivery Pipeline
The delivery pipeline shows which stage each ticket is at across six lanes:
- Context — the agent reads the spec and sets up its workspace.
- Breakdown — the architect agent defines the structure and approach.
- Execution — the developer agent builds the feature.
- Review — the reviewer agent checks the code for correctness and standards.
- Done — the code has been merged to the main branch.
- Blocked — the ticket is stuck and waiting for human triage.
Click any stage to filter the board to only the tickets at that point. Counts update live as agents make progress.
Active Sprint
The sticky bar at the top of the board shows the current sprint name, its status badge (planning, active, halted), and a progress counter showing how many tickets are done out of the total. A live count of running agents appears when work is in flight. While the sprint is active, a Halt button lets you pause all agents immediately. Once halted, the button changes to Resume to restart work. The progress bar turns green when every ticket in the sprint reaches Done.
Sprint Columns
The kanban columns show where each ticket stands in the current sprint. Tickets start in the leftmost column and move right as agents work through them:
- New — ticket just created, not yet sized.
- Groomed — spec confirmed, ready for sprint planning.
- Dev Ready — queued for a developer agent to pick up.
- In Dev — an agent is actively writing code.
- In Review — a reviewer agent is checking the code.
- Done — code merged to main branch.
- Blocked — stuck; click the ticket for triage options.
Empty columns are hidden by default to keep the board uncluttered. Click Show all to reveal them.
Hidden Columns
Empty columns are hidden by default to reduce visual noise during active sprints. The counter in the top-left of the board shows how many columns are currently hidden. Click Show all to reveal every column — useful when you want to confirm that nothing slipped into an unexpected state. Click Hide empty to return to the compact view. Columns that contain tickets are always visible regardless of this toggle.
Backlog
The backlog holds tickets that have not yet been assigned to a sprint. When the active sprint is running and backlog tickets exist, a Backlog (N) toggle appears at the top of the board — click it to show those tickets in the columns. Use Add Tickets in the sprint controls to move selected backlog tickets into the current sprint. Tickets created manually via Create Ticket land in the backlog first and can be edited or reprioritized before being committed to a sprint.
Knowledge Graph
The Knowledge Graph surfaces three at-a-glance rails to help you understand the health of your codebase.
At Risk Files
Files flagged as at risk have a high concentration of recent changes, unresolved blockers, or dependency warnings. Agents prioritise these when planning refactors — review the list before each sprint to decide which risks need human attention.
Most Depended On
These files are imported by the highest number of other modules in your codebase. Changes here ripple widely — the graph helps you spot and protect these load-bearing files before an agent accidentally breaks a large surface area.
Unwired Files
Unwired files exist in your source tree but are not imported by any other module. They may be dead code, a feature built but never wired, or a draft. Review this list to prune stale files and avoid confusion during sprints.
Architecture Debate
Convergence Score
The convergence score measures how much the Proposer and Challenger LLMs agreed by the end of the debate. A score above 80 means strong consensus — the recommendation is reliable. Below 60 indicates significant unresolved disagreement; review the open points section before accepting the architecture proposal.
Blackboard — Active Signals
The Active Signals tile shows the most recent coordination events from agents and humans. Each signal has a color-coded kind: blocker (red), decision (blue), finding (green), directive (orange), and handoff (purple). Signals older than the current sprint are archived automatically but remain searchable in the activity log.
Meetings — Link Coverage
Link coverage shows the ratio of meetings that have been associated with a project. Linked meetings allow the Analyst agent to draw on transcript context when generating specs and onboarding new team members. Aim to link all meetings relevant to your active sprint to improve spec quality.
Meetings — Platform Filter
Use the platform chips (Zoom, Teams, Google Meet, etc.) to filter your meeting list to a single source. This is useful when reviewing transcripts from a specific vendor or when your team uses different platforms for different meeting types (e.g. Zoom for standups, Teams for stakeholder reviews).
Quality Profile
The Quality Profile controls the trade-off between delivery speed and code correctness. Each preset configures a bundle of quality checks: the gate (lint, typecheck, tests), cross-boundary review, sprint verifier, retro agent, test coverage requirement, commit format, auto-PR creation, and bug fast-track. Custom mode lets you toggle each check independently. The score bar summarises the current configuration — higher scores mean more checks, slower sprints, and fewer regressions.
More Resources
Signed in? See the full User Guide for detailed answers on every feature.
Token Budget
Your monthly token allowance across all agents. Resets on the 1st of each month.
When the token meter runs low, agents pause gracefully and will not pick up new work until the budget is refreshed or increased. You can see your current usage on the dashboard token meter. Upgrading your plan or adding BYOK keys can increase the effective budget — BYOK usage is billed directly to your AI provider key and does not draw from the platform meter.
Package Tiers
SwarmBoard offers two packages with different capability sets.
Product Spine
AI-powered product delivery for existing codebases. Enables PM, Architect, Dev, Reviewer, and Test agents. Includes brownfield repository analysis, sprint planning, and quality gates. Designed for teams with an existing product codebase who want to accelerate delivery.
Swarm Build
Everything in Product Spine plus automated code generation, greenfield project scaffolding, and the ability to create new GitHub repositories from scratch. Designed for teams starting new projects or wanting full autonomous code generation.
Repository Quota
Your plan includes a maximum number of active repositories (projects).
The quota indicator on the dashboard shows used slots out of the total allowed. When you reach the limit, new project creation is disabled until you upgrade your plan or archive an existing project. Archived projects do not count against the quota and remain accessible in read-only mode.
Capability Tier
Controls which agent roles are active for a project.
Full Delivery (the default) enables all roles — PM, Architect, Dev, Reviewer, Test. Other tiers let teams disable specific roles to match their workflow. For example, “Review Only” keeps code review but skips automated testing. You can change the capability tier at any time in Settings → Project Defaults without affecting in-progress work.
Guardrails
Platform-level safety controls that intercept risky agent actions before they execute.
What guardrails protect against
Guardrails intercept actions in six categories: network (unexpected outbound calls), destructive (mass deletions, force-pushes to protected branches), privilege (unexpected permission escalations), exfiltration (writing secrets to logs or disk), injection (prompt injection via untrusted content), and pii (personal data written to repositories).
Guardrail Metrics Dashboard
Admins can view aggregate guardrail activity in the Guardrail Metrics Dashboard. Summary cards show total blocks, warnings, and redactions for the selected time window. The category breakdown identifies which guardrail types trigger most often, and the timeline shows daily event volume to help tune false-positive rates.
Feedback Lifecycle
Every piece of user feedback moves through a structured pipeline before becoming a shipped feature.
The nine states are: Submitted → Acknowledged → Triaged → Analyst Drafting → Admin Review → Approved as Story → In Progress → Done. Two terminal off-ramps — Declined and Duplicate — are also possible.
When status reaches Done, the linked SwarmBoard ticket has merged and deployed to production. You can track your feedback’s progress from the My Feedback page.
Blackboard
The blackboard is SwarmBoard’s shared coordination surface where agents and humans post signals in real time.
What the blackboard does
Every blocker, decision, finding, directive, and handoff during a sprint appears as a signal on the blackboard. Agents read and post signals automatically — you can observe the live feed without doing anything. Use the Blackboard Dashboard for interactive controls: re-plan dispatch, run sprint retro, prune working memory, and post directives.
Blackboard Dashboard vs Recent Signals panel
The Recent Signals panel (project sidebar) is a quick read-only view of the last 20 signals. The Blackboard Dashboard is the full HITL surface with interactive controls, pinned signals, and signal resolution. Both update in real time via SSE.
PM Collaboration Actions
Four actions on the Blackboard Dashboard let you intervene in the PM agent’s work.
Re-plan Now
Regenerates the PM agent’s dispatch plan for the active sprint. Existing in-flight tickets continue unchanged — only new ticket dispatches use the updated plan. Use this when priorities shift mid-sprint or after adding or removing tickets manually.
Run Sprint Retro
Polls all agents for lessons learned, records them in the SprintRetro table, and archives processed signals. Results are visible on the Board → Quality tab. You can optionally add human observations before running the retro.
Prune Working Memory
Evicts stale or low-priority entries from the agent’s short-term context to free token budget. Pinned entries are exempt. Use this when agents are running slowly due to context overflow or when a sprint closes and old context is no longer relevant.
Send Directive
Posts a free-text instruction directly to the PM agent as a signal. The PM picks it up on the next dispatch tick and may generate new tickets, update priorities, or change sprint focus. Keep directives concise and action-oriented.
PM Agent Queued Recovery
What to do when a PM session is created but never starts.
If a PM session sits in the worker queue for more than 2 minutes without transitioning to running, a recovery banner appears. This usually means a transient Redis or queue hiccup. The platform retries automatically every 2 minutes (up to 3 attempts). You can also click Retry now to push a fresh dispatch immediately. No data is lost — the session state is preserved between retries.
Agent Configuration
Choose which AI model runs each agent role and how many instances to run in parallel.
Model assignment
Each agent role has a model dropdown: Claude (Sonnet / Opus / Haiku), GPT-4o, or Gemini. A common setup is Claude Sonnet for Dev (best code generation), GPT-4o for Reviewer (different training data catches different bugs), and Gemini for Verifier (independent validation). To enable non-Anthropic models, set the OPENAI_API_KEY or GOOGLE_AI_API_KEY environment variables.
Instance counts
More dev instances run more tickets in parallel — useful for large sprints. Each dev needs its own worktree, so token cost scales linearly. 1-4 Dev instances are supported. For PM and Architect, 1 is enough — multiple instances create conflicting plans.
Claim a Ticket (Human Contributor)
Take over a ticket and work on it yourself instead of letting an AI agent handle it.
How claiming works
Claiming a ticket creates a feature branch on your project’s repository and pins the ticket to you as the human contributor. Once claimed, the ticket moves to “In Dev” and AI agents will not auto-dispatch to it. You’ll see the branch name and a one-click checkout snippet — run it in your terminal to start coding.
Finishing and releasing
Push commits to the branch and open a pull request to finish. To release a claim without completing the work, click Release claim — the ticket returns to Dev Ready and the branch remains on GitHub.
Theme Preference
Choose how the SwarmBoard interface looks.
Dark (default) uses dark backgrounds for low-light comfort. Light uses white backgrounds for bright environments. System follows your operating system light/dark mode setting automatically. Your choice is saved locally and applied on every page load. Find the toggle in Settings → Preferences.
User Profile
Account-level settings including timezone and display preferences.
The timezone preference controls how dates and times appear across the dashboard — sprint deadlines, ticket timestamps, and activity feeds all use your local timezone. Display name and avatar are managed via your GitHub account. Access your profile at Settings → Profile.
GitHub Webhook
Connect your GitHub repository to receive push and pull_request events in SwarmBoard.
What webhooks enable
GitHub webhooks allow SwarmBoard to auto-link commits and PRs to tickets, update branch protection rules, and trigger smart notifications when code is pushed. The health indicator in the webhook panel turns green within 30 seconds of the first successful delivery.
Setup options
Auto-register — click the button in Settings → Integrations and SwarmBoard calls the GitHub Hooks API automatically using your OAuth token (requires admin:repo_hook scope). Manual setup — copy the webhook URL and secret, paste them in your repo’s Settings → Webhooks → Add webhook, set Content-Type to application/json, and select the recommended events.
Product Spine Flow
How SwarmBoard tracks your team’s work when developers push code and open pull requests on Product Spine projects.
Feature Branch Detection
When you create a Git branch with the ticket id in the name (feat/T-123-add-login, T-123/refactor, bugfix/T-99), SwarmBoard’s webhook handler reads the branch name, finds the ticket, and moves it to In Dev. The branch must follow the convention exactly — case-insensitive T-XXX somewhere in the branch name.
PR Tracking
When you open a pull request from a tracked branch, SwarmBoard moves the ticket to Review Ready. Approvals move it to Merge Ready (when all required reviews are in). Merging the PR moves it to Done. All driven by GitHub webhooks — no need to manually update the ticket.
Manual State Override
If a ticket’s state was set automatically by SwarmBoard (from a branch or PR event) and you change it manually in the board UI, you’ll be asked to justify the override. The justification is recorded in the ticket history alongside the original automatic transition. Helps the team understand why state moved.
Product Spine vs Swarm Build
Product Spine is the human-led package: developers write code, SwarmBoard observes Git activity and updates ticket state. Swarm Build adds AI dev/test agents that generate code automatically — agents create branches, open PRs, and merge them. Your org’s package determines which flow applies. Switch packages in Org Settings → Package.
Sprint Curation
When PM finishes generating tickets, the sprint enters Planning. On Spine projects, the sprint does not auto-start — you stay in control. Pick which tickets you want in this sprint, then click Start Sprint. The board switches to active tracking, and ticket state moves automatically as you push code.
GitHub Activity Tracking
SwarmBoard reads three GitHub webhook event types: branch creation (start tracking), push to a tracked branch (work-in-progress signal), and pull request lifecycle (state transitions). Connect a webhook in Project Settings → Integrations. Without a webhook, ticket state stays manual.
Organization Roles
Four roles control what members can do within an organization (RBACv7).
| Role | Capabilities |
|---|---|
| Founder | Org creator — has all four role slugs. Cannot be transferred. |
| Admin | Manages members, org settings, and billing. |
| Architect | Design decisions, dispatch approval, project review. |
| Contributor | Creates and views tickets, chats with agents. Draft-only on Spine until promoted. |
Organization Invites
How to invite members to collaborate on your organization’s projects.
Invite flow
- An Admin or Founder opens the Members page and clicks + Invite Member.
- Enter the invitee’s email and choose their role (Admin / Architect / Contributor).
- An invite email is sent with a join link valid for 7 days.
- The invitee clicks the link and accepts — their membership becomes active.
Joining without an invite
Every approved SwarmBoard user gets their own workspace auto-created on admin approval. The join page at /orgs/<orgId>/join is only reachable via an invite link — if you arrived without one, your personal workspace is already set up on the dashboard.
Organization Settings
Manage your organization’s identity, members, security, and billing in one place.
Settings sections
- Health — composite org health score and critical findings.
- Members — invite, remove, and change roles for org members.
- Settings — org identity (name, slug), package tier, repo quota, scan retention, capability gate, agent auth, notifications, security, and danger zone.
- Audit Log — every privileged action recorded with actor, timestamp, and change details.
Founder-only actions
Some actions are restricted to the org Founder: deleting the organization, changing the package tier, and managing billing. These actions are flagged inline with a crown icon in the Settings UI. The Founder role cannot be transferred — it stays with the account that created the org.
Role Privileges
Platform-wide privilege overrides for each org role.
The Role Privileges Matrix (admin-only) lets platform administrators override the default privilege set for each role — Admin, Architect, Contributor. Empty cells inherit the role’s default; overrides apply platform-wide across all orgs. Every change is recorded in the audit log.
To revert a cell, click Reset to default — the override row is deleted and the audit log records the reset. The full privilege matrix is documented at docs/roles.md.
Repository Picker
Select your GitHub repository during project onboarding — no URL pasting required.
SwarmBoard fetches your repositories automatically using your connected GitHub OAuth token and presents them as a searchable list. Select a repo and onboarding continues with that URL automatically. If you don’t see your repo (private repo in a different org, or newly created), use the URL fallback field at the bottom of the picker list.
Repository Analysis (Brownfield)
How SwarmBoard scans an existing codebase to build a product knowledge base.
Three-pass analysis
SwarmBoard clones your repo and runs three passes: a structural pass (module map, imports, routes), a heuristic pass (Haiku — dead code and module types), and a deep pass (Opus — per-module findings and top issues). The resulting analysis feeds directly into ticket generation.
Brownfield vs greenfield
Brownfield means analysing an existing codebase — the PM agent reads the findings to generate improvement tickets. Greenfield means building from a spec with no existing code. You choose the mode during onboarding; it cannot be changed after project creation.
Ticket Generation from Analysis
How the PM agent converts brownfield analysis findings into implementable tickets.
Auto-handoff
For brownfield projects, ticket generation triggers automatically once the analysis status reaches complete. The PM agent reads the module findings and top issues to produce improvement tickets — each sized for a single dev session.
If auto-handoff didn’t fire
On older projects (created before the auto-handoff fix) or when the PM agent’s WIP slot was busy at the moment analysis finished, a recovery banner appears. Click Generate Tickets Now to dispatch the PM agent manually.
Create a Repository (Greenfield)
SwarmBoard can create a new GitHub repository for you during onboarding.
If you don’t have a GitHub repo yet, the Create a Repo for Me option uses your connected OAuth token to create a new private repository under the org you choose. Onboarding then continues with that repo URL automatically. This option is only available on Swarm Build — Product Spine requires an existing codebase.
Project Modes
Every project is either greenfield (building from scratch) or brownfield (analysing an existing repo).
Greenfield
You provide a spec; the PM agent breaks it into tickets; agents build from scratch. Optionally connect a GitHub URL as architecture reference (locked mode) — the URL is treated as inspiration and will NOT be cloned or analysed.
Brownfield
Connect an existing repo; SwarmBoard analyses it and generates improvement tickets. The analysis results — module map, findings, health score — guide agent work. Brownfield mode is the basis of Product Spine.
Platform Updates
What happens to your work when SwarmBoard deploys a new version.
During a platform deploy, all ongoing agent work continues normally — only new sessions are paused. Your queued request is held and retried automatically once the deploy completes (typically 5-10 minutes). You can also click Retry now after the deploy finishes. No data is lost. The amber “Platform is Updating” banner appears at the top of the page when a deploy is in progress.
Cycle Time
How long tickets spend in each board column — your key flow metric.
Metrics shown
The Cycle Time view shows average, median, and 95th-percentile time-in-column over the last 30 days. It also shows reviewer responsiveness (PR open to first review) and approval-count progress over time — helping you identify where work stalls in the pipeline.
Access
Cycle Time is visible to org owners and architects. Contributors see only their own PR state. Find it on the project board under the Quality tab.
Architecture Debate
A multi-architect AI debate that designs your system structure before any code is written.
How the debate works
A Proposer (Claude) suggests an architecture. A Challenger (GPT-4o) critiques it. A Rebutter (Claude) defends or adjusts. An Arbitrator (Gemini) synthesises the final recommendation, produces a convergence score, and lists unresolved points.
Output
The debate produces an Architecture Decision Record (ADR) that is injected into every subsequent agent prompt. The debate result is visible on the project’s Architecture tab.
Knowledge Graph
A live map of how your codebase is wired together — modules, dependencies, and health signals in one view.
Reading the graph
Each dot is a module; colour shows health; dot size shows how many other modules depend on it; lines show imports, calls, and data flow. The swimlane layout (UI → Routes → Services → Data) makes dependency flow read left-to-right. Glowing dots are the most-depended-on modules — changes there ripple furthest.
Insights rail
The right-hand Insights rail highlights At Risk modules (high coupling, low test coverage), Most Depended On (high blast radius), and Unwired files (built but not integrated). Use these lists to guide sprint priorities.
Meeting Transcripts
Import meeting transcripts so agents can extract specs, action items, and risks.
Importing transcripts
Go to the Meetings page and click Upload Transcript. Paste text directly or upload a file (.vtt, .srt, .txt, .json, or .md). Add a title and date, then click Import. The transcript is normalised and stored.
How agents use transcripts
The Analyst agent uses meeting context during project onboarding to extract requirements. KPI tiles on the Meetings page show meeting count, specs extracted, action items, and link coverage. You can filter by platform (Zoom, Teams, Meet, Otter, Fireflies), date range, status, and project link.
Bring Your Own API Key (BYOK)
BYOK lets your organization use its own Anthropic API key for agent dispatch. When enabled, all agent sessions bill to your Anthropic account instead of the platform's shared key. Your key is encrypted at rest using AES-256-GCM with a per-environment key-encryption key, and is only decrypted at the moment of dispatch.
How to set up BYOK
Navigate to Org Settings → Anthropic API Key (BYOK), paste your key (format: sk-ant-…), and click Test and Save. SwarmBoard validates the key against the Anthropic API before persisting it. Once saved, enable the BYOK toggle to start using your key for dispatch. Revoking the key immediately stops all BYOK dispatches — the platform falls back to the shared key if BYOK is disabled.
Analysis Result Summary
After a brownfield repository analysis completes, SwarmBoard shows a transparent summary card on the project board. The card tells you how many files were scanned, how many issues (findings) were discovered, how many of those findings became tickets, and how many sprints those tickets are estimated to need — based on your sprint capacity (default: 10 tickets per sprint).
Gap warning: If some findings were not linked to tickets (due to a PM session interruption, timeout, or de-duplication), the card shows a warning row — for example, “39 findings are not yet linked to a ticket. Click See breakdown to review which findings need attention.” The sprint estimate is always calculated from the total finding count, not just the tickets created so far, because the gap can be resolved in subsequent PM runs.
The See breakdown button opens the Knowledge Graph and Findings list where you can inspect each finding individually. Click Dismissto hide the card for the current browser session.
Supported tech stacks
Business Domain Mapping classifies your code’s data layer (Core Entity, Aggregate Root, Value Object, etc.) using stack-specific extractors. The table below shows what currently ships. If your stack is “In progress” or “Not yet supported”, the Knowledge Graph still renders correctly — you just won’t see the colored data-role chips on data nodes yet.