agent-backbone 0.1.0__tar.gz → 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/.gitignore +4 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/PKG-INFO +63 -41
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/README.md +60 -39
- agent_backbone-0.2.0/USAGE.md +105 -0
- agent_backbone-0.2.0/docs/INDEX.md +42 -0
- agent_backbone-0.2.0/docs/README.md +7 -0
- agent_backbone-0.2.0/docs/api.md +502 -0
- agent_backbone-0.2.0/docs/cli.md +567 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/concepts.md +63 -17
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/configuration.md +76 -9
- agent_backbone-0.2.0/docs/deep-reviews.md +100 -0
- agent_backbone-0.2.0/docs/diagnostics.md +243 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/getting-started.md +95 -17
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/github-app-setup.md +3 -3
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/github.md +112 -6
- agent_backbone-0.2.0/docs/how-it-works.md +454 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/integrations.md +3 -2
- agent_backbone-0.2.0/docs/media/demo.gif +0 -0
- agent_backbone-0.2.0/docs/report-audio.md +81 -0
- agent_backbone-0.2.0/docs/reports.md +195 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/security.md +63 -8
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/status-and-roadmap.md +37 -19
- agent_backbone-0.2.0/docs/swarms.md +239 -0
- agent_backbone-0.2.0/docs/telegram.md +179 -0
- agent_backbone-0.2.0/docs/templates.md +120 -0
- agent_backbone-0.2.0/examples/report_speech_server.py +65 -0
- agent_backbone-0.2.0/help/agents.md +98 -0
- {agent_backbone-0.1.0/src/agent_backbone/help/topics → agent_backbone-0.2.0/help}/github.md +1 -1
- agent_backbone-0.2.0/help/messaging.md +90 -0
- agent_backbone-0.2.0/help/reports.md +118 -0
- agent_backbone-0.2.0/help/reviews.md +24 -0
- agent_backbone-0.2.0/help/swarms.md +115 -0
- agent_backbone-0.2.0/help/templates.md +30 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/pyproject.toml +8 -4
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/app.py +92 -13
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/models.py +101 -58
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/agents.py +120 -30
- agent_backbone-0.2.0/src/agent_backbone/api/routes/diagnostics.py +187 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/integrations.py +11 -2
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/issues.py +25 -3
- agent_backbone-0.2.0/src/agent_backbone/api/routes/messages.py +113 -0
- agent_backbone-0.2.0/src/agent_backbone/api/routes/plans.py +192 -0
- agent_backbone-0.2.0/src/agent_backbone/api/routes/reports.py +170 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/status.py +51 -13
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/swarms.py +6 -1
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/webhook.py +34 -1
- agent_backbone-0.2.0/src/agent_backbone/api/session_updates.py +101 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/socketio_server.py +18 -5
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/__init__.py +132 -15
- agent_backbone-0.2.0/src/agent_backbone/cli/_common.py +213 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/agents.py +223 -48
- agent_backbone-0.2.0/src/agent_backbone/cli/completion.py +410 -0
- agent_backbone-0.2.0/src/agent_backbone/cli/diagnostics.py +241 -0
- agent_backbone-0.2.0/src/agent_backbone/cli/instructions.py +239 -0
- agent_backbone-0.2.0/src/agent_backbone/cli/reports.py +307 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/server.py +37 -71
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/service.py +29 -1
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/setup.py +63 -18
- agent_backbone-0.2.0/src/agent_backbone/cli/status.py +346 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/swarms.py +52 -11
- agent_backbone-0.2.0/src/agent_backbone/cli/upgrade.py +177 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/config.py +197 -12
- agent_backbone-0.2.0/src/agent_backbone/git.py +116 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/help/__init__.py +34 -26
- agent_backbone-0.2.0/src/agent_backbone/hooks/__init__.py +14 -0
- agent_backbone-0.2.0/src/agent_backbone/hooks/backbone_state.py +543 -0
- agent_backbone-0.2.0/src/agent_backbone/hooks/claude_hook.py +108 -0
- agent_backbone-0.2.0/src/agent_backbone/hooks/codex_hook.py +88 -0
- agent_backbone-0.2.0/src/agent_backbone/hooks/gemini_hook.py +85 -0
- agent_backbone-0.2.0/src/agent_backbone/hooks/install.py +133 -0
- agent_backbone-0.2.0/src/agent_backbone/hooks/opencode_hook.js +161 -0
- agent_backbone-0.2.0/src/agent_backbone/models.py +488 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/recent.py +11 -4
- agent_backbone-0.2.0/src/agent_backbone/release.py +147 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/agents/__init__.py +31 -3
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/agents/_file_reader.py +23 -5
- agent_backbone-0.2.0/src/agent_backbone/services/agents/_inference.py +391 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/_locks.py +51 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/_validation.py +58 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/agents/acknowledgement.py +50 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/audit.py +45 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/instructions.py +91 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/launch.py +577 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/models.py +112 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/operations.py +190 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/queries.py +173 -0
- agent_backbone-0.2.0/src/agent_backbone/services/agents/store.py +360 -0
- agent_backbone-0.2.0/src/agent_backbone/services/database/__init__.py +21 -0
- agent_backbone-0.2.0/src/agent_backbone/services/database/_agents_repo.py +243 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_delivery_repo.py +61 -13
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_dependencies_repo.py +28 -0
- agent_backbone-0.2.0/src/agent_backbone/services/database/_diagnostics_repo.py +368 -0
- agent_backbone-0.2.0/src/agent_backbone/services/database/_events_repo.py +195 -0
- agent_backbone-0.2.0/src/agent_backbone/services/database/_outbox_repo.py +142 -0
- agent_backbone-0.2.0/src/agent_backbone/services/database/_queue_repo.py +500 -0
- agent_backbone-0.2.0/src/agent_backbone/services/database/_reports_repo.py +427 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/backbone_db.py +98 -15
- agent_backbone-0.1.0/src/agent_backbone/services/database/migrations/versions/2026_09_02_3fb2fe03898c_initial_schema.py → agent_backbone-0.2.0/src/agent_backbone/services/database/migrations/versions/2026_09_09_761f09f031b6_initial_schema.py +141 -13
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/models.py +145 -9
- agent_backbone-0.2.0/src/agent_backbone/services/github/__init__.py +13 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/github/interface.py +84 -19
- agent_backbone-0.2.0/src/agent_backbone/services/github/reviews.py +58 -0
- agent_backbone-0.2.0/src/agent_backbone/services/github/snapshot.py +52 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/_notify.py +20 -18
- agent_backbone-0.2.0/src/agent_backbone/services/integrations/_registry.py +189 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/base.py +27 -2
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_commands.py +162 -19
- agent_backbone-0.2.0/src/agent_backbone/services/integrations/telegram/_report_delivery.py +159 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_routing.py +45 -12
- agent_backbone-0.2.0/src/agent_backbone/services/integrations/telegram/_speech.py +100 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_topic_discovery.py +61 -14
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_topics.py +7 -1
- agent_backbone-0.2.0/src/agent_backbone/services/integrations/telegram/_updates.py +243 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/interface.py +106 -11
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/__init__.py +3 -1
- agent_backbone-0.2.0/src/agent_backbone/services/jobs/diagnostics.py +137 -0
- agent_backbone-0.2.0/src/agent_backbone/services/jobs/escalation.py +453 -0
- agent_backbone-0.2.0/src/agent_backbone/services/jobs/github_poll.py +310 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/monitor.py +111 -11
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/pending.py +15 -13
- agent_backbone-0.2.0/src/agent_backbone/services/jobs/retry.py +425 -0
- agent_backbone-0.2.0/src/agent_backbone/services/jobs/upgrade_watch.py +77 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/__init__.py +32 -4
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_create_notify.py +15 -13
- agent_backbone-0.2.0/src/agent_backbone/services/routing/_delivery.py +559 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_dependencies.py +18 -13
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_format.py +104 -4
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_ingest.py +74 -9
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_intelligence.py +28 -2
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_lifecycle.py +44 -26
- agent_backbone-0.2.0/src/agent_backbone/services/routing/_outbox.py +149 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_priority.py +13 -1
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_router.py +176 -23
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_targets.py +32 -6
- agent_backbone-0.2.0/src/agent_backbone/services/routing/_validity.py +38 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/models.py +4 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/__init__.py +30 -44
- agent_backbone-0.2.0/src/agent_backbone/services/runtimes/_opencode_launch.py +42 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/_pane.py +3 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/aider.py +1 -0
- agent_backbone-0.2.0/src/agent_backbone/services/runtimes/base.py +826 -0
- agent_backbone-0.2.0/src/agent_backbone/services/runtimes/catalog.json +37 -0
- agent_backbone-0.2.0/src/agent_backbone/services/runtimes/claude.py +231 -0
- agent_backbone-0.2.0/src/agent_backbone/services/runtimes/codex.py +326 -0
- agent_backbone-0.2.0/src/agent_backbone/services/runtimes/gemini.py +106 -0
- agent_backbone-0.2.0/src/agent_backbone/services/runtimes/opencode.py +116 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/scheduler.py +86 -8
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/__init__.py +7 -1
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/_roster.py +13 -5
- agent_backbone-0.2.0/src/agent_backbone/services/swarm/_templates.py +39 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/_worktree.py +33 -6
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/interface.py +179 -60
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/__init__.py +2 -0
- agent_backbone-0.2.0/src/agent_backbone/services/terminal/_attach.py +25 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_copy_mode.py +2 -2
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_core.py +31 -10
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_pty.py +107 -21
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_sessions.py +28 -9
- agent_backbone-0.2.0/src/agent_backbone/templates.py +127 -0
- agent_backbone-0.2.0/templates/README.md +17 -0
- agent_backbone-0.2.0/templates/base.md +62 -0
- agent_backbone-0.2.0/templates/policies/python-example.md +5 -0
- agent_backbone-0.2.0/templates/swarm/common.md +66 -0
- agent_backbone-0.2.0/templates/swarm/coordinator.md +82 -0
- agent_backbone-0.2.0/templates/swarm/kickoff.md +1 -0
- agent_backbone-0.2.0/tests/unit/help/__init__.py +0 -0
- agent_backbone-0.2.0/tests/unit/help/test_help.py +91 -0
- agent_backbone-0.1.0/docs/README.md +0 -28
- agent_backbone-0.1.0/docs/api.md +0 -243
- agent_backbone-0.1.0/docs/cli.md +0 -219
- agent_backbone-0.1.0/docs/how-it-works.md +0 -270
- agent_backbone-0.1.0/docs/swarms.md +0 -136
- agent_backbone-0.1.0/docs/telegram.md +0 -108
- agent_backbone-0.1.0/src/agent_backbone/api/routes/messages.py +0 -58
- agent_backbone-0.1.0/src/agent_backbone/api/routes/plans.py +0 -139
- agent_backbone-0.1.0/src/agent_backbone/api/session_updates.py +0 -184
- agent_backbone-0.1.0/src/agent_backbone/cli/_common.py +0 -113
- agent_backbone-0.1.0/src/agent_backbone/git.py +0 -52
- agent_backbone-0.1.0/src/agent_backbone/help/agent-brief.md +0 -39
- agent_backbone-0.1.0/src/agent_backbone/help/topics/agents.md +0 -49
- agent_backbone-0.1.0/src/agent_backbone/help/topics/messaging.md +0 -41
- agent_backbone-0.1.0/src/agent_backbone/help/topics/swarms.md +0 -60
- agent_backbone-0.1.0/src/agent_backbone/hooks/__init__.py +0 -10
- agent_backbone-0.1.0/src/agent_backbone/hooks/claude_hook.py +0 -251
- agent_backbone-0.1.0/src/agent_backbone/hooks/install.py +0 -160
- agent_backbone-0.1.0/src/agent_backbone/models.py +0 -201
- agent_backbone-0.1.0/src/agent_backbone/services/agents/_inference.py +0 -163
- agent_backbone-0.1.0/src/agent_backbone/services/agents/launch.py +0 -342
- agent_backbone-0.1.0/src/agent_backbone/services/agents/models.py +0 -69
- agent_backbone-0.1.0/src/agent_backbone/services/agents/operations.py +0 -101
- agent_backbone-0.1.0/src/agent_backbone/services/agents/store.py +0 -214
- agent_backbone-0.1.0/src/agent_backbone/services/database/__init__.py +0 -7
- agent_backbone-0.1.0/src/agent_backbone/services/database/_agents_repo.py +0 -116
- agent_backbone-0.1.0/src/agent_backbone/services/database/_events_repo.py +0 -104
- agent_backbone-0.1.0/src/agent_backbone/services/database/_queue_repo.py +0 -150
- agent_backbone-0.1.0/src/agent_backbone/services/github/__init__.py +0 -5
- agent_backbone-0.1.0/src/agent_backbone/services/integrations/_registry.py +0 -92
- agent_backbone-0.1.0/src/agent_backbone/services/jobs/escalation.py +0 -243
- agent_backbone-0.1.0/src/agent_backbone/services/jobs/github_poll.py +0 -190
- agent_backbone-0.1.0/src/agent_backbone/services/jobs/retry.py +0 -173
- agent_backbone-0.1.0/src/agent_backbone/services/routing/_delivery.py +0 -287
- agent_backbone-0.1.0/src/agent_backbone/services/runtimes/base.py +0 -396
- agent_backbone-0.1.0/src/agent_backbone/services/runtimes/claude.py +0 -117
- agent_backbone-0.1.0/src/agent_backbone/services/runtimes/codex.py +0 -103
- agent_backbone-0.1.0/src/agent_backbone/services/runtimes/gemini.py +0 -55
- agent_backbone-0.1.0/src/agent_backbone/services/runtimes/opencode.py +0 -40
- agent_backbone-0.1.0/src/agent_backbone/services/swarm/_templates.py +0 -28
- agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates/common.md +0 -42
- agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates/coordinator.md +0 -45
- agent_backbone-0.1.0/src/agent_backbone/templates.py +0 -28
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/LICENSE +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/alembic.ini +0 -0
- {agent_backbone-0.1.0/src/agent_backbone/help/topics → agent_backbone-0.2.0/help}/setup.md +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/__init__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/__init__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/auth.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/deps.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/__init__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/config.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/deliveries.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/events.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/help.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/base/__init__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/base/lifecycle.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/base/protocols.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/__main__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/fs.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/__init__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_acks_repo.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_repo.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_settings_repo.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_state_repo.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_swarms_repo.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_time.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/base.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/engine.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/migrations/env.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/migrations/script.py.mako +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/__init__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/__init__.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/copy_mode.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_dedup.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_resolution.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/deepcode.py +0 -0
- {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/shell.py +0 -0
- {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/coder.md +0 -0
- {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/reviewer.md +0 -0
- {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/scout.md +0 -0
- {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/worker.md +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: agent-backbone
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Local control plane for terminal AI agents: run them, message them, coordinate them through GitHub Issues, reach them from Telegram.
|
|
5
5
|
Project-URL: Homepage, https://github.com/eandualem/agent-backbone
|
|
6
|
-
Project-URL: Documentation, https://github.com/eandualem/agent-backbone/blob/main/docs/
|
|
6
|
+
Project-URL: Documentation, https://github.com/eandualem/agent-backbone/blob/main/docs/INDEX.md
|
|
7
7
|
Project-URL: Source, https://github.com/eandualem/agent-backbone
|
|
8
8
|
Project-URL: Issues, https://github.com/eandualem/agent-backbone/issues
|
|
9
9
|
License: MIT
|
|
@@ -29,6 +29,7 @@ Requires-Dist: pydantic>=2.0
|
|
|
29
29
|
Requires-Dist: python-dotenv>=1.0
|
|
30
30
|
Requires-Dist: python-socketio>=5.11
|
|
31
31
|
Requires-Dist: python-telegram-bot>=21.0
|
|
32
|
+
Requires-Dist: rich>=14.1
|
|
32
33
|
Requires-Dist: sqlalchemy[asyncio]>=2.0
|
|
33
34
|
Requires-Dist: uvicorn[standard]>=0.32
|
|
34
35
|
Provides-Extra: github-app
|
|
@@ -48,20 +49,38 @@ A lightweight control plane for the terminal coding agents you already use.
|
|
|
48
49
|
|
|
49
50
|
agent-backbone runs Claude Code, Codex, OpenCode, Deep Code and other command-line agents as persistent sessions on your machine, and gives them what a single terminal cannot: a way to communicate with each other, a manager that knows what each of them is doing, a channel for delegating work, and a way to form teams around a task. The agents stay the tools you already run, with their own logins, configuration and model access. The backbone adds no model, no subscription and no files to your repositories.
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+

|
|
53
|
+
|
|
54
|
+
*Unedited, at 3× speed. A Claude Code session on a clean Linux machine is asked to install agent-backbone and set it up, then to start a Claude agent and an OpenCode agent and have them work together. It installs from PyPI, follows `backbone help setup`, starts both agents, splits the terminal itself so you can watch them, and the two agents review each other's work — four messages across two runtimes, no human input after the two prompts.*
|
|
55
|
+
|
|
56
|
+
**Contents** · [What it enables](#what-it-enables) · [Getting started](#getting-started) · [How it works](#how-it-works) · [Runtimes](#runtimes) · [Going further](#going-further) · [How it relates to other tools](#how-it-relates-to-other-tools) · [Security model](#security-model) · [Background](#background) · [Documentation](#documentation) · [Development](#development)
|
|
57
|
+
|
|
58
|
+
## What it enables
|
|
59
|
+
|
|
60
|
+
Four things, each of which the agents can do among themselves once the backbone is running.
|
|
52
61
|
|
|
53
62
|
- **Communication.** Any agent can message any other — across CLIs, models and repositories — with a single command. A message is delivered only when the recipient is ready to receive it and stored until then, so an agent in the middle of a task is never interrupted by another.
|
|
54
63
|
- **Management.** The backbone knows whether each agent is idle, working or waiting for a person, and shows the evidence behind that reading. Start, stop, inspect and attach to any agent from one place; hear about the ones that need you on Telegram.
|
|
55
64
|
- **Delegation.** GitHub Issues are the task list. An issue opened in an agent's repository is that agent's work; a `for:<agent>` label routes an issue to a specific agent; comments return to whoever opened it; closing an issue hands the agent its next one. An orchestrator is simply an agent that watches several repositories.
|
|
56
65
|
- **Teams.** When a task benefits from parallel work, an agent creates a swarm: a coordinator plus members on the runtimes and models it chooses, sharing one worktree and branch, finishing in a pull request. When the issue closes, the swarm is torn down and the branch remains.
|
|
57
66
|
|
|
58
|
-
|
|
67
|
+
By default, each new agent session the backbone starts is briefed at launch on who it is and how to use all of this, so agents can start other agents, subscribe to repositories, message each other and form teams without a person in the loop. (A resumed session keeps its earlier conversation and is not briefed again; a plain `shell` agent gets no brief; `agents.inject_brief` turns the brief off.) You can watch any session at any time, or step in.
|
|
68
|
+
|
|
69
|
+
> **Status:** early release. The core — state detection, safe delivery, GitHub routing, swarms, Telegram, the API — is tested and has been exercised against live Claude Code, Codex, OpenCode and Deep Code sessions. [Status and roadmap](https://github.com/eandualem/agent-backbone/blob/main/docs/status-and-roadmap.md) records what is verified and what is not.
|
|
70
|
+
|
|
71
|
+
## Getting started
|
|
72
|
+
|
|
73
|
+
Run `backbone usage` for [quick usage](USAGE.md): start, resume, attach, rename
|
|
74
|
+
and read agent progress with `backbone updates`.
|
|
75
|
+
[Documentation index](docs/INDEX.md) gives a suggested reading order.
|
|
76
|
+
|
|
77
|
+
Three commands install and run it; the fourth starts your first agent. Or hand the whole thing to an agent.
|
|
59
78
|
|
|
60
|
-
|
|
79
|
+
### Requirements
|
|
61
80
|
|
|
62
|
-
|
|
81
|
+
macOS or Linux, Python 3.11+, `tmux`, [uv](https://docs.astral.sh/uv/) (or pipx), and at least one agent CLI on your PATH.
|
|
63
82
|
|
|
64
|
-
|
|
83
|
+
### Install and run
|
|
65
84
|
|
|
66
85
|
```bash
|
|
67
86
|
uv tool install "agent-backbone[github-app]" # https://pypi.org/project/agent-backbone/
|
|
@@ -69,21 +88,21 @@ backbone init # data directory, .env with an AP
|
|
|
69
88
|
backbone service install # runs now and at every login (launchd / systemd --user)
|
|
70
89
|
```
|
|
71
90
|
|
|
72
|
-
`pipx install "agent-backbone[github-app]"` works the same. If `backbone` is not found afterwards, run `uv tool update-shell` once and open a new terminal. `ab` is the same command under a short name (on macOS `/usr/sbin/ab`, Apache Bench, may shadow it — put `~/.local/bin` first in your PATH or use `backbone`).
|
|
91
|
+
`pipx install "agent-backbone[github-app]"` works the same. If `backbone` is not found afterwards, run `uv tool update-shell` once and open a new terminal. `ab` is the same command under a short name (on macOS `/usr/sbin/ab`, Apache Bench, may shadow it — put `~/.local/bin` first in your PATH or use `backbone`). Where there is no launchd or systemd (a container), `backbone up --detach` runs it instead.
|
|
73
92
|
|
|
74
93
|
There is no configuration file, no database server and no tunnel. Everything the backbone knows lives in `~/.local/share/agent-backbone/` (a SQLite file, hook state, `.env`); settings are changed with `backbone config set`.
|
|
75
94
|
|
|
76
|
-
###
|
|
95
|
+
### Or let an agent do it
|
|
77
96
|
|
|
78
|
-
|
|
97
|
+
Paste this into any agent that has a shell — a Claude Code, Codex or OpenCode session in one of your repositories:
|
|
79
98
|
|
|
80
99
|
> Install agent-backbone from PyPI (`uv tool install "agent-backbone[github-app]"`), then run `backbone help setup` and follow it: get the backbone running, start an agent in this repository, and tell me what still needs me.
|
|
81
100
|
|
|
82
|
-
Everything the agent needs ships with the package: `backbone help` (the playbooks — `setup`, `agents`, `messaging`, `github`, `swarms`) and `backbone docs` (this documentation, page by page).
|
|
101
|
+
Everything the agent needs ships with the package: `backbone help` (the playbooks — `setup`, `agents`, `messaging`, `github`, `swarms`) and `backbone docs` (this documentation, page by page). The recording above starts with exactly this prompt.
|
|
83
102
|
|
|
84
|
-
|
|
103
|
+
### First agent
|
|
85
104
|
|
|
86
|
-
An agent is started from the directory of the repository it will work in.
|
|
105
|
+
An agent is started from the directory of the repository it will work in. It takes the directory's name, and that repository becomes its responsibility.
|
|
87
106
|
|
|
88
107
|
```bash
|
|
89
108
|
cd ~/code/app
|
|
@@ -96,50 +115,62 @@ The second `tell` returns `"outcome": "agent_working"`: the message was not type
|
|
|
96
115
|
|
|
97
116
|
## How it works
|
|
98
117
|
|
|
118
|
+
Six decisions the backbone makes for you; the full flows are in [How it works](https://github.com/eandualem/agent-backbone/blob/main/docs/how-it-works.md).
|
|
119
|
+
|
|
99
120
|
- **Agents are discovered, not declared.** `backbone agent start` in a directory records the agent: its name, its runtime and model, and the repository read from `git remote origin`. The command returns when the agent is at its prompt; folder-trust dialogs are answered for you.
|
|
100
|
-
- **State comes from the runtime first, the terminal second.** Claude Code
|
|
101
|
-
- **Delivery is gated on state.** Text is pasted into an agent only when it is idle — not while it is working, waiting for a person, or while you are typing in that terminal. What cannot land now is queued in SQLite and delivered when the agent is free. The few deliberate exceptions are documented
|
|
121
|
+
- **State comes from the runtime first, the terminal second.** Claude Code, Codex, Gemini CLI and OpenCode report their state through hooks the backbone wires into the session at launch, without touching the CLI's own configuration; the rest are read from their terminal. Every reading carries its evidence, visible in `backbone agent inspect`.
|
|
122
|
+
- **Delivery is gated on state.** Text is pasted into an agent only when it is idle — not while it is working, waiting for a person, or while you are typing in that terminal. What cannot land now is queued in SQLite and delivered when the agent is free. The few deliberate exceptions are documented.
|
|
102
123
|
- **Agents can unblock each other.** `backbone agent approve <name>` answers a runtime's permission dialog — only while it is on screen, only with its affirmative key, every approval audited — so a coordinator can keep a team moving without a person watching.
|
|
103
124
|
- **Coordination goes through GitHub, per repository.** Nothing is configured per repository: GitHub credentials are set once, and every repository an agent owns or watches is tracked on its own, by polling or by webhook.
|
|
104
125
|
- **You reach it from anywhere.** The CLI, Telegram (a forum topic per agent), and a REST + Socket.IO API for your own dashboard or automation. The backbone ships no UI.
|
|
105
126
|
|
|
106
127
|
## Runtimes
|
|
107
128
|
|
|
108
|
-
Any CLI that runs in a terminal can be an agent; how much the backbone can do for it depends on the runtime
|
|
129
|
+
Any CLI that runs in a terminal can be an agent; how much the backbone can do for it depends on the runtime.
|
|
109
130
|
|
|
110
131
|
| Runtime | Unattended start | Brief at launch | State detection | Delivery | Approve |
|
|
111
132
|
|---|---|---|---|---|---|
|
|
112
133
|
| `claude` (Claude Code) | ✅ | ✅ system prompt | ✅ hooks + terminal | ✅ verified | ✅ |
|
|
113
|
-
| `codex` | ✅ | ✅ first prompt | ✅ terminal | ✅ verified | ✅ |
|
|
114
|
-
| `opencode` | ✅ (no trust dialog) | ✅ first prompt | ✅ terminal | ✅ verified | ✅ |
|
|
134
|
+
| `codex` | ✅ | ✅ first prompt | ✅ hooks + terminal | ✅ verified | ✅ |
|
|
135
|
+
| `opencode` | ✅ (no trust dialog) | ✅ first prompt | ✅ hooks + terminal | ✅ verified | ✅ |
|
|
115
136
|
| `deepcode` (Deep Code, DeepSeek) | ✅ (no trust dialog) | ✅ `-p` | ✅ terminal | ✅ verified | pending |
|
|
116
|
-
| `gemini` | ✅ `--skip-trust` | ✅ first prompt | ✅ terminal | unverified¹ | — |
|
|
117
|
-
| `aider
|
|
137
|
+
| `gemini` | ✅ `--skip-trust` | ✅ first prompt | ✅ hooks + terminal | unverified¹ | — |
|
|
138
|
+
| `aider` | — | first message | terminal, best effort | untested | — |
|
|
139
|
+
| `shell` | — | none | terminal, best effort | — | — |
|
|
118
140
|
|
|
119
141
|
¹ Gemini CLI 0.46 completes Google OAuth and then refuses personal accounts ("no longer supported for Gemini Code Assist for individuals"); the backbone reports such a session as `waiting_for_human`. Delivery to a signed-in Gemini session (e.g. `GEMINI_API_KEY`) has not been tested yet. Deep Code is `@vegamo/deepcode-cli`, the community CLI DeepSeek's docs point to; its permission dialog has not been captured yet, so `agent approve` refuses it until then.
|
|
120
142
|
|
|
121
143
|
`backbone runtimes` lists every runtime, whether its binary is installed, and example model ids. The backbone does not manage per-repository runtime configuration (`CLAUDE.md`, `AGENTS.md`, MCP servers, …) — how a repository configures its tools is the repository's business.
|
|
122
144
|
|
|
123
|
-
##
|
|
145
|
+
## Going further
|
|
146
|
+
|
|
147
|
+
Each of these is one command or one short setup, and each has its own page.
|
|
124
148
|
|
|
125
|
-
|
|
149
|
+
### GitHub Issues as the task list
|
|
126
150
|
|
|
127
151
|
```bash
|
|
128
152
|
gh auth token | backbone secrets set GITHUB_TOKEN # the backbone's own .env, never a repo's
|
|
129
153
|
backbone service install # restart to pick it up
|
|
130
154
|
```
|
|
131
155
|
|
|
132
|
-
That is poll intake (every 60 s, nothing exposed). For instant delivery and automatic coverage of every repository you create, do the one-time GitHub App + webhook setup: [GitHub App setup](https://github.com/eandualem/agent-backbone/blob/main/docs/github-app-setup.md).
|
|
156
|
+
That is poll intake (every 60 s, nothing exposed) in every repository an agent owns or watches. For instant delivery and automatic coverage of every repository you create, do the one-time GitHub App + webhook setup: [GitHub App setup](https://github.com/eandualem/agent-backbone/blob/main/docs/github-app-setup.md).
|
|
133
157
|
|
|
134
|
-
|
|
158
|
+
### Orchestrators, swarms, Telegram, your own view
|
|
159
|
+
|
|
160
|
+
- **An orchestrator** watches the repositories it coordinates — `backbone agent start --watch acme/app --watch acme/web` — and opens issues for the others with `for:` and `from:` labels.
|
|
161
|
+
- **A swarm** puts parallel workers on one issue: [Swarms](https://github.com/eandualem/agent-backbone/blob/main/docs/swarms.md).
|
|
162
|
+
- **Telegram** gives every agent a topic you can talk to from your phone: [Telegram](https://github.com/eandualem/agent-backbone/blob/main/docs/telegram.md).
|
|
163
|
+
- **Your own dashboard or automation** builds on the [API](https://github.com/eandualem/agent-backbone/blob/main/docs/api.md).
|
|
135
164
|
|
|
136
165
|
## How it relates to other tools
|
|
137
166
|
|
|
138
167
|
Session managers such as [claude-squad](https://github.com/smtg-ai/claude-squad), [agent-manager](https://github.com/YoanWai/agent-manager) and [vibe-kanban](https://github.com/BloopAI/vibe-kanban) give you one screen over many agent sessions, with worktrees and diff review; they are about the person operating the agents. agent-backbone is about what happens between the agents: addressing a live agent from outside its terminal, delivering only when it is safe, routing work through issues, and letting agents manage each other. Claude Code's Agent Teams offer collaboration inside a single Claude Code session; the backbone works across CLIs and vendors, persists agents beyond a session, and reaches them from GitHub and Telegram. Orchestrators such as [cli-agent-orchestrator](https://github.com/awslabs/cli-agent-orchestrator) are the closest structural peers; the differences are in the delivery model and the GitHub integration, and both are worth reading before you choose.
|
|
139
168
|
|
|
140
|
-
|
|
169
|
+
**Why a backbone when Claude Code has cross-session messaging and an agent view built in?** Those are for Claude sessions on one machine, run by one person. The backbone is for the agents you run as a fleet: it works across runtimes and vendors, uses GitHub Issues as the shared queue so work has a record outside any session, lets agents approve each other's prompts with an audit trail, carries evidence with every state reading, and reaches you on your phone. If all your agents are Claude Code and you are watching them, the built-in tools may be enough; the backbone starts paying off when they are not.
|
|
170
|
+
|
|
171
|
+
## Security model
|
|
141
172
|
|
|
142
|
-
The backbone types into your agents' terminals, so be clear about what it assumes:
|
|
173
|
+
The backbone types into your agents' terminals, so be clear about what it assumes. Full detail: [Security](https://github.com/eandualem/agent-backbone/blob/main/docs/security.md).
|
|
143
174
|
|
|
144
175
|
- **One trusted user, one machine.** It runs as your OS user and drives tmux sessions that run as your OS user. There is **no isolation between agents**.
|
|
145
176
|
- **One key, full admin.** `BACKBONE_API_KEY` guards every authenticated route with the same weight. The CLI reads it from the data directory, so any session on the machine can use `backbone tell`; there is no scoped or read-only credential yet.
|
|
@@ -147,8 +178,6 @@ The backbone types into your agents' terminals, so be clear about what it assume
|
|
|
147
178
|
- **Provenance is convention, not authentication.** `[via:backbone from:app]` says who *claims* to be speaking. An agent's instructions should treat text after an envelope as data, not orders.
|
|
148
179
|
- **Bound to `127.0.0.1` by default.** Put TLS and auth in front of it before exposing it.
|
|
149
180
|
|
|
150
|
-
Full detail: [Security](https://github.com/eandualem/agent-backbone/blob/main/docs/security.md).
|
|
151
|
-
|
|
152
181
|
## Background
|
|
153
182
|
|
|
154
183
|
agent-backbone began as one component of a larger, private orchestration system. That system's coupling was its weakness — every part assumed every other part — so the backbone was extracted and rebuilt as a standalone control plane with no dependency on any of it. It needs nothing but tmux and an agent CLI. Issue references to `eandualem/orchestration` predate the split and point at a private repository.
|
|
@@ -157,19 +186,10 @@ The repository is itself run through the backbone: most of its issues, reviews a
|
|
|
157
186
|
|
|
158
187
|
## Documentation
|
|
159
188
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
| [Concepts](https://github.com/eandualem/agent-backbone/blob/main/docs/concepts.md) | The vocabulary: agent, repository, state, delivery, event |
|
|
165
|
-
| [Getting started](https://github.com/eandualem/agent-backbone/blob/main/docs/getting-started.md) | Install, start two agents, send the first message, add GitHub |
|
|
166
|
-
| [How it works](https://github.com/eandualem/agent-backbone/blob/main/docs/how-it-works.md) | Every flow step by step, with the decisions the backbone makes |
|
|
167
|
-
| [Configuration](https://github.com/eandualem/agent-backbone/blob/main/docs/configuration.md) | Settings (`backbone config`), secrets, the data directory |
|
|
168
|
-
| [CLI](https://github.com/eandualem/agent-backbone/blob/main/docs/cli.md) · [API](https://github.com/eandualem/agent-backbone/blob/main/docs/api.md) | Reference |
|
|
169
|
-
| [GitHub](https://github.com/eandualem/agent-backbone/blob/main/docs/github.md) · [App setup walkthrough](https://github.com/eandualem/agent-backbone/blob/main/docs/github-app-setup.md) · [Integrations](https://github.com/eandualem/agent-backbone/blob/main/docs/integrations.md) · [Telegram](https://github.com/eandualem/agent-backbone/blob/main/docs/telegram.md) | Integrations |
|
|
170
|
-
| [Swarms](https://github.com/eandualem/agent-backbone/blob/main/docs/swarms.md) | A coordinator plus members on one issue |
|
|
171
|
-
| [Security](https://github.com/eandualem/agent-backbone/blob/main/docs/security.md) | Defaults and what you opt into |
|
|
172
|
-
| [Status and roadmap](https://github.com/eandualem/agent-backbone/blob/main/docs/status-and-roadmap.md) | What works, what is missing, what is next |
|
|
189
|
+
Start with [Quick usage](USAGE.md) or the [documentation index](docs/INDEX.md).
|
|
190
|
+
Every page ships with the package: `backbone docs index` gives the reading guide;
|
|
191
|
+
`backbone docs <page>` opens a reference. Agent playbooks live in [help/](help/),
|
|
192
|
+
and injected instructions live in [templates/](templates/).
|
|
173
193
|
|
|
174
194
|
## Development
|
|
175
195
|
|
|
@@ -186,3 +206,5 @@ make dev # backbone up --reload
|
|
|
186
206
|
## License
|
|
187
207
|
|
|
188
208
|
MIT — see [LICENSE](https://github.com/eandualem/agent-backbone/blob/main/LICENSE).
|
|
209
|
+
|
|
210
|
+
Injected instructions are separate from help: see [templates/](templates/) and [the templates guide](docs/templates.md). Use `backbone templates list` to inspect an installed Backbone.
|
|
@@ -9,20 +9,38 @@ A lightweight control plane for the terminal coding agents you already use.
|
|
|
9
9
|
|
|
10
10
|
agent-backbone runs Claude Code, Codex, OpenCode, Deep Code and other command-line agents as persistent sessions on your machine, and gives them what a single terminal cannot: a way to communicate with each other, a manager that knows what each of them is doing, a channel for delegating work, and a way to form teams around a task. The agents stay the tools you already run, with their own logins, configuration and model access. The backbone adds no model, no subscription and no files to your repositories.
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+

|
|
13
|
+
|
|
14
|
+
*Unedited, at 3× speed. A Claude Code session on a clean Linux machine is asked to install agent-backbone and set it up, then to start a Claude agent and an OpenCode agent and have them work together. It installs from PyPI, follows `backbone help setup`, starts both agents, splits the terminal itself so you can watch them, and the two agents review each other's work — four messages across two runtimes, no human input after the two prompts.*
|
|
15
|
+
|
|
16
|
+
**Contents** · [What it enables](#what-it-enables) · [Getting started](#getting-started) · [How it works](#how-it-works) · [Runtimes](#runtimes) · [Going further](#going-further) · [How it relates to other tools](#how-it-relates-to-other-tools) · [Security model](#security-model) · [Background](#background) · [Documentation](#documentation) · [Development](#development)
|
|
17
|
+
|
|
18
|
+
## What it enables
|
|
19
|
+
|
|
20
|
+
Four things, each of which the agents can do among themselves once the backbone is running.
|
|
13
21
|
|
|
14
22
|
- **Communication.** Any agent can message any other — across CLIs, models and repositories — with a single command. A message is delivered only when the recipient is ready to receive it and stored until then, so an agent in the middle of a task is never interrupted by another.
|
|
15
23
|
- **Management.** The backbone knows whether each agent is idle, working or waiting for a person, and shows the evidence behind that reading. Start, stop, inspect and attach to any agent from one place; hear about the ones that need you on Telegram.
|
|
16
24
|
- **Delegation.** GitHub Issues are the task list. An issue opened in an agent's repository is that agent's work; a `for:<agent>` label routes an issue to a specific agent; comments return to whoever opened it; closing an issue hands the agent its next one. An orchestrator is simply an agent that watches several repositories.
|
|
17
25
|
- **Teams.** When a task benefits from parallel work, an agent creates a swarm: a coordinator plus members on the runtimes and models it chooses, sharing one worktree and branch, finishing in a pull request. When the issue closes, the swarm is torn down and the branch remains.
|
|
18
26
|
|
|
19
|
-
|
|
27
|
+
By default, each new agent session the backbone starts is briefed at launch on who it is and how to use all of this, so agents can start other agents, subscribe to repositories, message each other and form teams without a person in the loop. (A resumed session keeps its earlier conversation and is not briefed again; a plain `shell` agent gets no brief; `agents.inject_brief` turns the brief off.) You can watch any session at any time, or step in.
|
|
28
|
+
|
|
29
|
+
> **Status:** early release. The core — state detection, safe delivery, GitHub routing, swarms, Telegram, the API — is tested and has been exercised against live Claude Code, Codex, OpenCode and Deep Code sessions. [Status and roadmap](https://github.com/eandualem/agent-backbone/blob/main/docs/status-and-roadmap.md) records what is verified and what is not.
|
|
30
|
+
|
|
31
|
+
## Getting started
|
|
32
|
+
|
|
33
|
+
Run `backbone usage` for [quick usage](USAGE.md): start, resume, attach, rename
|
|
34
|
+
and read agent progress with `backbone updates`.
|
|
35
|
+
[Documentation index](docs/INDEX.md) gives a suggested reading order.
|
|
36
|
+
|
|
37
|
+
Three commands install and run it; the fourth starts your first agent. Or hand the whole thing to an agent.
|
|
20
38
|
|
|
21
|
-
|
|
39
|
+
### Requirements
|
|
22
40
|
|
|
23
|
-
|
|
41
|
+
macOS or Linux, Python 3.11+, `tmux`, [uv](https://docs.astral.sh/uv/) (or pipx), and at least one agent CLI on your PATH.
|
|
24
42
|
|
|
25
|
-
|
|
43
|
+
### Install and run
|
|
26
44
|
|
|
27
45
|
```bash
|
|
28
46
|
uv tool install "agent-backbone[github-app]" # https://pypi.org/project/agent-backbone/
|
|
@@ -30,21 +48,21 @@ backbone init # data directory, .env with an AP
|
|
|
30
48
|
backbone service install # runs now and at every login (launchd / systemd --user)
|
|
31
49
|
```
|
|
32
50
|
|
|
33
|
-
`pipx install "agent-backbone[github-app]"` works the same. If `backbone` is not found afterwards, run `uv tool update-shell` once and open a new terminal. `ab` is the same command under a short name (on macOS `/usr/sbin/ab`, Apache Bench, may shadow it — put `~/.local/bin` first in your PATH or use `backbone`).
|
|
51
|
+
`pipx install "agent-backbone[github-app]"` works the same. If `backbone` is not found afterwards, run `uv tool update-shell` once and open a new terminal. `ab` is the same command under a short name (on macOS `/usr/sbin/ab`, Apache Bench, may shadow it — put `~/.local/bin` first in your PATH or use `backbone`). Where there is no launchd or systemd (a container), `backbone up --detach` runs it instead.
|
|
34
52
|
|
|
35
53
|
There is no configuration file, no database server and no tunnel. Everything the backbone knows lives in `~/.local/share/agent-backbone/` (a SQLite file, hook state, `.env`); settings are changed with `backbone config set`.
|
|
36
54
|
|
|
37
|
-
###
|
|
55
|
+
### Or let an agent do it
|
|
38
56
|
|
|
39
|
-
|
|
57
|
+
Paste this into any agent that has a shell — a Claude Code, Codex or OpenCode session in one of your repositories:
|
|
40
58
|
|
|
41
59
|
> Install agent-backbone from PyPI (`uv tool install "agent-backbone[github-app]"`), then run `backbone help setup` and follow it: get the backbone running, start an agent in this repository, and tell me what still needs me.
|
|
42
60
|
|
|
43
|
-
Everything the agent needs ships with the package: `backbone help` (the playbooks — `setup`, `agents`, `messaging`, `github`, `swarms`) and `backbone docs` (this documentation, page by page).
|
|
61
|
+
Everything the agent needs ships with the package: `backbone help` (the playbooks — `setup`, `agents`, `messaging`, `github`, `swarms`) and `backbone docs` (this documentation, page by page). The recording above starts with exactly this prompt.
|
|
44
62
|
|
|
45
|
-
|
|
63
|
+
### First agent
|
|
46
64
|
|
|
47
|
-
An agent is started from the directory of the repository it will work in.
|
|
65
|
+
An agent is started from the directory of the repository it will work in. It takes the directory's name, and that repository becomes its responsibility.
|
|
48
66
|
|
|
49
67
|
```bash
|
|
50
68
|
cd ~/code/app
|
|
@@ -57,50 +75,62 @@ The second `tell` returns `"outcome": "agent_working"`: the message was not type
|
|
|
57
75
|
|
|
58
76
|
## How it works
|
|
59
77
|
|
|
78
|
+
Six decisions the backbone makes for you; the full flows are in [How it works](https://github.com/eandualem/agent-backbone/blob/main/docs/how-it-works.md).
|
|
79
|
+
|
|
60
80
|
- **Agents are discovered, not declared.** `backbone agent start` in a directory records the agent: its name, its runtime and model, and the repository read from `git remote origin`. The command returns when the agent is at its prompt; folder-trust dialogs are answered for you.
|
|
61
|
-
- **State comes from the runtime first, the terminal second.** Claude Code
|
|
62
|
-
- **Delivery is gated on state.** Text is pasted into an agent only when it is idle — not while it is working, waiting for a person, or while you are typing in that terminal. What cannot land now is queued in SQLite and delivered when the agent is free. The few deliberate exceptions are documented
|
|
81
|
+
- **State comes from the runtime first, the terminal second.** Claude Code, Codex, Gemini CLI and OpenCode report their state through hooks the backbone wires into the session at launch, without touching the CLI's own configuration; the rest are read from their terminal. Every reading carries its evidence, visible in `backbone agent inspect`.
|
|
82
|
+
- **Delivery is gated on state.** Text is pasted into an agent only when it is idle — not while it is working, waiting for a person, or while you are typing in that terminal. What cannot land now is queued in SQLite and delivered when the agent is free. The few deliberate exceptions are documented.
|
|
63
83
|
- **Agents can unblock each other.** `backbone agent approve <name>` answers a runtime's permission dialog — only while it is on screen, only with its affirmative key, every approval audited — so a coordinator can keep a team moving without a person watching.
|
|
64
84
|
- **Coordination goes through GitHub, per repository.** Nothing is configured per repository: GitHub credentials are set once, and every repository an agent owns or watches is tracked on its own, by polling or by webhook.
|
|
65
85
|
- **You reach it from anywhere.** The CLI, Telegram (a forum topic per agent), and a REST + Socket.IO API for your own dashboard or automation. The backbone ships no UI.
|
|
66
86
|
|
|
67
87
|
## Runtimes
|
|
68
88
|
|
|
69
|
-
Any CLI that runs in a terminal can be an agent; how much the backbone can do for it depends on the runtime
|
|
89
|
+
Any CLI that runs in a terminal can be an agent; how much the backbone can do for it depends on the runtime.
|
|
70
90
|
|
|
71
91
|
| Runtime | Unattended start | Brief at launch | State detection | Delivery | Approve |
|
|
72
92
|
|---|---|---|---|---|---|
|
|
73
93
|
| `claude` (Claude Code) | ✅ | ✅ system prompt | ✅ hooks + terminal | ✅ verified | ✅ |
|
|
74
|
-
| `codex` | ✅ | ✅ first prompt | ✅ terminal | ✅ verified | ✅ |
|
|
75
|
-
| `opencode` | ✅ (no trust dialog) | ✅ first prompt | ✅ terminal | ✅ verified | ✅ |
|
|
94
|
+
| `codex` | ✅ | ✅ first prompt | ✅ hooks + terminal | ✅ verified | ✅ |
|
|
95
|
+
| `opencode` | ✅ (no trust dialog) | ✅ first prompt | ✅ hooks + terminal | ✅ verified | ✅ |
|
|
76
96
|
| `deepcode` (Deep Code, DeepSeek) | ✅ (no trust dialog) | ✅ `-p` | ✅ terminal | ✅ verified | pending |
|
|
77
|
-
| `gemini` | ✅ `--skip-trust` | ✅ first prompt | ✅ terminal | unverified¹ | — |
|
|
78
|
-
| `aider
|
|
97
|
+
| `gemini` | ✅ `--skip-trust` | ✅ first prompt | ✅ hooks + terminal | unverified¹ | — |
|
|
98
|
+
| `aider` | — | first message | terminal, best effort | untested | — |
|
|
99
|
+
| `shell` | — | none | terminal, best effort | — | — |
|
|
79
100
|
|
|
80
101
|
¹ Gemini CLI 0.46 completes Google OAuth and then refuses personal accounts ("no longer supported for Gemini Code Assist for individuals"); the backbone reports such a session as `waiting_for_human`. Delivery to a signed-in Gemini session (e.g. `GEMINI_API_KEY`) has not been tested yet. Deep Code is `@vegamo/deepcode-cli`, the community CLI DeepSeek's docs point to; its permission dialog has not been captured yet, so `agent approve` refuses it until then.
|
|
81
102
|
|
|
82
103
|
`backbone runtimes` lists every runtime, whether its binary is installed, and example model ids. The backbone does not manage per-repository runtime configuration (`CLAUDE.md`, `AGENTS.md`, MCP servers, …) — how a repository configures its tools is the repository's business.
|
|
83
104
|
|
|
84
|
-
##
|
|
105
|
+
## Going further
|
|
106
|
+
|
|
107
|
+
Each of these is one command or one short setup, and each has its own page.
|
|
85
108
|
|
|
86
|
-
|
|
109
|
+
### GitHub Issues as the task list
|
|
87
110
|
|
|
88
111
|
```bash
|
|
89
112
|
gh auth token | backbone secrets set GITHUB_TOKEN # the backbone's own .env, never a repo's
|
|
90
113
|
backbone service install # restart to pick it up
|
|
91
114
|
```
|
|
92
115
|
|
|
93
|
-
That is poll intake (every 60 s, nothing exposed). For instant delivery and automatic coverage of every repository you create, do the one-time GitHub App + webhook setup: [GitHub App setup](https://github.com/eandualem/agent-backbone/blob/main/docs/github-app-setup.md).
|
|
116
|
+
That is poll intake (every 60 s, nothing exposed) in every repository an agent owns or watches. For instant delivery and automatic coverage of every repository you create, do the one-time GitHub App + webhook setup: [GitHub App setup](https://github.com/eandualem/agent-backbone/blob/main/docs/github-app-setup.md).
|
|
94
117
|
|
|
95
|
-
|
|
118
|
+
### Orchestrators, swarms, Telegram, your own view
|
|
119
|
+
|
|
120
|
+
- **An orchestrator** watches the repositories it coordinates — `backbone agent start --watch acme/app --watch acme/web` — and opens issues for the others with `for:` and `from:` labels.
|
|
121
|
+
- **A swarm** puts parallel workers on one issue: [Swarms](https://github.com/eandualem/agent-backbone/blob/main/docs/swarms.md).
|
|
122
|
+
- **Telegram** gives every agent a topic you can talk to from your phone: [Telegram](https://github.com/eandualem/agent-backbone/blob/main/docs/telegram.md).
|
|
123
|
+
- **Your own dashboard or automation** builds on the [API](https://github.com/eandualem/agent-backbone/blob/main/docs/api.md).
|
|
96
124
|
|
|
97
125
|
## How it relates to other tools
|
|
98
126
|
|
|
99
127
|
Session managers such as [claude-squad](https://github.com/smtg-ai/claude-squad), [agent-manager](https://github.com/YoanWai/agent-manager) and [vibe-kanban](https://github.com/BloopAI/vibe-kanban) give you one screen over many agent sessions, with worktrees and diff review; they are about the person operating the agents. agent-backbone is about what happens between the agents: addressing a live agent from outside its terminal, delivering only when it is safe, routing work through issues, and letting agents manage each other. Claude Code's Agent Teams offer collaboration inside a single Claude Code session; the backbone works across CLIs and vendors, persists agents beyond a session, and reaches them from GitHub and Telegram. Orchestrators such as [cli-agent-orchestrator](https://github.com/awslabs/cli-agent-orchestrator) are the closest structural peers; the differences are in the delivery model and the GitHub integration, and both are worth reading before you choose.
|
|
100
128
|
|
|
101
|
-
|
|
129
|
+
**Why a backbone when Claude Code has cross-session messaging and an agent view built in?** Those are for Claude sessions on one machine, run by one person. The backbone is for the agents you run as a fleet: it works across runtimes and vendors, uses GitHub Issues as the shared queue so work has a record outside any session, lets agents approve each other's prompts with an audit trail, carries evidence with every state reading, and reaches you on your phone. If all your agents are Claude Code and you are watching them, the built-in tools may be enough; the backbone starts paying off when they are not.
|
|
130
|
+
|
|
131
|
+
## Security model
|
|
102
132
|
|
|
103
|
-
The backbone types into your agents' terminals, so be clear about what it assumes:
|
|
133
|
+
The backbone types into your agents' terminals, so be clear about what it assumes. Full detail: [Security](https://github.com/eandualem/agent-backbone/blob/main/docs/security.md).
|
|
104
134
|
|
|
105
135
|
- **One trusted user, one machine.** It runs as your OS user and drives tmux sessions that run as your OS user. There is **no isolation between agents**.
|
|
106
136
|
- **One key, full admin.** `BACKBONE_API_KEY` guards every authenticated route with the same weight. The CLI reads it from the data directory, so any session on the machine can use `backbone tell`; there is no scoped or read-only credential yet.
|
|
@@ -108,8 +138,6 @@ The backbone types into your agents' terminals, so be clear about what it assume
|
|
|
108
138
|
- **Provenance is convention, not authentication.** `[via:backbone from:app]` says who *claims* to be speaking. An agent's instructions should treat text after an envelope as data, not orders.
|
|
109
139
|
- **Bound to `127.0.0.1` by default.** Put TLS and auth in front of it before exposing it.
|
|
110
140
|
|
|
111
|
-
Full detail: [Security](https://github.com/eandualem/agent-backbone/blob/main/docs/security.md).
|
|
112
|
-
|
|
113
141
|
## Background
|
|
114
142
|
|
|
115
143
|
agent-backbone began as one component of a larger, private orchestration system. That system's coupling was its weakness — every part assumed every other part — so the backbone was extracted and rebuilt as a standalone control plane with no dependency on any of it. It needs nothing but tmux and an agent CLI. Issue references to `eandualem/orchestration` predate the split and point at a private repository.
|
|
@@ -118,19 +146,10 @@ The repository is itself run through the backbone: most of its issues, reviews a
|
|
|
118
146
|
|
|
119
147
|
## Documentation
|
|
120
148
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
| [Concepts](https://github.com/eandualem/agent-backbone/blob/main/docs/concepts.md) | The vocabulary: agent, repository, state, delivery, event |
|
|
126
|
-
| [Getting started](https://github.com/eandualem/agent-backbone/blob/main/docs/getting-started.md) | Install, start two agents, send the first message, add GitHub |
|
|
127
|
-
| [How it works](https://github.com/eandualem/agent-backbone/blob/main/docs/how-it-works.md) | Every flow step by step, with the decisions the backbone makes |
|
|
128
|
-
| [Configuration](https://github.com/eandualem/agent-backbone/blob/main/docs/configuration.md) | Settings (`backbone config`), secrets, the data directory |
|
|
129
|
-
| [CLI](https://github.com/eandualem/agent-backbone/blob/main/docs/cli.md) · [API](https://github.com/eandualem/agent-backbone/blob/main/docs/api.md) | Reference |
|
|
130
|
-
| [GitHub](https://github.com/eandualem/agent-backbone/blob/main/docs/github.md) · [App setup walkthrough](https://github.com/eandualem/agent-backbone/blob/main/docs/github-app-setup.md) · [Integrations](https://github.com/eandualem/agent-backbone/blob/main/docs/integrations.md) · [Telegram](https://github.com/eandualem/agent-backbone/blob/main/docs/telegram.md) | Integrations |
|
|
131
|
-
| [Swarms](https://github.com/eandualem/agent-backbone/blob/main/docs/swarms.md) | A coordinator plus members on one issue |
|
|
132
|
-
| [Security](https://github.com/eandualem/agent-backbone/blob/main/docs/security.md) | Defaults and what you opt into |
|
|
133
|
-
| [Status and roadmap](https://github.com/eandualem/agent-backbone/blob/main/docs/status-and-roadmap.md) | What works, what is missing, what is next |
|
|
149
|
+
Start with [Quick usage](USAGE.md) or the [documentation index](docs/INDEX.md).
|
|
150
|
+
Every page ships with the package: `backbone docs index` gives the reading guide;
|
|
151
|
+
`backbone docs <page>` opens a reference. Agent playbooks live in [help/](help/),
|
|
152
|
+
and injected instructions live in [templates/](templates/).
|
|
134
153
|
|
|
135
154
|
## Development
|
|
136
155
|
|
|
@@ -147,3 +166,5 @@ make dev # backbone up --reload
|
|
|
147
166
|
## License
|
|
148
167
|
|
|
149
168
|
MIT — see [LICENSE](https://github.com/eandualem/agent-backbone/blob/main/LICENSE).
|
|
169
|
+
|
|
170
|
+
Injected instructions are separate from help: see [templates/](templates/) and [the templates guide](docs/templates.md). Use `backbone templates list` to inspect an installed Backbone.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Quick usage
|
|
2
|
+
|
|
3
|
+
**Open this guide in your terminal: `backbone usage`** (`ab usage` works too).
|
|
4
|
+
`backbone docs usage` opens the same page. Use `backbone --help` for all commands.
|
|
5
|
+
|
|
6
|
+
Prefer an agent to handle setup? Point it to [README.md](README.md) and ask it
|
|
7
|
+
to follow `backbone help setup`.
|
|
8
|
+
|
|
9
|
+
## Start Backbone manually
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
uv tool install "agent-backbone[github-app]"
|
|
13
|
+
backbone init
|
|
14
|
+
backbone service install # start now and at login
|
|
15
|
+
backbone status
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Without a login service (for example, in a container), use `backbone up --detach`.
|
|
19
|
+
Run `backbone doctor` if setup needs attention.
|
|
20
|
+
|
|
21
|
+
## Work with an agent
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
cd ~/code/app
|
|
25
|
+
backbone agent start --runtime codex --model gpt-6-astra:high
|
|
26
|
+
backbone agent attach app # open its terminal; Ctrl-b d detaches
|
|
27
|
+
backbone agent start app # continue its saved conversation if stopped
|
|
28
|
+
backbone agent start app --fresh # new conversation, same CLI and model
|
|
29
|
+
backbone updates # latest progress from the team
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
An already running agent stays running. Starting from its directory also finds
|
|
33
|
+
its registered name. Choose `--runtime` and `--model` explicitly to change them;
|
|
34
|
+
changing CLI without a model clears the old CLI's model setting.
|
|
35
|
+
|
|
36
|
+
## Read agent progress
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
backbone updates # latest reports from the team
|
|
40
|
+
backbone updates --agent Feynman # one agent's latest report
|
|
41
|
+
backbone updates --agent Feynman --history # its earlier reports
|
|
42
|
+
backbone updates show 12 # full report and links (use an ID shown above)
|
|
43
|
+
backbone updates --limit 20 # a larger page
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
When a page has more results, it prints the command for the next page. Reports
|
|
47
|
+
show goals, progress, blockers and next steps. “No report yet” means that agent
|
|
48
|
+
has not published one. Reading reports does not interrupt agents or ask them to
|
|
49
|
+
produce one. `backbone status` shows whether agents are working; `backbone updates`
|
|
50
|
+
shows what they say they have accomplished.
|
|
51
|
+
|
|
52
|
+
In Telegram, use `/updates`, `/updates Feynman`, `/updates history Feynman`, or
|
|
53
|
+
`/updates show 12`. Each new report is also posted automatically to the configured
|
|
54
|
+
agents group and, for ordinary agents, the agent’s own topic, with buttons for the full report and team feed. Delivery retries
|
|
55
|
+
when Telegram is unavailable; older reports from before this feature are not sent.
|
|
56
|
+
|
|
57
|
+
## Publish your progress (for agents)
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
backbone report --example > progress.json
|
|
61
|
+
# Replace the example with your goal, progress, blockers and next steps.
|
|
62
|
+
backbone report --file progress.json --validate
|
|
63
|
+
backbone report --file progress.json
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The author defaults to the current agent; use `--agent NAME` outside an agent
|
|
67
|
+
session. Reports must be short; oversized reports are rejected. See
|
|
68
|
+
`backbone help reports` for the section limits and when to publish.
|
|
69
|
+
|
|
70
|
+
## Rename an agent
|
|
71
|
+
|
|
72
|
+
Wait until the agent finishes its work, then:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
backbone agent stop planner
|
|
76
|
+
backbone agent rename planner Feynman
|
|
77
|
+
backbone agent start Feynman --attach
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
The directory, settings, watches and saved conversation ID stay with the agent.
|
|
81
|
+
Use the new name in messages, scripts and external `for:` labels. Renaming requires
|
|
82
|
+
a stopped agent; active swarm members cannot be renamed.
|
|
83
|
+
|
|
84
|
+
## Find more
|
|
85
|
+
|
|
86
|
+
- `backbone agent start --help` — command options.
|
|
87
|
+
- `backbone templates list` — injected instructions you can inspect and edit.
|
|
88
|
+
- `backbone docs index` — the [documentation reading guide](docs/INDEX.md).
|
|
89
|
+
- `backbone docs usage` — this page from an installed package.
|
|
90
|
+
|
|
91
|
+
Ordinary agent reports appear in General and the agent's topic, with separate
|
|
92
|
+
delivery receipts. Swarm participants, including coordinators, cannot publish human-facing reports.
|
|
93
|
+
Only their repository agent reports consolidated progress to the owner. Optional full-report voice messages can be enabled with
|
|
94
|
+
`backbone config set telegram.report_audio true` after local speech setup.
|
|
95
|
+
See `backbone docs report-audio` for the model, service, voice and FFmpeg setup.
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
During long work, agents can read corrections themselves without waiting for
|
|
99
|
+
terminal delivery: `backbone inbox` (or `--agent NAME`). After applying or
|
|
100
|
+
superseding messages, use `backbone inbox --ack TOKEN ...`. Check between meaningful
|
|
101
|
+
steps and before a commit or handoff. Details: `backbone help messaging`.
|
|
102
|
+
|
|
103
|
+
For `--ack`, copy each complete `ack_token` from the inbox response. Numeric row
|
|
104
|
+
IDs alone cannot acknowledge work; tokens prevent stale acknowledgements from
|
|
105
|
+
consuming a different message after queue cleanup.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Documentation index
|
|
2
|
+
|
|
3
|
+
Start with [Quick usage](../USAGE.md) for everyday commands. Each page is also
|
|
4
|
+
available as `backbone docs PAGE` after installation (for example,
|
|
5
|
+
`backbone docs getting-started`). Filenames stay stable so saved links keep working.
|
|
6
|
+
|
|
7
|
+
## 1. Get started
|
|
8
|
+
|
|
9
|
+
1. [Getting started](getting-started.md) — install, start agents and send a message.
|
|
10
|
+
2. [Concepts](concepts.md) — names, runtimes, states and delivery conditions.
|
|
11
|
+
3. [CLI reference](cli.md) — start, resume, attach, rename and configure agents.
|
|
12
|
+
|
|
13
|
+
## 2. Run your team
|
|
14
|
+
|
|
15
|
+
- [Report audio](report-audio.md) — optional local read-aloud in Telegram.
|
|
16
|
+
- [Progress reports](reports.md) — goals, progress, blockers and next steps.
|
|
17
|
+
- [Instruction templates](templates.md) — edit base, role and tag instructions.
|
|
18
|
+
- [Deep reviews](deep-reviews.md) — run reviews in the background and retrieve findings.
|
|
19
|
+
- [Swarms](swarms.md) — coordinate several agents on one task.
|
|
20
|
+
- [Configuration](configuration.md) — settings, secrets and data locations.
|
|
21
|
+
- [Diagnostics](diagnostics.md) — investigate failures, retries and startup problems.
|
|
22
|
+
|
|
23
|
+
## 3. Connect other tools
|
|
24
|
+
|
|
25
|
+
- [GitHub](github.md) — issue routing and review notifications.
|
|
26
|
+
- [GitHub App setup](github-app-setup.md) — configure webhook intake.
|
|
27
|
+
- [Telegram](telegram.md) — talk to agents and read updates from your phone.
|
|
28
|
+
- [API reference](api.md) — build scripts and dashboards.
|
|
29
|
+
- [Integrations](integrations.md) — add another communication channel.
|
|
30
|
+
|
|
31
|
+
## 4. Understand and contribute
|
|
32
|
+
|
|
33
|
+
- [How it works](how-it-works.md) — follow requests through the system.
|
|
34
|
+
- [Security](security.md) — trust boundaries and defaults.
|
|
35
|
+
- [Status and roadmap](status-and-roadmap.md) — verified capabilities and remaining work.
|
|
36
|
+
- [Contributing](../CONTRIBUTING.md) — development and checks.
|
|
37
|
+
|
|
38
|
+
## Help, templates and media
|
|
39
|
+
|
|
40
|
+
[Help](../help/) contains short playbooks agents request with `backbone help`.
|
|
41
|
+
[Templates](../templates/) contains instructions injected at launch.
|
|
42
|
+
[Media](media/) contains documentation illustrations and recordings.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# Documentation
|
|
2
|
+
|
|
3
|
+
Open [INDEX.md](INDEX.md) for the reading order and grouped reference pages.
|
|
4
|
+
For everyday commands, start with [Quick usage](../USAGE.md).
|
|
5
|
+
|
|
6
|
+
Installed package: `backbone docs index` or `backbone docs usage`.
|
|
7
|
+
Agent playbooks: `backbone help`. Injected instructions: `backbone templates list`.
|