Skip to main content

A 13-agent CLI that runs DevRel, sales, and marketing on your repo. BYO Anthropic key.

Project description

devrel-swarm

A developer-first CLI for AI-powered DevRel, sales, and marketing.

devrel-swarm is a pipx-installable command-line tool that runs a 13-agent system against any project — community triage, social listening, theme extraction, growth experiments, content production, video tutorials, documentation, competitive intel, sales outreach, brand-consistent campaigns, and post-publish content performance analysis. Operates on a project repo the way git, npm, and cargo do.

Every piece of content the system produces flows through an 8-stage editorial pipeline (developmental edit → line edit → copy edit → anti-slop → reader-persona test → readability check → brand audit) so output reads like senior-editor work, not generic AI prose.

Every deliverable in this repository was produced by the agent system itself.


Quick start

pipx install devrel-swarm

cd /path/to/your/project
devrel init --name myproject --url https://myproject.dev --github-repo me/myproject

# edit .devrel/voice.md, .devrel/style.md, .devrel/slop-blocklist.md

export ANTHROPIC_API_KEY=sk-ant-...
devrel doctor                                  # check env + scaffold
devrel content draft "tutorial on feature flags" --type tutorial
devrel run                                     # full weekly pipeline

After devrel init, your repo has a .devrel/ directory with:

.devrel/
  config.toml          # product identity, model selection, budget caps
  voice.md             # tone profile + sample passages    (commit)
  style.md             # house style + per-content targets (commit)
  slop-blocklist.md    # banned phrases                    (commit)
  kb/                  # knowledge base, TF-IDF indexed
  deliverables/        # generated outputs
  state.db             # SQLite: jobs, costs, checkpoints

The four committed files (config.toml, voice.md, style.md, slop-blocklist.md) encode the editorial contract. Diff them like any other source.


Commands

# Bootstrap & health
devrel init                      bootstrap .devrel/ in cwd
devrel doctor [--json]           check env, API keys, KB freshness
devrel cost [--month YYYY-MM]    token + USD report from state.db

# Pipelines
devrel run                       full weekly cycle
devrel run --health              health check only (Watchdog)
devrel run --agent NAME --task T run a single agent ad-hoc

# DevRel
devrel triage [--days N]         GitHub issue triage (Sage)
devrel listen [--platforms ...]  Reddit / HN / X (Echo)
devrel synthesize                theme extraction (Iris)
devrel experiment HYPOTHESIS     A/B + power analysis (Nova)

# Content
devrel content draft PROMPT      revision-looped + 5-lever quality (Kai)
devrel content audit FILE        run quality pipeline on existing draft
devrel content slop FILE         run only the anti-slop pass
devrel docs build                AST-based docs (Dex)
devrel video record SCRIPT       screen-recorded tutorial (Vox)

# Sales
devrel intel COMPETITOR
devrel sales outreach COMPANY
devrel sales battlecard COMPETITOR
devrel sales sequence CAMPAIGN

# Marketing
devrel marketing blog TOPIC
devrel marketing landing TOPIC
devrel marketing social TOPIC
devrel marketing campaign BRIEF

# Knowledge base
devrel kb add URL [--category C]
devrel kb list
devrel kb refresh

# Config & schedule
devrel config get KEY
devrel config set KEY VALUE
devrel schedule install | list | remove

# Outputs
devrel deliverables list
devrel deliverables show NAME

# Analytics (Argus)
devrel analytics report [--since 7d] [--push] [--push-on-partial]
devrel analytics history CONTENT_ID
devrel analytics diff PERIOD_A PERIOD_B
devrel analytics calibration
devrel analytics summary [--root PATH]

Global flags on most verbs: --json (machine-readable output) and --quiet.


Editorial quality pipeline

Every content-producing run (devrel content draft, devrel content audit, plus internal calls from marketing, sales, kb-driven tutorials) flows through 8 stages:

1. Generate          KB-grounded; voice.md + style.md in prompt
2. Developmental     critique+revise (structure, argument, hook)
3. Line edit         critique+revise (rhythm, voice fidelity)
4. Copy edit         critique+revise (grammar, code, consistency)
5. Anti-slop         regex blocklist + LLM lint; force-rewrite on hit;
                       second failure aborts loud with a phrase report
6. Reader persona    "skeptical senior backend dev" scores 1-10
7. Readability       Flesch + sentence variance + jargon density
                       checked against per-content-type targets
8. Brand audit       Sentinel (existing 6-dimension audit)

→ deliverables/ + revision-trace.json (every stage's score + diff)

Stages 5-7 use Haiku for cost; stages 2-4 use Sonnet. Total cost ≈ 2.5-4× a single revision loop, with prompt caching pulling toward the lower bound. BudgetGate guardrails (configurable in .devrel/config.toml) track spend; devrel cost --month YYYY-MM reports it.


How it works internally

Hub-and-spoke with 13 agents. Atlas orchestrates; specialists execute across three pipelines.

Atlas (Orchestrator)
├── Health: Watchdog (pre-flight) + Sentinel (pre-publish brand audit) + Argus (post-publish performance analyst)
├── DevRel: Sage, Echo, Iris, Nova, Kai, Vox, Dex
└── Sales:  Rex, Pax, Mox

The weekly cycle (driven by devrel run):

Stage 0: Watchdog         (health + budget check)
Stage 1: Sage + Echo + Dex     parallel
Stage 2: Rex + Iris            parallel
Stage 3: Nova + Kai            parallel (Kai routes through quality pipeline)
Stage 4: Vox
Stage 5: Sentinel              brand audit
Stage 5b: Argus                post-publish content performance analysis
Stage 6: Instantly sync, OKR compilation, Sheets publish, digest

Argus is config-gated by [orchestration].analytics_in_run (default true); set to false to skip the stage. Standalone use via devrel analytics report is unaffected.

The Atlas.delegate() API also dispatches single-agent tasks, which is what every non-run verb wraps. So devrel triage is Atlas.delegate("sage", "Triage GitHub issues from the last 7 days") — the agents never appear in the public CLI surface, only the verbs.


Configuration

.devrel/config.toml example:

[project]
name = "openclaw"
url = "https://openclaw.ai"
github_repo = "openclaw/openclaw"

[model]
default = "claude-sonnet-4-6"
cheap = "claude-haiku-4-5-20251001"
opus_opt_in = true

[budget]
monthly_usd = 100.0
warn_at_pct = 80

Edit with devrel config set <key> <value> or directly in your editor.

Environment variables

Variable Required Used by
ANTHROPIC_API_KEY yes every LLM-using verb
GITHUB_TOKEN for triage Sage
FIRECRAWL_API_KEY for KB harvest + intel kb add, Echo, Rex
BRAVE_API_KEY optional fallback search
INSTANTLY_API_KEY for cold-email sync Pax, Mox
APOLLO_API_KEY for lead enrichment Rex, Pax
TELEGRAM_BOT_TOKEN for digests Atlas pipeline
EMAIL_SENDER / EMAIL_PASSWORD for digests Atlas pipeline
OPENAI_API_KEY for video TTS Vox

.env files at the project root are loaded automatically. Cross-project shared keys can live at ~/.devrel/secrets.env.


Retargeting to another product

cd /path/to/other-project
devrel init --name otherproduct --url https://otherproduct.dev --github-repo owner/otherproduct
devrel kb add https://otherproduct.dev/docs --category docs
# edit voice.md / style.md / slop-blocklist.md to match the other product's voice
devrel doctor
devrel run

The agent system is product-agnostic. Per-project config + KB + voice files do all the targeting.


Documentation

The user-facing docs live in docs/:

Internal docs (architecture specs, implementation plans) live in docs/superpowers/.


Tech stack

Component Choice
Language Python 3.12+
CLI framework Typer + Rich
Agent SDK Claude Agent SDK
HTTP httpx (async)
Default model Claude Sonnet 4.6 (Haiku for cheap quality stages, Opus opt-in)
Stats scipy (power analysis, Bayesian eval)
Video Playwright + FFmpeg + OpenAI TTS
Storage SQLite per project (.devrel/state.db)
Tests pytest + pytest-asyncio + respx

Author

Daria Dovzhikova — DevTools Growth Strategist & AI Agent Builder


MIT License

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

devrel_swarm-0.2.10.tar.gz (292.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

devrel_swarm-0.2.10-py3-none-any.whl (249.6 kB view details)

Uploaded Python 3

File details

Details for the file devrel_swarm-0.2.10.tar.gz.

File metadata

  • Download URL: devrel_swarm-0.2.10.tar.gz
  • Upload date:
  • Size: 292.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for devrel_swarm-0.2.10.tar.gz
Algorithm Hash digest
SHA256 ca49328e3ec347d7edc50df7ea9954250fbd6fa3f31364545d193b16f5ea8d93
MD5 1e5b3728c3d0b729c3e7ee0c33ae61a8
BLAKE2b-256 03288dfdcbcd8df32db6790e7d19138aa31e88d8e8def77049725c3f42e62393

See more details on using hashes here.

Provenance

The following attestation bundles were made for devrel_swarm-0.2.10.tar.gz:

Publisher: release.yml on dovzhikova/devrel-swarm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file devrel_swarm-0.2.10-py3-none-any.whl.

File metadata

  • Download URL: devrel_swarm-0.2.10-py3-none-any.whl
  • Upload date:
  • Size: 249.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for devrel_swarm-0.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 2195336c8b6f62414dbe72d2925243213cc610163960f685bf3a75396318ec07
MD5 d5a76fc74296e11812b976bdf4a32a8b
BLAKE2b-256 0ab4b8ad03ecb4a0e7831f6cddf8c11b78162e09a458f929c5668806be73cfdb

See more details on using hashes here.

Provenance

The following attestation bundles were made for devrel_swarm-0.2.10-py3-none-any.whl:

Publisher: release.yml on dovzhikova/devrel-swarm

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page