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.
Files changed (249) hide show
  1. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/.gitignore +4 -0
  2. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/PKG-INFO +63 -41
  3. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/README.md +60 -39
  4. agent_backbone-0.2.0/USAGE.md +105 -0
  5. agent_backbone-0.2.0/docs/INDEX.md +42 -0
  6. agent_backbone-0.2.0/docs/README.md +7 -0
  7. agent_backbone-0.2.0/docs/api.md +502 -0
  8. agent_backbone-0.2.0/docs/cli.md +567 -0
  9. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/concepts.md +63 -17
  10. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/configuration.md +76 -9
  11. agent_backbone-0.2.0/docs/deep-reviews.md +100 -0
  12. agent_backbone-0.2.0/docs/diagnostics.md +243 -0
  13. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/getting-started.md +95 -17
  14. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/github-app-setup.md +3 -3
  15. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/github.md +112 -6
  16. agent_backbone-0.2.0/docs/how-it-works.md +454 -0
  17. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/integrations.md +3 -2
  18. agent_backbone-0.2.0/docs/media/demo.gif +0 -0
  19. agent_backbone-0.2.0/docs/report-audio.md +81 -0
  20. agent_backbone-0.2.0/docs/reports.md +195 -0
  21. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/security.md +63 -8
  22. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/docs/status-and-roadmap.md +37 -19
  23. agent_backbone-0.2.0/docs/swarms.md +239 -0
  24. agent_backbone-0.2.0/docs/telegram.md +179 -0
  25. agent_backbone-0.2.0/docs/templates.md +120 -0
  26. agent_backbone-0.2.0/examples/report_speech_server.py +65 -0
  27. agent_backbone-0.2.0/help/agents.md +98 -0
  28. {agent_backbone-0.1.0/src/agent_backbone/help/topics → agent_backbone-0.2.0/help}/github.md +1 -1
  29. agent_backbone-0.2.0/help/messaging.md +90 -0
  30. agent_backbone-0.2.0/help/reports.md +118 -0
  31. agent_backbone-0.2.0/help/reviews.md +24 -0
  32. agent_backbone-0.2.0/help/swarms.md +115 -0
  33. agent_backbone-0.2.0/help/templates.md +30 -0
  34. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/pyproject.toml +8 -4
  35. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/app.py +92 -13
  36. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/models.py +101 -58
  37. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/agents.py +120 -30
  38. agent_backbone-0.2.0/src/agent_backbone/api/routes/diagnostics.py +187 -0
  39. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/integrations.py +11 -2
  40. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/issues.py +25 -3
  41. agent_backbone-0.2.0/src/agent_backbone/api/routes/messages.py +113 -0
  42. agent_backbone-0.2.0/src/agent_backbone/api/routes/plans.py +192 -0
  43. agent_backbone-0.2.0/src/agent_backbone/api/routes/reports.py +170 -0
  44. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/status.py +51 -13
  45. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/swarms.py +6 -1
  46. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/webhook.py +34 -1
  47. agent_backbone-0.2.0/src/agent_backbone/api/session_updates.py +101 -0
  48. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/socketio_server.py +18 -5
  49. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/__init__.py +132 -15
  50. agent_backbone-0.2.0/src/agent_backbone/cli/_common.py +213 -0
  51. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/agents.py +223 -48
  52. agent_backbone-0.2.0/src/agent_backbone/cli/completion.py +410 -0
  53. agent_backbone-0.2.0/src/agent_backbone/cli/diagnostics.py +241 -0
  54. agent_backbone-0.2.0/src/agent_backbone/cli/instructions.py +239 -0
  55. agent_backbone-0.2.0/src/agent_backbone/cli/reports.py +307 -0
  56. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/server.py +37 -71
  57. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/service.py +29 -1
  58. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/setup.py +63 -18
  59. agent_backbone-0.2.0/src/agent_backbone/cli/status.py +346 -0
  60. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/swarms.py +52 -11
  61. agent_backbone-0.2.0/src/agent_backbone/cli/upgrade.py +177 -0
  62. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/config.py +197 -12
  63. agent_backbone-0.2.0/src/agent_backbone/git.py +116 -0
  64. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/help/__init__.py +34 -26
  65. agent_backbone-0.2.0/src/agent_backbone/hooks/__init__.py +14 -0
  66. agent_backbone-0.2.0/src/agent_backbone/hooks/backbone_state.py +543 -0
  67. agent_backbone-0.2.0/src/agent_backbone/hooks/claude_hook.py +108 -0
  68. agent_backbone-0.2.0/src/agent_backbone/hooks/codex_hook.py +88 -0
  69. agent_backbone-0.2.0/src/agent_backbone/hooks/gemini_hook.py +85 -0
  70. agent_backbone-0.2.0/src/agent_backbone/hooks/install.py +133 -0
  71. agent_backbone-0.2.0/src/agent_backbone/hooks/opencode_hook.js +161 -0
  72. agent_backbone-0.2.0/src/agent_backbone/models.py +488 -0
  73. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/recent.py +11 -4
  74. agent_backbone-0.2.0/src/agent_backbone/release.py +147 -0
  75. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/agents/__init__.py +31 -3
  76. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/agents/_file_reader.py +23 -5
  77. agent_backbone-0.2.0/src/agent_backbone/services/agents/_inference.py +391 -0
  78. agent_backbone-0.2.0/src/agent_backbone/services/agents/_locks.py +51 -0
  79. agent_backbone-0.2.0/src/agent_backbone/services/agents/_validation.py +58 -0
  80. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/agents/acknowledgement.py +50 -0
  81. agent_backbone-0.2.0/src/agent_backbone/services/agents/audit.py +45 -0
  82. agent_backbone-0.2.0/src/agent_backbone/services/agents/instructions.py +91 -0
  83. agent_backbone-0.2.0/src/agent_backbone/services/agents/launch.py +577 -0
  84. agent_backbone-0.2.0/src/agent_backbone/services/agents/models.py +112 -0
  85. agent_backbone-0.2.0/src/agent_backbone/services/agents/operations.py +190 -0
  86. agent_backbone-0.2.0/src/agent_backbone/services/agents/queries.py +173 -0
  87. agent_backbone-0.2.0/src/agent_backbone/services/agents/store.py +360 -0
  88. agent_backbone-0.2.0/src/agent_backbone/services/database/__init__.py +21 -0
  89. agent_backbone-0.2.0/src/agent_backbone/services/database/_agents_repo.py +243 -0
  90. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_delivery_repo.py +61 -13
  91. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_dependencies_repo.py +28 -0
  92. agent_backbone-0.2.0/src/agent_backbone/services/database/_diagnostics_repo.py +368 -0
  93. agent_backbone-0.2.0/src/agent_backbone/services/database/_events_repo.py +195 -0
  94. agent_backbone-0.2.0/src/agent_backbone/services/database/_outbox_repo.py +142 -0
  95. agent_backbone-0.2.0/src/agent_backbone/services/database/_queue_repo.py +500 -0
  96. agent_backbone-0.2.0/src/agent_backbone/services/database/_reports_repo.py +427 -0
  97. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/backbone_db.py +98 -15
  98. 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
  99. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/models.py +145 -9
  100. agent_backbone-0.2.0/src/agent_backbone/services/github/__init__.py +13 -0
  101. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/github/interface.py +84 -19
  102. agent_backbone-0.2.0/src/agent_backbone/services/github/reviews.py +58 -0
  103. agent_backbone-0.2.0/src/agent_backbone/services/github/snapshot.py +52 -0
  104. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/_notify.py +20 -18
  105. agent_backbone-0.2.0/src/agent_backbone/services/integrations/_registry.py +189 -0
  106. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/base.py +27 -2
  107. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_commands.py +162 -19
  108. agent_backbone-0.2.0/src/agent_backbone/services/integrations/telegram/_report_delivery.py +159 -0
  109. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_routing.py +45 -12
  110. agent_backbone-0.2.0/src/agent_backbone/services/integrations/telegram/_speech.py +100 -0
  111. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_topic_discovery.py +61 -14
  112. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/_topics.py +7 -1
  113. agent_backbone-0.2.0/src/agent_backbone/services/integrations/telegram/_updates.py +243 -0
  114. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/interface.py +106 -11
  115. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/__init__.py +3 -1
  116. agent_backbone-0.2.0/src/agent_backbone/services/jobs/diagnostics.py +137 -0
  117. agent_backbone-0.2.0/src/agent_backbone/services/jobs/escalation.py +453 -0
  118. agent_backbone-0.2.0/src/agent_backbone/services/jobs/github_poll.py +310 -0
  119. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/monitor.py +111 -11
  120. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/pending.py +15 -13
  121. agent_backbone-0.2.0/src/agent_backbone/services/jobs/retry.py +425 -0
  122. agent_backbone-0.2.0/src/agent_backbone/services/jobs/upgrade_watch.py +77 -0
  123. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/__init__.py +32 -4
  124. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_create_notify.py +15 -13
  125. agent_backbone-0.2.0/src/agent_backbone/services/routing/_delivery.py +559 -0
  126. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_dependencies.py +18 -13
  127. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_format.py +104 -4
  128. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_ingest.py +74 -9
  129. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_intelligence.py +28 -2
  130. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_lifecycle.py +44 -26
  131. agent_backbone-0.2.0/src/agent_backbone/services/routing/_outbox.py +149 -0
  132. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_priority.py +13 -1
  133. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_router.py +176 -23
  134. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_targets.py +32 -6
  135. agent_backbone-0.2.0/src/agent_backbone/services/routing/_validity.py +38 -0
  136. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/models.py +4 -0
  137. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/__init__.py +30 -44
  138. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/_opencode_launch.py +42 -0
  139. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/_pane.py +3 -0
  140. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/aider.py +1 -0
  141. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/base.py +826 -0
  142. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/catalog.json +37 -0
  143. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/claude.py +231 -0
  144. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/codex.py +326 -0
  145. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/gemini.py +106 -0
  146. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/opencode.py +116 -0
  147. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/scheduler.py +86 -8
  148. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/__init__.py +7 -1
  149. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/_roster.py +13 -5
  150. agent_backbone-0.2.0/src/agent_backbone/services/swarm/_templates.py +39 -0
  151. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/_worktree.py +33 -6
  152. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/swarm/interface.py +179 -60
  153. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/__init__.py +2 -0
  154. agent_backbone-0.2.0/src/agent_backbone/services/terminal/_attach.py +25 -0
  155. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_copy_mode.py +2 -2
  156. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_core.py +31 -10
  157. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_pty.py +107 -21
  158. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/terminal/_sessions.py +28 -9
  159. agent_backbone-0.2.0/src/agent_backbone/templates.py +127 -0
  160. agent_backbone-0.2.0/templates/README.md +17 -0
  161. agent_backbone-0.2.0/templates/base.md +62 -0
  162. agent_backbone-0.2.0/templates/policies/python-example.md +5 -0
  163. agent_backbone-0.2.0/templates/swarm/common.md +66 -0
  164. agent_backbone-0.2.0/templates/swarm/coordinator.md +82 -0
  165. agent_backbone-0.2.0/templates/swarm/kickoff.md +1 -0
  166. agent_backbone-0.2.0/tests/unit/help/__init__.py +0 -0
  167. agent_backbone-0.2.0/tests/unit/help/test_help.py +91 -0
  168. agent_backbone-0.1.0/docs/README.md +0 -28
  169. agent_backbone-0.1.0/docs/api.md +0 -243
  170. agent_backbone-0.1.0/docs/cli.md +0 -219
  171. agent_backbone-0.1.0/docs/how-it-works.md +0 -270
  172. agent_backbone-0.1.0/docs/swarms.md +0 -136
  173. agent_backbone-0.1.0/docs/telegram.md +0 -108
  174. agent_backbone-0.1.0/src/agent_backbone/api/routes/messages.py +0 -58
  175. agent_backbone-0.1.0/src/agent_backbone/api/routes/plans.py +0 -139
  176. agent_backbone-0.1.0/src/agent_backbone/api/session_updates.py +0 -184
  177. agent_backbone-0.1.0/src/agent_backbone/cli/_common.py +0 -113
  178. agent_backbone-0.1.0/src/agent_backbone/git.py +0 -52
  179. agent_backbone-0.1.0/src/agent_backbone/help/agent-brief.md +0 -39
  180. agent_backbone-0.1.0/src/agent_backbone/help/topics/agents.md +0 -49
  181. agent_backbone-0.1.0/src/agent_backbone/help/topics/messaging.md +0 -41
  182. agent_backbone-0.1.0/src/agent_backbone/help/topics/swarms.md +0 -60
  183. agent_backbone-0.1.0/src/agent_backbone/hooks/__init__.py +0 -10
  184. agent_backbone-0.1.0/src/agent_backbone/hooks/claude_hook.py +0 -251
  185. agent_backbone-0.1.0/src/agent_backbone/hooks/install.py +0 -160
  186. agent_backbone-0.1.0/src/agent_backbone/models.py +0 -201
  187. agent_backbone-0.1.0/src/agent_backbone/services/agents/_inference.py +0 -163
  188. agent_backbone-0.1.0/src/agent_backbone/services/agents/launch.py +0 -342
  189. agent_backbone-0.1.0/src/agent_backbone/services/agents/models.py +0 -69
  190. agent_backbone-0.1.0/src/agent_backbone/services/agents/operations.py +0 -101
  191. agent_backbone-0.1.0/src/agent_backbone/services/agents/store.py +0 -214
  192. agent_backbone-0.1.0/src/agent_backbone/services/database/__init__.py +0 -7
  193. agent_backbone-0.1.0/src/agent_backbone/services/database/_agents_repo.py +0 -116
  194. agent_backbone-0.1.0/src/agent_backbone/services/database/_events_repo.py +0 -104
  195. agent_backbone-0.1.0/src/agent_backbone/services/database/_queue_repo.py +0 -150
  196. agent_backbone-0.1.0/src/agent_backbone/services/github/__init__.py +0 -5
  197. agent_backbone-0.1.0/src/agent_backbone/services/integrations/_registry.py +0 -92
  198. agent_backbone-0.1.0/src/agent_backbone/services/jobs/escalation.py +0 -243
  199. agent_backbone-0.1.0/src/agent_backbone/services/jobs/github_poll.py +0 -190
  200. agent_backbone-0.1.0/src/agent_backbone/services/jobs/retry.py +0 -173
  201. agent_backbone-0.1.0/src/agent_backbone/services/routing/_delivery.py +0 -287
  202. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/base.py +0 -396
  203. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/claude.py +0 -117
  204. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/codex.py +0 -103
  205. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/gemini.py +0 -55
  206. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/opencode.py +0 -40
  207. agent_backbone-0.1.0/src/agent_backbone/services/swarm/_templates.py +0 -28
  208. agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates/common.md +0 -42
  209. agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates/coordinator.md +0 -45
  210. agent_backbone-0.1.0/src/agent_backbone/templates.py +0 -28
  211. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/LICENSE +0 -0
  212. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/alembic.ini +0 -0
  213. {agent_backbone-0.1.0/src/agent_backbone/help/topics → agent_backbone-0.2.0/help}/setup.md +0 -0
  214. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/__init__.py +0 -0
  215. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/__init__.py +0 -0
  216. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/auth.py +0 -0
  217. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/deps.py +0 -0
  218. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/__init__.py +0 -0
  219. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/config.py +0 -0
  220. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/deliveries.py +0 -0
  221. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/events.py +0 -0
  222. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/api/routes/help.py +0 -0
  223. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/base/__init__.py +0 -0
  224. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/base/lifecycle.py +0 -0
  225. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/base/protocols.py +0 -0
  226. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/cli/__main__.py +0 -0
  227. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/fs.py +0 -0
  228. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/__init__.py +0 -0
  229. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_acks_repo.py +0 -0
  230. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_repo.py +0 -0
  231. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_settings_repo.py +0 -0
  232. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_state_repo.py +0 -0
  233. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_swarms_repo.py +0 -0
  234. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/_time.py +0 -0
  235. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/base.py +0 -0
  236. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/engine.py +0 -0
  237. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/migrations/env.py +0 -0
  238. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/database/migrations/script.py.mako +0 -0
  239. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/__init__.py +0 -0
  240. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/integrations/telegram/__init__.py +0 -0
  241. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/jobs/copy_mode.py +0 -0
  242. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_dedup.py +0 -0
  243. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/routing/_resolution.py +0 -0
  244. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/deepcode.py +0 -0
  245. {agent_backbone-0.1.0 → agent_backbone-0.2.0}/src/agent_backbone/services/runtimes/shell.py +0 -0
  246. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/coder.md +0 -0
  247. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/reviewer.md +0 -0
  248. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/scout.md +0 -0
  249. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.2.0/templates/swarm}/worker.md +0 -0
@@ -18,6 +18,10 @@ coverage_html/
18
18
  *.db
19
19
  *.db-journal
20
20
 
21
+ # Backbone-local, never shared: swarm worktrees and the agents' shared memory
22
+ # (.backbone/memory — see AGENTS.md)
23
+ .backbone/
24
+
21
25
  # Editors / OS
22
26
  .idea/
23
27
  .vscode/
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agent-backbone
3
- Version: 0.1.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/README.md
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
- **What it enables**
52
+ ![An agent installs agent-backbone from PyPI, sets it up, starts a Claude Code agent and an OpenCode agent, splits the terminal to show them, and has them review each other's work](docs/media/demo.gif)
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
- Every agent the backbone starts is told at launch 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. You can watch any session at any time, or step in.
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
- > **Status:** pre-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.
79
+ ### Requirements
61
80
 
62
- ## Install
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
- Requirements: macOS or Linux, Python 3.11+, `tmux`, [uv](https://docs.astral.sh/uv/) (or pipx), and at least one agent CLI on your PATH.
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
- ### Setting up with an agent
95
+ ### Or let an agent do it
77
96
 
78
- The setup can be delegated to any agent that has a shell — a Claude Code, Codex or OpenCode session in one of your repositories:
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
- ## First run
103
+ ### First agent
85
104
 
86
- An agent is started from the directory of the repository it will work in. The agent takes the directory's name, and that repository becomes its responsibility.
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 reports its state through hooks the backbone installs for the session; every other runtime is read from its terminal. Every reading carries its evidence, visible in `backbone agent inspect`.
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 in [How it works](https://github.com/eandualem/agent-backbone/blob/main/docs/how-it-works.md).
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`, `shell` | — | first message | terminal, best effort | untested | — |
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
- ## Beyond the first run
145
+ ## Going further
146
+
147
+ Each of these is one command or one short setup, and each has its own page.
124
148
 
125
- **GitHub in two commands.** Issues become the agents' task list in every repository they own or watch:
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
- **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. **A swarm** puts parallel workers on one issue ([Swarms](https://github.com/eandualem/agent-backbone/blob/main/docs/swarms.md)). **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)). **Your own view** builds on the [API](https://github.com/eandualem/agent-backbone/blob/main/docs/api.md).
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
- ## The security model, up front
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
- Also available from an installed package as `backbone docs <page>`.
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
- **What it enables**
12
+ ![An agent installs agent-backbone from PyPI, sets it up, starts a Claude Code agent and an OpenCode agent, splits the terminal to show them, and has them review each other's work](docs/media/demo.gif)
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
- Every agent the backbone starts is told at launch 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. You can watch any session at any time, or step in.
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
- > **Status:** pre-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.
39
+ ### Requirements
22
40
 
23
- ## Install
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
- Requirements: macOS or Linux, Python 3.11+, `tmux`, [uv](https://docs.astral.sh/uv/) (or pipx), and at least one agent CLI on your PATH.
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
- ### Setting up with an agent
55
+ ### Or let an agent do it
38
56
 
39
- The setup can be delegated to any agent that has a shell — a Claude Code, Codex or OpenCode session in one of your repositories:
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
- ## First run
63
+ ### First agent
46
64
 
47
- An agent is started from the directory of the repository it will work in. The agent takes the directory's name, and that repository becomes its responsibility.
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 reports its state through hooks the backbone installs for the session; every other runtime is read from its terminal. Every reading carries its evidence, visible in `backbone agent inspect`.
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 in [How it works](https://github.com/eandualem/agent-backbone/blob/main/docs/how-it-works.md).
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`, `shell` | — | first message | terminal, best effort | untested | — |
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
- ## Beyond the first run
105
+ ## Going further
106
+
107
+ Each of these is one command or one short setup, and each has its own page.
85
108
 
86
- **GitHub in two commands.** Issues become the agents' task list in every repository they own or watch:
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
- **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. **A swarm** puts parallel workers on one issue ([Swarms](https://github.com/eandualem/agent-backbone/blob/main/docs/swarms.md)). **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)). **Your own view** builds on the [API](https://github.com/eandualem/agent-backbone/blob/main/docs/api.md).
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
- ## The security model, up front
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
- Also available from an installed package as `backbone docs <page>`.
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`.