Your first AI company โ Open-source multi-agent framework that runs your business autonomously
Project description
Boletus ๐
Your first AI company โ open-source framework that runs an autonomous AI team via Slack + Claude CLI.
Send a business plan to your CEO agent. It hires a team, delegates tasks, writes code, creates marketing โ all autonomously.
Quickstart
Prerequisites
- Python 3.11+
- Claude CLI installed and authenticated
- A Slack workspace (create one free)
- (Optional) Connect services in claude.ai/settings โ Integrations (Gmail, Notion, Figma, etc.) โ your AI team will use these automatically
1. Install
pip install boletus
2. Create a project & connect Slack
mkdir my-ai-company && cd my-ai-company
boletus init
This walks you through connecting Slack:
- Create a Slack app at api.slack.com/apps โ "From a manifest" โ paste
slack-app-manifest.json - Paste your App Token (
xapp-...) and Bot Token (xoxb-...) - Paste your Slack Member ID
3. Start your AI team
boletus setup
The wizard DMs you in Slack, asks about your business, generates the team config, creates channels, and starts everything.
Upload a business plan PDF or describe what you want to build โ the AI team takes it from there.
4. Watch it work
#ceoโ strategy, delegation, progress reports#engineeringโ CTO builds the product, hires devs#growthโ CMO runs marketing, hires content writers
Type help in any channel for available commands.
How it works
You: "Build a SaaS for restaurant analytics"
โ
โผ
โโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโ
โ CEO โโโโโ>โ Task Board โโโโโ>โ Workers โ
โ (plans) โ โ โ<โโโโโ(execute) โ
โโโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโ
โ โ
โโโ hires @cfo, @sales_rep... โ
โโโโโโโโโ Slack channels โโโโโโโโโโโโ
- CEO receives your business plan, breaks it into tasks, delegates
- CTO is a tech lead โ scaffolds the project, hires @backend_dev, @frontend_dev, @tester, @devops
- CMO is a growth lead โ hires @content_writer, @designer, @seo_specialist
- Workers claim tasks, write real code/content, self-verify before reporting
- Auto-testing โ after code tasks, test tasks are auto-created
- Manager review โ CTO/CMO approve or reject worker output with feedback
- Auto-hiring โ agents create new roles on the fly when workload demands it
- Self-correction โ workers escalate blockers, fix tasks auto-created
Dynamic team
Start with 3 agents (CEO, CTO, CMO). They hire more as needed:
CEO writes: @sales_rep: Build a list of 50 target companies and start outreach
โ system auto-creates sales_rep agent, starts working
CTO writes: @tester: Write integration tests for the payment API
โ system auto-creates tester agent, assigns first task
No manual configuration needed โ the team grows organically.
Slack commands
| Command | What it does |
|---|---|
tasks |
What everyone is working on |
my tasks |
Tasks for this channel's agent |
team |
Who's on the team and their roles |
files |
All local files the team created |
links |
Notion pages, GitHub repos, designs โ all URLs |
report |
Ask CEO for a progress report |
hire <description> |
Add a new team member |
help |
All available commands |
CLI
boletus setup # Slack wizard โ creates team + channels + starts bot
boletus run # Resume where you left off
boletus init # Manual setup โ creates crew.yaml + .env
boletus doctor # Check prerequisites
boletus validate # Verify crew.yaml
boletus agents # List configured agents
boletus tasks # Show task board
Integrations (27 services)
Three tiers โ zero to full setup:
| Tier | Setup | Examples |
|---|---|---|
| Claude.ai Connectors | Connect once at claude.ai | Gmail, Notion, Figma, Canva, Gamma, Calendar, PostHog, Cloudflare, Miro |
| CLI tools | Token in .env | GitHub (gh), AWS (aws), Stripe (stripe), Vercel |
| Local MCP | Auto-configured | PostgreSQL, custom servers |
Your agents use whatever services you've connected in your Claude account โ no API keys needed for Claude.ai connectors. CLI tools are configured during boletus setup.
Configuration
Everything lives in crew.yaml (auto-generated by the setup wizard):
name: "My AI Company"
slack:
app_token: ${SLACK_APP_TOKEN}
bot_token: ${SLACK_BOT_TOKEN}
owner:
slack_id: ${OWNER_SLACK_ID}
git:
author_name: "AI Team"
author_email: "ai@example.com"
github_org: "my-org" # repos created under this org
integrations: [github, gmail, notion, figma, canva]
projects:
my-app:
name: "My App"
codebase: "./my-app"
# Custom MCP servers
# mcp_servers:
# my-api:
# command: "npx"
# args: ["-y", "@my-org/my-mcp-server"]
Safety
- Circuit breaker โ agents auto-pause after consecutive failures
- Manager review โ worker output verified before marking complete
- Auto-test loop โ code tasks automatically get a follow-up test task
- Escalation โ workers flag blockers, fix tasks auto-created
- Fuzzy dedup โ prevents re-delegating the same task
- Stuck task backoff โ exponential backoff prevents planning loops
- Structured memory โ agents learn from rejections, share knowledge cross-team
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file boletus-0.2.0.tar.gz.
File metadata
- Download URL: boletus-0.2.0.tar.gz
- Upload date:
- Size: 106.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0082ef80a7ebf2675843f8e20a0e3dab8b5505c075fc67d16f8f9fce6037e762
|
|
| MD5 |
17f26afe8acf2f14b5fc422781345698
|
|
| BLAKE2b-256 |
9cd564ea18b456acf4f9ba57f60aa1e5f17ac466edf31d964699f846248da6ae
|
Provenance
The following attestation bundles were made for boletus-0.2.0.tar.gz:
Publisher:
publish.yml on boletus-ai/boletus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
boletus-0.2.0.tar.gz -
Subject digest:
0082ef80a7ebf2675843f8e20a0e3dab8b5505c075fc67d16f8f9fce6037e762 - Sigstore transparency entry: 1108930212
- Sigstore integration time:
-
Permalink:
boletus-ai/boletus@c659ad4276e9fc3865d75cbb76a9bc8921339f62 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/boletus-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c659ad4276e9fc3865d75cbb76a9bc8921339f62 -
Trigger Event:
push
-
Statement type:
File details
Details for the file boletus-0.2.0-py3-none-any.whl.
File metadata
- Download URL: boletus-0.2.0-py3-none-any.whl
- Upload date:
- Size: 106.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21936f59b65f2f45a6c3ab9c37be25e8aa7dd8d1c541916b41f4bcddebf76d95
|
|
| MD5 |
f5beceb2f20e1e862324c7e0b23143cf
|
|
| BLAKE2b-256 |
7722f070cd2ec1f712027b6b5bcf0b1841d035687689e4a73eb926f2f4c2aa29
|
Provenance
The following attestation bundles were made for boletus-0.2.0-py3-none-any.whl:
Publisher:
publish.yml on boletus-ai/boletus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
boletus-0.2.0-py3-none-any.whl -
Subject digest:
21936f59b65f2f45a6c3ab9c37be25e8aa7dd8d1c541916b41f4bcddebf76d95 - Sigstore transparency entry: 1108930255
- Sigstore integration time:
-
Permalink:
boletus-ai/boletus@c659ad4276e9fc3865d75cbb76a9bc8921339f62 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/boletus-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c659ad4276e9fc3865d75cbb76a9bc8921339f62 -
Trigger Event:
push
-
Statement type: