Spin up an AI agent company - a business run by AI agents, managed by you
Project description
Agent Company AI
Spin up an AI agent company - a business run by AI agents, managed by you.
Agent Company AI lets a solo entrepreneur create a virtual company staffed entirely by AI agents. Each agent has a specific business role (CEO, CTO, Developer, Marketer, etc.), they collaborate on tasks, and you manage everything through a CLI or web dashboard. Agents can earn real money with built-in Stripe, Gumroad, invoicing, and booking integrations.
Quick Start
pip install agent-company-ai
1. Initialize your company
agent-company-ai init --name "My AI Startup"
You'll be prompted to choose an LLM provider (Anthropic, OpenAI, DeepSeek, Ollama, and more).
Non-interactive mode (for CI/scripts):
agent-company-ai init --name "Acme AI" --provider anthropic --api-key $ANTHROPIC_API_KEY
2. One-command setup
Spin up a full team from a preset template:
agent-company-ai setup tech_startup --name "Acme AI"
agent-company-ai setup saas --name "CloudCo" --provider anthropic --api-key $ANTHROPIC_API_KEY
agent-company-ai setup --list # see all presets
Available presets: tech_startup (6 agents), agency (6), ecommerce (7), saas (9), consulting (6), content (5), full (10 — all departments)
3. Or hire agents individually
agent-company-ai hire ceo --name Alice
agent-company-ai hire cto --name Bob
agent-company-ai hire developer --name Carol
agent-company-ai hire marketer --name Dave
4. Define your business model
Tell your agents how the company makes money:
agent-company-ai profit-engine setup --template saas
This injects your business DNA into every agent's decision-making. See ProfitEngine below.
5. Run autonomously
Give the CEO a goal and watch the company run:
agent-company-ai run "Build a landing page for our new product"
The CEO will break down the goal, delegate tasks to the team, and agents will collaborate to deliver results.
# With limits
agent-company-ai run "Launch MVP" --cycles 3 --timeout 600 --max-tasks 20
6. Check revenue
agent-company-ai revenue --days 30
Commands
| Command | Description |
|---|---|
init |
Initialize a new company |
setup <preset> |
Set up a full company from a template |
hire <role> |
Hire an agent |
fire <name> |
Remove an agent |
team |
List all agents |
assign "<task>" |
Assign a task |
tasks |
Show the task board |
chat <name> |
Chat with an agent |
run "<goal>" |
Autonomous mode |
broadcast "<msg>" |
Message all agents |
dashboard |
Launch web dashboard |
status |
Company overview |
output |
List deliverables produced by agents |
roles |
List available roles |
revenue |
Revenue summary across all sources |
companies |
List all companies in this directory |
destroy |
Permanently delete a company |
profit-engine <cmd> |
Configure business model DNA (details) |
wallet <cmd> |
Manage blockchain wallet (details) |
Global Options
| Flag | Description |
|---|---|
--company / -C |
Company slug to operate on (default: default) |
You can also set the company via environment variable:
export AGENT_COMPANY_NAME=my-startup
agent-company-ai team # operates on my-startup
Money-Earning Tools
Agents can generate real revenue using built-in integrations. All tools are rate-limited and logged to the database.
Stripe Payment Links & Subscriptions
Create one-time payment links and recurring subscription links directly from agent workflows.
# config.yaml
integrations:
stripe:
enabled: true
api_key: ${STRIPE_SECRET_KEY}
max_link_amount_cents: 50000 # $500 safety cap per link
Tools: create_payment_link, create_subscription_link, list_subscribers, check_subscription_revenue
Gumroad Products
Create and sell digital products on Gumroad.
integrations:
gumroad:
enabled: true
api_key: ${GUMROAD_ACCESS_TOKEN}
Tools: create_gumroad_product, list_gumroad_products, check_gumroad_sales
Invoices
Generate professional HTML invoices, email them to clients, and track payment status. No external API required.
integrations:
invoice:
enabled: true
company_name: "Acme AI Inc."
company_address: "123 AI Street"
payment_instructions: "Pay via bank transfer to..."
currency: USD
Tools: create_invoice, send_invoice, list_invoices, mark_invoice_paid
Invoices are saved as HTML files in .agent-company-ai/default/invoices/.
Cal.com Bookings
Create booking event types for paid consultations.
integrations:
calcom:
enabled: true
api_key: ${CALCOM_API_KEY}
default_duration: 30
Tools: create_booking_link, list_bookings, check_booking_revenue
Note: Payment collection requires Cal.com payment app setup in your dashboard. The price is recorded locally for revenue tracking.
Revenue Ledger
Unified revenue tracking across all sources — Stripe, Gumroad, invoices, crypto, and manual entries.
Tools: check_revenue, record_revenue, sync_stripe_revenue
# CLI command
agent-company-ai revenue --days 30
Email & Landing Pages
Send transactional emails (via Resend or SendGrid) and generate landing pages.
integrations:
email:
enabled: true
provider: resend # or sendgrid
api_key: ${RESEND_API_KEY}
from_address: hello@yourdomain.com
landing_page:
enabled: true
Tools: send_email, generate_landing_page
Social Media
Draft social media posts for review.
integrations:
social:
enabled: true
twitter:
api_key: ${TWITTER_API_KEY}
api_secret: ${TWITTER_API_SECRET}
access_token: ${TWITTER_ACCESS_TOKEN}
access_secret: ${TWITTER_ACCESS_SECRET}
Tools: draft_social_post, publish_twitter
Rate Limits
All integrations have configurable rate limits to prevent runaway spending:
| Resource | Default Limit |
|---|---|
| Emails | 20/hour, 100/day |
| Payment links | 10/day, $500 max per link |
| Gumroad products | 50/day |
| Invoices | 50/day |
| Bookings | 20/day |
ProfitEngine — Business DNA
ProfitEngine lets you define your company's business model — how it earns money, who it serves, and what matters most. This "business DNA" is injected into every agent's system prompt and into the CEO's goal loop, so all decisions align with your business model.
Setup
Start from a preset template or from scratch:
# Interactive wizard with a preset
agent-company-ai profit-engine setup --template saas
# Fully interactive — choose a template then customize each field
agent-company-ai profit-engine setup
The wizard walks you through 8 fields:
| Field | What it defines |
|---|---|
| Mission | The company's core purpose |
| Revenue Streams | How the company makes money |
| Target Customers | Who the ideal customers are |
| Pricing Model | How products/services are priced |
| Competitive Edge | What sets the company apart |
| Key Metrics | What metrics define success |
| Cost Priorities | Where money should be spent first |
| Additional Context | Any other business context |
Templates
6 preset templates to start from:
| Template | Business Model |
|---|---|
saas |
SaaS (Software as a Service) — recurring subscriptions |
ecommerce |
E-Commerce — online retail |
marketplace |
Marketplace / Platform — transaction fees |
agency |
Agency / Services — project and retainer fees |
consulting |
Consulting — advisory and engagement fees |
content |
Content / Media — ads, subscriptions, licensing |
agent-company-ai profit-engine templates # list all templates
Commands
| Command | Description |
|---|---|
profit-engine setup |
Interactive wizard to configure business DNA |
profit-engine show |
Display current DNA |
profit-engine edit <field> |
Edit a single field |
profit-engine templates |
List available preset templates |
profit-engine disable |
Disable DNA injection (config preserved) |
How it works
Once configured, the business DNA is automatically:
- Appended to every agent's system prompt — so developers, marketers, sales, and support all understand the business model
- Injected into the CEO's planning and review tasks — so autonomous mode goals are planned and evaluated through the lens of your business model
The DNA is stored in config.yaml under the profit_engine key. No new database tables — just config.
# .agent-company-ai/default/config.yaml
profit_engine:
enabled: true
mission: "Build and scale a SaaS product..."
revenue_streams: "Monthly/annual subscriptions..."
target_customers: "SMB to enterprise..."
pricing_model: "Tiered subscription pricing..."
competitive_edge: "Product-led growth..."
key_metrics: "MRR/ARR, churn rate, LTV:CAC..."
cost_priorities: "Engineering first..."
additional_context: ""
Dashboard API
| Endpoint | Description |
|---|---|
GET /api/profit-engine |
Return current ProfitEngine config |
POST /api/profit-engine |
Update fields and save to config |
GET /api/profit-engine/templates |
List all templates with content |
Blockchain Wallet
Built-in Ethereum wallet with multi-chain support. Agents can request payments (with human approval), and you can send tokens directly from the CLI.
Setup
agent-company-ai wallet create
Creates an encrypted keystore (password-protected). One address works across all supported chains.
Supported Chains
| Chain | Native Token |
|---|---|
| Ethereum | ETH |
| Base | ETH |
| Arbitrum | ETH |
| Polygon | MATIC |
Commands
| Command | Description |
|---|---|
wallet create |
Generate a new wallet with encrypted keystore |
wallet address |
Show the company wallet address |
wallet balance |
Show balances across all chains |
wallet balance --chain base |
Show balance on a specific chain |
wallet send <amount> --to <addr> --chain <chain> |
Send native tokens (requires password) |
wallet payments |
Show the payment approval queue |
wallet approve <id> |
Approve and send a pending payment |
wallet reject <id> |
Reject a pending payment |
Agent Payments
Agents with wallet tools (check_balance, get_wallet_address, list_payments, request_payment) can request payments during task execution. All payment requests go into an approval queue — nothing is sent without your explicit approval.
# Check pending payments
agent-company-ai wallet payments --status pending
# Approve a payment
agent-company-ai wallet approve abc123
# Reject a payment
agent-company-ai wallet reject abc123
Dashboard API
| Endpoint | Description |
|---|---|
GET /api/wallet/balance |
Balances (optional ?chain= filter) |
GET /api/wallet/address |
Wallet address |
GET /api/wallet/payments |
Payment queue (optional ?status= filter) |
Multi-Company Support
Run multiple independent companies in the same directory. Each company gets its own config, database, and agents:
# Default company
agent-company-ai init --name "Acme AI"
agent-company-ai hire ceo --name Alice
# Create a second company
agent-company-ai -C my-startup init --name "My Startup" --provider anthropic
agent-company-ai -C my-startup hire ceo --name Bob
# List all companies
agent-company-ai companies
# Destroy a company
agent-company-ai destroy --company my-startup
agent-company-ai destroy --yes # destroy default, skip confirmation
Directory layout:
.agent-company-ai/
default/
config.yaml
company.db
invoices/
output/
my-startup/
config.yaml
company.db
Existing single-company setups are automatically migrated into default/ on first access.
Available Roles
| Role | Title | Reports To |
|---|---|---|
ceo |
Chief Executive Officer | Owner |
cto |
Chief Technology Officer | CEO |
developer |
Software Developer | CTO |
marketer |
Head of Marketing | CEO |
sales |
Head of Sales | CEO |
support |
Customer Support Lead | CEO |
finance |
CFO / Finance | CEO |
hr |
Head of HR | CEO |
project_manager |
Project Manager | CEO |
LLM Providers
Supports 11 providers out of the box. All providers include automatic retry with exponential backoff on transient errors (429, 500-503).
| Provider | Models | API Key Env Var |
|---|---|---|
| Anthropic (default) | Claude Sonnet 4.5, etc. | ANTHROPIC_API_KEY |
| OpenAI | GPT-4o, etc. | OPENAI_API_KEY |
| DeepSeek | DeepSeek-R1 | DEEPSEEK_API_KEY |
| MiMo | MiMo-7B-RL | DEEPSEEK_API_KEY |
| Kimi | Kimi-K2 | MOONSHOT_API_KEY |
| Qwen | Qwen-Max | DASHSCOPE_API_KEY |
| MiniMax | MiniMax-M1 | MINIMAX_API_KEY |
| Ollama | Llama 3.1, etc. | None (local) |
| Together | Llama, Mixtral, etc. | TOGETHER_API_KEY |
| Groq | Fast open-source inference | GROQ_API_KEY |
| OpenAI-compatible | Any endpoint | Custom |
Configure different providers per agent:
llm:
default_provider: anthropic
anthropic:
api_key: ${ANTHROPIC_API_KEY}
model: claude-sonnet-4-5-20250929
openai:
api_key: ${OPENAI_API_KEY}
model: gpt-4o
base_url: https://api.openai.com/v1 # or any compatible endpoint
agents:
- name: Alice
role: ceo
provider: anthropic
- name: Bob
role: developer
provider: openai
Web Dashboard
agent-company-ai dashboard --port 8420
Features:
- Org Chart - Visual company hierarchy
- Agent Roster - See all agents and their roles
- Task Board - Kanban-style task management
- Chat - Talk directly to any agent
- Activity Feed - Real-time event stream via WebSocket
- Autonomous Mode - Set goals and monitor progress from the UI
- Cost Tracker - Real-time API cost breakdown by agent and model
- ProfitEngine - View and edit business DNA from the dashboard
- Wallet - Check balances and view payment queue
Built-in Agent Tools
Agents have access to these tools based on their role:
Core Tools
| Tool | Description |
|---|---|
web_search |
Search the web via DuckDuckGo (no API key needed) |
read_file / write_file |
File operations in the workspace (sandboxed) |
code_exec |
Execute Python code (restricted builtins) |
shell |
Run shell commands (30s timeout, dangerous patterns blocked) |
delegate_task |
Delegate work to other agents |
report_result |
Submit task results |
Revenue Tools
| Tool | Description |
|---|---|
create_payment_link |
Create Stripe one-time payment link |
create_subscription_link |
Create Stripe recurring subscription link |
list_subscribers |
List active Stripe subscribers with MRR |
check_subscription_revenue |
Calculate MRR/ARR from Stripe subscriptions |
create_gumroad_product |
Create a digital product on Gumroad |
list_gumroad_products |
List Gumroad products |
check_gumroad_sales |
Check Gumroad sales revenue |
create_invoice |
Generate a professional HTML invoice |
send_invoice |
Email an invoice to a client |
list_invoices |
List invoices with status filter |
mark_invoice_paid |
Mark an invoice as paid |
create_booking_link |
Create a Cal.com booking event type |
list_bookings |
List Cal.com bookings |
check_booking_revenue |
Check booking pricing summary |
check_revenue |
Unified revenue summary across all sources |
record_revenue |
Manually record revenue (cash, crypto, etc.) |
sync_stripe_revenue |
Sync Stripe charges into revenue ledger |
Communication & Outreach Tools
| Tool | Description |
|---|---|
send_email |
Send transactional email (Resend/SendGrid) |
generate_landing_page |
Generate a full HTML landing page |
draft_social_post |
Draft social media content |
publish_twitter |
Publish a tweet |
manage_contacts |
CRM contact management |
Wallet Tools
| Tool | Description |
|---|---|
check_balance |
Check wallet balance |
get_wallet_address |
Get company wallet address |
list_payments |
View payment queue |
request_payment |
Request a payment (goes to approval queue) |
Autonomous Mode
The company runs in CEO-driven cycles:
- Plan - CEO breaks the goal into tasks and delegates to the team
- Execute - Agents work on tasks in parallel waves
- Review - CEO evaluates progress and decides: DONE, CONTINUE, or FAILED
- Loop - Repeat until goal achieved or limits reached
When ProfitEngine is enabled, the CEO factors business DNA into every planning and review decision. Incomplete tasks are automatically cancelled (not failed) when the goal loop ends.
Configurable limits (in config.yaml or via CLI flags):
max_cycles: 5— CEO review loopsmax_waves_per_cycle: 10— parallel execution waves per cyclemax_total_tasks: 50— hard cap on tasksmax_time_seconds: 3600— wall-clock timeoutmax_cost_usd: 0.0— spending cap (0 = unlimited)
Custom Roles
Create custom roles by adding YAML files:
# .agent-company-ai/roles/custom_analyst.yaml
name: analyst
title: "Data Analyst"
description: "Analyzes data and creates reports"
system_prompt: |
You are a data analyst at {company_name}.
Your expertise: data analysis, visualization, reporting.
Team: {team_members}
Delegates: {delegates}
default_tools:
- code_exec
- file_io
can_delegate_to: []
reports_to: cto
Donate
If this project is useful to you, consider supporting development:
ETH: 0x0448F896Fc878DF56046Aa0090D05Dd01F28b338
Enterprise Customization & Consulting
"We build AI agent workforce for your company"
- Implementation fee: $10k-100k+
- Ongoing support: $2k-10k/month
Please contact gobeyondfj@gmail.com
License
MIT
Project details
Release history Release notifications | RSS feed
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 agent_company_ai-0.3.8.tar.gz.
File metadata
- Download URL: agent_company_ai-0.3.8.tar.gz
- Upload date:
- Size: 104.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d89e37f9be58ad5892f56ac353b7cbcb3f08ed3f2bdc2b198c8af1d15b0b6327
|
|
| MD5 |
f4764782e30a8591b7c401e10a2dfa17
|
|
| BLAKE2b-256 |
a93366744b0e2664299971c1030897d67d8561cfdc9edf834d3cadb6503fec86
|
File details
Details for the file agent_company_ai-0.3.8-py3-none-any.whl.
File metadata
- Download URL: agent_company_ai-0.3.8-py3-none-any.whl
- Upload date:
- Size: 140.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b620839b8ce5add4ea9bcaa6ef481c66268e5cb39895f638dad4a0382938c2b
|
|
| MD5 |
604af8623817c5e4378f363872a0f02e
|
|
| BLAKE2b-256 |
bb5ff5ffa9ee8817bab1116fb2f3e371006d16cbc8c6acf8841a8fb8a1a71e5f
|