agent-backbone 0.1.0__tar.gz → 0.3.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 (329) hide show
  1. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/.gitignore +4 -0
  2. agent_backbone-0.3.0/PKG-INFO +256 -0
  3. agent_backbone-0.3.0/README.md +217 -0
  4. agent_backbone-0.3.0/USAGE.md +118 -0
  5. agent_backbone-0.3.0/docs/INDEX.md +50 -0
  6. agent_backbone-0.3.0/docs/README.md +7 -0
  7. agent_backbone-0.3.0/docs/api.md +789 -0
  8. agent_backbone-0.3.0/docs/cli-presentation.md +102 -0
  9. agent_backbone-0.3.0/docs/cli.md +839 -0
  10. agent_backbone-0.3.0/docs/concepts.md +251 -0
  11. agent_backbone-0.3.0/docs/configuration.md +290 -0
  12. agent_backbone-0.3.0/docs/deep-reviews.md +288 -0
  13. agent_backbone-0.3.0/docs/diagnostics.md +321 -0
  14. agent_backbone-0.3.0/docs/getting-started.md +400 -0
  15. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/docs/github-app-setup.md +44 -54
  16. agent_backbone-0.3.0/docs/github.md +310 -0
  17. agent_backbone-0.3.0/docs/how-it-works.md +604 -0
  18. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/docs/integrations.md +14 -8
  19. agent_backbone-0.3.0/docs/media/banner.png +0 -0
  20. agent_backbone-0.3.0/docs/media/film-why-backbone.jpg +0 -0
  21. agent_backbone-0.3.0/docs/media/films.md +21 -0
  22. agent_backbone-0.3.0/docs/owner-confirmed-messages.md +554 -0
  23. agent_backbone-0.3.0/docs/report-audio.md +80 -0
  24. agent_backbone-0.3.0/docs/reports.md +195 -0
  25. agent_backbone-0.3.0/docs/runtime-capabilities.md +147 -0
  26. agent_backbone-0.3.0/docs/security.md +252 -0
  27. agent_backbone-0.3.0/docs/skills.md +181 -0
  28. agent_backbone-0.3.0/docs/sources.md +146 -0
  29. agent_backbone-0.3.0/docs/status-and-roadmap.md +96 -0
  30. agent_backbone-0.3.0/docs/swarms.md +255 -0
  31. agent_backbone-0.3.0/docs/telegram.md +167 -0
  32. agent_backbone-0.3.0/docs/templates.md +148 -0
  33. agent_backbone-0.3.0/docs/token-usage.md +160 -0
  34. agent_backbone-0.3.0/examples/report_speech_server.py +65 -0
  35. agent_backbone-0.3.0/help/agents.md +196 -0
  36. {agent_backbone-0.1.0/src/agent_backbone/help/topics → agent_backbone-0.3.0/help}/github.md +1 -1
  37. agent_backbone-0.3.0/help/messaging.md +114 -0
  38. agent_backbone-0.3.0/help/reports.md +118 -0
  39. agent_backbone-0.3.0/help/reviews.md +63 -0
  40. {agent_backbone-0.1.0/src/agent_backbone/help/topics → agent_backbone-0.3.0/help}/setup.md +47 -17
  41. agent_backbone-0.3.0/help/skills.md +105 -0
  42. agent_backbone-0.3.0/help/swarms.md +115 -0
  43. agent_backbone-0.3.0/help/templates.md +30 -0
  44. agent_backbone-0.3.0/help/token-usage.md +28 -0
  45. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/pyproject.toml +9 -6
  46. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/app.py +201 -15
  47. agent_backbone-0.3.0/src/agent_backbone/api/confirmations.py +136 -0
  48. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/deps.py +5 -0
  49. agent_backbone-0.3.0/src/agent_backbone/api/models.py +761 -0
  50. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/agents.py +280 -34
  51. agent_backbone-0.3.0/src/agent_backbone/api/routes/diagnostics.py +193 -0
  52. agent_backbone-0.3.0/src/agent_backbone/api/routes/fleet.py +93 -0
  53. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/integrations.py +11 -2
  54. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/issues.py +25 -3
  55. agent_backbone-0.3.0/src/agent_backbone/api/routes/messages.py +359 -0
  56. agent_backbone-0.3.0/src/agent_backbone/api/routes/plans.py +161 -0
  57. agent_backbone-0.3.0/src/agent_backbone/api/routes/reports.py +170 -0
  58. agent_backbone-0.3.0/src/agent_backbone/api/routes/signing.py +286 -0
  59. agent_backbone-0.3.0/src/agent_backbone/api/routes/skills.py +144 -0
  60. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/status.py +56 -13
  61. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/swarms.py +6 -1
  62. agent_backbone-0.3.0/src/agent_backbone/api/routes/usage.py +49 -0
  63. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/webhook.py +34 -1
  64. agent_backbone-0.3.0/src/agent_backbone/api/session_updates.py +139 -0
  65. agent_backbone-0.3.0/src/agent_backbone/api/signed.py +391 -0
  66. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/socketio_server.py +27 -7
  67. agent_backbone-0.3.0/src/agent_backbone/api/validation.py +227 -0
  68. agent_backbone-0.3.0/src/agent_backbone/cli/__init__.py +588 -0
  69. agent_backbone-0.3.0/src/agent_backbone/cli/_common.py +294 -0
  70. agent_backbone-0.3.0/src/agent_backbone/cli/agents.py +1097 -0
  71. agent_backbone-0.3.0/src/agent_backbone/cli/completion.py +421 -0
  72. agent_backbone-0.3.0/src/agent_backbone/cli/diagnostics.py +301 -0
  73. agent_backbone-0.3.0/src/agent_backbone/cli/fleet.py +164 -0
  74. agent_backbone-0.3.0/src/agent_backbone/cli/instructions.py +281 -0
  75. agent_backbone-0.3.0/src/agent_backbone/cli/presentation.py +145 -0
  76. agent_backbone-0.3.0/src/agent_backbone/cli/reports.py +294 -0
  77. agent_backbone-0.3.0/src/agent_backbone/cli/server.py +249 -0
  78. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/service.py +42 -4
  79. agent_backbone-0.3.0/src/agent_backbone/cli/setup.py +432 -0
  80. agent_backbone-0.3.0/src/agent_backbone/cli/signing.py +100 -0
  81. agent_backbone-0.3.0/src/agent_backbone/cli/skills.py +330 -0
  82. agent_backbone-0.3.0/src/agent_backbone/cli/status.py +392 -0
  83. agent_backbone-0.3.0/src/agent_backbone/cli/swarms.py +190 -0
  84. agent_backbone-0.3.0/src/agent_backbone/cli/upgrade.py +177 -0
  85. agent_backbone-0.3.0/src/agent_backbone/cli/usage.py +215 -0
  86. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/config.py +420 -18
  87. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/fs.py +2 -3
  88. agent_backbone-0.3.0/src/agent_backbone/git.py +123 -0
  89. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/help/__init__.py +34 -26
  90. agent_backbone-0.3.0/src/agent_backbone/hooks/__init__.py +14 -0
  91. agent_backbone-0.3.0/src/agent_backbone/hooks/backbone_state.py +1226 -0
  92. agent_backbone-0.3.0/src/agent_backbone/hooks/chrome_tab_names/background.js +66 -0
  93. agent_backbone-0.3.0/src/agent_backbone/hooks/chrome_tab_names/manifest.json +17 -0
  94. agent_backbone-0.3.0/src/agent_backbone/hooks/chrome_tab_names_host.py +79 -0
  95. agent_backbone-0.3.0/src/agent_backbone/hooks/claude_hook.py +249 -0
  96. agent_backbone-0.3.0/src/agent_backbone/hooks/codex_hook.py +422 -0
  97. agent_backbone-0.3.0/src/agent_backbone/hooks/gemini_hook.py +85 -0
  98. agent_backbone-0.3.0/src/agent_backbone/hooks/install.py +196 -0
  99. agent_backbone-0.3.0/src/agent_backbone/hooks/opencode_hook.js +575 -0
  100. agent_backbone-0.3.0/src/agent_backbone/models.py +502 -0
  101. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/recent.py +11 -9
  102. agent_backbone-0.3.0/src/agent_backbone/release.py +147 -0
  103. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/__init__.py +40 -4
  104. agent_backbone-0.3.0/src/agent_backbone/services/agents/_file_reader.py +264 -0
  105. agent_backbone-0.3.0/src/agent_backbone/services/agents/_inference.py +561 -0
  106. agent_backbone-0.3.0/src/agent_backbone/services/agents/_locks.py +51 -0
  107. agent_backbone-0.3.0/src/agent_backbone/services/agents/_validation.py +72 -0
  108. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/acknowledgement.py +52 -0
  109. agent_backbone-0.3.0/src/agent_backbone/services/agents/audit.py +45 -0
  110. agent_backbone-0.3.0/src/agent_backbone/services/agents/fleet.py +312 -0
  111. agent_backbone-0.3.0/src/agent_backbone/services/agents/instructions.py +98 -0
  112. agent_backbone-0.3.0/src/agent_backbone/services/agents/launch.py +836 -0
  113. agent_backbone-0.3.0/src/agent_backbone/services/agents/models.py +119 -0
  114. agent_backbone-0.3.0/src/agent_backbone/services/agents/operations.py +286 -0
  115. agent_backbone-0.3.0/src/agent_backbone/services/agents/queries.py +217 -0
  116. agent_backbone-0.3.0/src/agent_backbone/services/agents/skills_preview.py +173 -0
  117. agent_backbone-0.3.0/src/agent_backbone/services/agents/store.py +522 -0
  118. agent_backbone-0.3.0/src/agent_backbone/services/agents/transcript.py +282 -0
  119. agent_backbone-0.3.0/src/agent_backbone/services/agents/transitions.py +134 -0
  120. agent_backbone-0.3.0/src/agent_backbone/services/agents/usage.py +464 -0
  121. agent_backbone-0.3.0/src/agent_backbone/services/database/__init__.py +27 -0
  122. agent_backbone-0.3.0/src/agent_backbone/services/database/_agents_repo.py +325 -0
  123. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_delivery_repo.py +103 -14
  124. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_dependencies_repo.py +28 -0
  125. agent_backbone-0.3.0/src/agent_backbone/services/database/_diagnostics_repo.py +458 -0
  126. agent_backbone-0.3.0/src/agent_backbone/services/database/_events_repo.py +228 -0
  127. agent_backbone-0.3.0/src/agent_backbone/services/database/_fleet_repo.py +106 -0
  128. agent_backbone-0.3.0/src/agent_backbone/services/database/_outbox_repo.py +142 -0
  129. agent_backbone-0.3.0/src/agent_backbone/services/database/_queue_repo.py +938 -0
  130. agent_backbone-0.3.0/src/agent_backbone/services/database/_reports_repo.py +425 -0
  131. agent_backbone-0.3.0/src/agent_backbone/services/database/_signing_repo.py +1106 -0
  132. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_time.py +12 -0
  133. agent_backbone-0.3.0/src/agent_backbone/services/database/_transitions_repo.py +159 -0
  134. agent_backbone-0.3.0/src/agent_backbone/services/database/_usage_repo.py +270 -0
  135. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/backbone_db.py +106 -15
  136. agent_backbone-0.3.0/src/agent_backbone/services/database/migrations/versions/2026_10_14_7c02e74cce0a_initial_schema.py +720 -0
  137. agent_backbone-0.3.0/src/agent_backbone/services/database/models.py +719 -0
  138. agent_backbone-0.3.0/src/agent_backbone/services/github/__init__.py +13 -0
  139. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/github/interface.py +121 -30
  140. agent_backbone-0.3.0/src/agent_backbone/services/github/reviews.py +58 -0
  141. agent_backbone-0.3.0/src/agent_backbone/services/github/snapshot.py +52 -0
  142. agent_backbone-0.3.0/src/agent_backbone/services/integrations/_notify.py +48 -0
  143. agent_backbone-0.3.0/src/agent_backbone/services/integrations/_registry.py +189 -0
  144. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/base.py +27 -2
  145. agent_backbone-0.3.0/src/agent_backbone/services/integrations/telegram/_commands.py +563 -0
  146. agent_backbone-0.3.0/src/agent_backbone/services/integrations/telegram/_report_delivery.py +159 -0
  147. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_routing.py +45 -12
  148. agent_backbone-0.3.0/src/agent_backbone/services/integrations/telegram/_speech.py +100 -0
  149. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_topic_discovery.py +61 -14
  150. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_topics.py +7 -1
  151. agent_backbone-0.3.0/src/agent_backbone/services/integrations/telegram/_updates.py +243 -0
  152. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/interface.py +147 -20
  153. agent_backbone-0.3.0/src/agent_backbone/services/jobs/__init__.py +30 -0
  154. agent_backbone-0.3.0/src/agent_backbone/services/jobs/_cursor.py +42 -0
  155. agent_backbone-0.3.0/src/agent_backbone/services/jobs/context_note.py +134 -0
  156. agent_backbone-0.3.0/src/agent_backbone/services/jobs/diagnostics.py +164 -0
  157. agent_backbone-0.3.0/src/agent_backbone/services/jobs/escalation.py +604 -0
  158. agent_backbone-0.3.0/src/agent_backbone/services/jobs/github_poll.py +341 -0
  159. agent_backbone-0.3.0/src/agent_backbone/services/jobs/monitor.py +263 -0
  160. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/pending.py +47 -31
  161. agent_backbone-0.3.0/src/agent_backbone/services/jobs/resources.py +138 -0
  162. agent_backbone-0.3.0/src/agent_backbone/services/jobs/retry.py +589 -0
  163. agent_backbone-0.3.0/src/agent_backbone/services/jobs/sources_poll.py +98 -0
  164. agent_backbone-0.3.0/src/agent_backbone/services/jobs/transitions.py +202 -0
  165. agent_backbone-0.3.0/src/agent_backbone/services/jobs/upgrade_watch.py +77 -0
  166. agent_backbone-0.3.0/src/agent_backbone/services/routing/__init__.py +88 -0
  167. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_create_notify.py +15 -13
  168. agent_backbone-0.3.0/src/agent_backbone/services/routing/_delivery.py +796 -0
  169. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_dependencies.py +18 -13
  170. agent_backbone-0.3.0/src/agent_backbone/services/routing/_envelope.py +64 -0
  171. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_format.py +124 -4
  172. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_ingest.py +79 -10
  173. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_intelligence.py +60 -17
  174. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_lifecycle.py +44 -26
  175. agent_backbone-0.3.0/src/agent_backbone/services/routing/_outbox.py +166 -0
  176. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_priority.py +13 -1
  177. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_resolution.py +12 -5
  178. agent_backbone-0.3.0/src/agent_backbone/services/routing/_router.py +406 -0
  179. agent_backbone-0.3.0/src/agent_backbone/services/routing/_steer.py +364 -0
  180. agent_backbone-0.3.0/src/agent_backbone/services/routing/_subscriptions.py +149 -0
  181. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_targets.py +45 -9
  182. agent_backbone-0.3.0/src/agent_backbone/services/routing/_validity.py +38 -0
  183. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/models.py +9 -2
  184. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/__init__.py +65 -44
  185. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/_opencode_launch.py +42 -0
  186. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/_pane.py +19 -4
  187. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/_usage.py +90 -0
  188. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/aider.py +1 -0
  189. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/base.py +1151 -0
  190. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/capabilities.py +969 -0
  191. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/catalog.json +37 -0
  192. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/claude.py +589 -0
  193. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/codex.py +662 -0
  194. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/deepcode.py +147 -0
  195. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/gemini.py +367 -0
  196. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/opencode.py +350 -0
  197. agent_backbone-0.3.0/src/agent_backbone/services/scheduler.py +219 -0
  198. agent_backbone-0.3.0/src/agent_backbone/services/sources/__init__.py +10 -0
  199. agent_backbone-0.3.0/src/agent_backbone/services/sources/_registry.py +56 -0
  200. agent_backbone-0.3.0/src/agent_backbone/services/sources/base.py +65 -0
  201. agent_backbone-0.3.0/src/agent_backbone/services/sources/gmail.py +216 -0
  202. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/swarm/__init__.py +2 -1
  203. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/swarm/_roster.py +13 -5
  204. agent_backbone-0.3.0/src/agent_backbone/services/swarm/_templates.py +31 -0
  205. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/swarm/_worktree.py +33 -6
  206. agent_backbone-0.3.0/src/agent_backbone/services/swarm/interface.py +498 -0
  207. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/__init__.py +12 -2
  208. agent_backbone-0.3.0/src/agent_backbone/services/terminal/_attach.py +25 -0
  209. agent_backbone-0.3.0/src/agent_backbone/services/terminal/_callers.py +132 -0
  210. agent_backbone-0.3.0/src/agent_backbone/services/terminal/_copy_mode.py +22 -0
  211. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/_core.py +40 -13
  212. agent_backbone-0.3.0/src/agent_backbone/services/terminal/_memory.py +66 -0
  213. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/_pty.py +107 -21
  214. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/_sessions.py +114 -19
  215. agent_backbone-0.3.0/src/agent_backbone/signing.py +222 -0
  216. agent_backbone-0.3.0/src/agent_backbone/skills.py +812 -0
  217. agent_backbone-0.3.0/src/agent_backbone/templates.py +152 -0
  218. agent_backbone-0.3.0/src/agent_backbone/usage.py +153 -0
  219. agent_backbone-0.3.0/templates/README.md +43 -0
  220. agent_backbone-0.3.0/templates/base.md +48 -0
  221. agent_backbone-0.3.0/templates/policies/python-example.md +5 -0
  222. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.3.0/templates/swarm}/coder.md +1 -1
  223. agent_backbone-0.3.0/templates/swarm/common.md +71 -0
  224. agent_backbone-0.3.0/templates/swarm/coordinator.md +100 -0
  225. agent_backbone-0.3.0/templates/swarm/kickoff.md +1 -0
  226. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.3.0/templates/swarm}/reviewer.md +2 -2
  227. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.3.0/templates/swarm}/scout.md +2 -2
  228. {agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates → agent_backbone-0.3.0/templates/swarm}/worker.md +1 -1
  229. agent_backbone-0.3.0/tests/unit/help/__init__.py +0 -0
  230. agent_backbone-0.3.0/tests/unit/help/test_help.py +99 -0
  231. agent_backbone-0.1.0/PKG-INFO +0 -188
  232. agent_backbone-0.1.0/README.md +0 -149
  233. agent_backbone-0.1.0/docs/README.md +0 -28
  234. agent_backbone-0.1.0/docs/api.md +0 -243
  235. agent_backbone-0.1.0/docs/cli.md +0 -219
  236. agent_backbone-0.1.0/docs/concepts.md +0 -158
  237. agent_backbone-0.1.0/docs/configuration.md +0 -156
  238. agent_backbone-0.1.0/docs/getting-started.md +0 -353
  239. agent_backbone-0.1.0/docs/github.md +0 -180
  240. agent_backbone-0.1.0/docs/how-it-works.md +0 -270
  241. agent_backbone-0.1.0/docs/security.md +0 -152
  242. agent_backbone-0.1.0/docs/status-and-roadmap.md +0 -75
  243. agent_backbone-0.1.0/docs/swarms.md +0 -136
  244. agent_backbone-0.1.0/docs/telegram.md +0 -108
  245. agent_backbone-0.1.0/src/agent_backbone/api/models.py +0 -422
  246. agent_backbone-0.1.0/src/agent_backbone/api/routes/messages.py +0 -58
  247. agent_backbone-0.1.0/src/agent_backbone/api/routes/plans.py +0 -139
  248. agent_backbone-0.1.0/src/agent_backbone/api/session_updates.py +0 -184
  249. agent_backbone-0.1.0/src/agent_backbone/cli/__init__.py +0 -261
  250. agent_backbone-0.1.0/src/agent_backbone/cli/_common.py +0 -113
  251. agent_backbone-0.1.0/src/agent_backbone/cli/agents.py +0 -442
  252. agent_backbone-0.1.0/src/agent_backbone/cli/server.py +0 -218
  253. agent_backbone-0.1.0/src/agent_backbone/cli/setup.py +0 -277
  254. agent_backbone-0.1.0/src/agent_backbone/cli/swarms.py +0 -127
  255. agent_backbone-0.1.0/src/agent_backbone/git.py +0 -52
  256. agent_backbone-0.1.0/src/agent_backbone/help/agent-brief.md +0 -39
  257. agent_backbone-0.1.0/src/agent_backbone/help/topics/agents.md +0 -49
  258. agent_backbone-0.1.0/src/agent_backbone/help/topics/messaging.md +0 -41
  259. agent_backbone-0.1.0/src/agent_backbone/help/topics/swarms.md +0 -60
  260. agent_backbone-0.1.0/src/agent_backbone/hooks/__init__.py +0 -10
  261. agent_backbone-0.1.0/src/agent_backbone/hooks/claude_hook.py +0 -251
  262. agent_backbone-0.1.0/src/agent_backbone/hooks/install.py +0 -160
  263. agent_backbone-0.1.0/src/agent_backbone/models.py +0 -201
  264. agent_backbone-0.1.0/src/agent_backbone/services/agents/_file_reader.py +0 -127
  265. agent_backbone-0.1.0/src/agent_backbone/services/agents/_inference.py +0 -163
  266. agent_backbone-0.1.0/src/agent_backbone/services/agents/launch.py +0 -342
  267. agent_backbone-0.1.0/src/agent_backbone/services/agents/models.py +0 -69
  268. agent_backbone-0.1.0/src/agent_backbone/services/agents/operations.py +0 -101
  269. agent_backbone-0.1.0/src/agent_backbone/services/agents/store.py +0 -214
  270. agent_backbone-0.1.0/src/agent_backbone/services/database/__init__.py +0 -7
  271. agent_backbone-0.1.0/src/agent_backbone/services/database/_agents_repo.py +0 -116
  272. agent_backbone-0.1.0/src/agent_backbone/services/database/_events_repo.py +0 -104
  273. agent_backbone-0.1.0/src/agent_backbone/services/database/_queue_repo.py +0 -150
  274. agent_backbone-0.1.0/src/agent_backbone/services/database/migrations/versions/2026_09_02_3fb2fe03898c_initial_schema.py +0 -284
  275. agent_backbone-0.1.0/src/agent_backbone/services/database/models.py +0 -251
  276. agent_backbone-0.1.0/src/agent_backbone/services/github/__init__.py +0 -5
  277. agent_backbone-0.1.0/src/agent_backbone/services/integrations/_notify.py +0 -46
  278. agent_backbone-0.1.0/src/agent_backbone/services/integrations/_registry.py +0 -92
  279. agent_backbone-0.1.0/src/agent_backbone/services/integrations/telegram/_commands.py +0 -329
  280. agent_backbone-0.1.0/src/agent_backbone/services/jobs/__init__.py +0 -13
  281. agent_backbone-0.1.0/src/agent_backbone/services/jobs/copy_mode.py +0 -50
  282. agent_backbone-0.1.0/src/agent_backbone/services/jobs/escalation.py +0 -243
  283. agent_backbone-0.1.0/src/agent_backbone/services/jobs/github_poll.py +0 -190
  284. agent_backbone-0.1.0/src/agent_backbone/services/jobs/monitor.py +0 -133
  285. agent_backbone-0.1.0/src/agent_backbone/services/jobs/retry.py +0 -173
  286. agent_backbone-0.1.0/src/agent_backbone/services/routing/__init__.py +0 -42
  287. agent_backbone-0.1.0/src/agent_backbone/services/routing/_delivery.py +0 -287
  288. agent_backbone-0.1.0/src/agent_backbone/services/routing/_router.py +0 -234
  289. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/base.py +0 -396
  290. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/claude.py +0 -117
  291. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/codex.py +0 -103
  292. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/deepcode.py +0 -78
  293. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/gemini.py +0 -55
  294. agent_backbone-0.1.0/src/agent_backbone/services/runtimes/opencode.py +0 -40
  295. agent_backbone-0.1.0/src/agent_backbone/services/scheduler.py +0 -135
  296. agent_backbone-0.1.0/src/agent_backbone/services/swarm/_templates.py +0 -28
  297. agent_backbone-0.1.0/src/agent_backbone/services/swarm/interface.py +0 -350
  298. agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates/common.md +0 -42
  299. agent_backbone-0.1.0/src/agent_backbone/services/swarm/templates/coordinator.md +0 -45
  300. agent_backbone-0.1.0/src/agent_backbone/services/terminal/_copy_mode.py +0 -42
  301. agent_backbone-0.1.0/src/agent_backbone/templates.py +0 -28
  302. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/LICENSE +0 -0
  303. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/alembic.ini +0 -0
  304. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/__init__.py +0 -0
  305. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/__init__.py +0 -0
  306. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/auth.py +0 -0
  307. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/__init__.py +0 -0
  308. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/config.py +0 -0
  309. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/deliveries.py +0 -0
  310. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/events.py +0 -0
  311. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/help.py +0 -0
  312. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/base/__init__.py +0 -0
  313. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/base/lifecycle.py +0 -0
  314. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/base/protocols.py +0 -0
  315. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/__main__.py +0 -0
  316. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/__init__.py +0 -0
  317. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_acks_repo.py +0 -0
  318. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_repo.py +0 -0
  319. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_settings_repo.py +0 -0
  320. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_state_repo.py +0 -0
  321. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_swarms_repo.py +0 -0
  322. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/base.py +0 -0
  323. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/engine.py +0 -0
  324. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/migrations/env.py +0 -0
  325. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/migrations/script.py.mako +0 -0
  326. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/__init__.py +0 -0
  327. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/__init__.py +0 -0
  328. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_dedup.py +0 -0
  329. {agent_backbone-0.1.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/shell.py +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/
@@ -0,0 +1,256 @@
1
+ Metadata-Version: 2.5
2
+ Name: agent-backbone
3
+ Version: 0.3.0
4
+ Summary: Local control plane for terminal AI agents: run them, message them, coordinate them through GitHub Issues, reach them from Telegram.
5
+ Project-URL: Homepage, https://github.com/eandualem/agent-backbone
6
+ Project-URL: Documentation, https://github.com/eandualem/agent-backbone/blob/main/docs/INDEX.md
7
+ Project-URL: Source, https://github.com/eandualem/agent-backbone
8
+ Project-URL: Issues, https://github.com/eandualem/agent-backbone/issues
9
+ License: MIT
10
+ License-File: LICENSE
11
+ Keywords: agents,claude-code,codex,github,orchestration,telegram,tmux
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Console
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: MacOS
17
+ Classifier: Operating System :: POSIX :: Linux
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Topic :: Software Development
23
+ Requires-Python: >=3.11
24
+ Requires-Dist: aiosqlite>=0.20
25
+ Requires-Dist: alembic>=1.13
26
+ Requires-Dist: cryptography>=44.0
27
+ Requires-Dist: fastapi>=0.115
28
+ Requires-Dist: httpx>=0.27
29
+ Requires-Dist: pydantic>=2.0
30
+ Requires-Dist: python-dotenv>=1.0
31
+ Requires-Dist: python-socketio>=5.11
32
+ Requires-Dist: python-telegram-bot>=21.0
33
+ Requires-Dist: rich>=14.1
34
+ Requires-Dist: sqlalchemy[asyncio]>=2.0
35
+ Requires-Dist: uvicorn[standard]>=0.32
36
+ Provides-Extra: postgres
37
+ Requires-Dist: asyncpg>=0.29; extra == 'postgres'
38
+ Description-Content-Type: text/markdown
39
+
40
+ <div align="center">
41
+
42
+ <img src="docs/media/banner.png" alt="agent-backbone: your terminal agents, working as a team" width="720">
43
+
44
+ **Claude Code, Codex and OpenCode, working as one team on your machine.**<br>
45
+ Agents message each other by name, take work from GitHub Issues and reach you on your phone.<br>
46
+ They use the logins you already have, and core use needs no setup in your repositories.
47
+
48
+ [![PyPI](https://img.shields.io/pypi/v/agent-backbone)](https://pypi.org/project/agent-backbone/)
49
+ [![Python](https://img.shields.io/pypi/pyversions/agent-backbone)](https://pypi.org/project/agent-backbone/)
50
+ [![CI](https://github.com/eandualem/agent-backbone/actions/workflows/ci.yml/badge.svg)](https://github.com/eandualem/agent-backbone/actions/workflows/ci.yml)
51
+ [![Downloads](https://img.shields.io/pypi/dm/agent-backbone)](https://pypistats.org/packages/agent-backbone)
52
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
53
+
54
+ [Watch](#watch) · [Quick start](#quick-start) · [Why Backbone](#why-backbone) · [Docs](docs/INDEX.md) · [Security](docs/security.md)
55
+
56
+ </div>
57
+
58
+ ## Watch
59
+
60
+ https://github.com/user-attachments/assets/695a6096-4196-4115-911c-a0043d632088
61
+
62
+ <p align="center"><sub>The overview, 1:23, captioned. Unmute for the narration.</sub></p>
63
+
64
+ <p align="center"><b>Up next</b>&nbsp;&nbsp;›<br>
65
+ <a href="docs/media/films.md#why-backbone"><img src="docs/media/film-why-backbone.jpg" width="49%" alt="Why Backbone, 2 minutes 23: from 'set up Backbone for me' to a team on three CLIs"></a>
66
+ </p>
67
+
68
+ ## Why Backbone
69
+
70
+ You already run coding agents in your terminal. Each one works alone, and you
71
+ carry every message between them. Backbone turns them into a team.
72
+
73
+ <table>
74
+ <tr>
75
+ <td width="50%" valign="top">
76
+
77
+ **Never typed into a busy agent**<br>
78
+ Agents reach each other by name. When the recipient is working or waiting
79
+ for you, the message is queued and delivered when the agent is ready, marked
80
+ with who sent it. Ordinary messages expire after 30 minutes by default, and
81
+ the sender is told.
82
+
83
+ </td>
84
+ <td width="50%" valign="top">
85
+
86
+ **No setup in your repositories**<br>
87
+ An agent is a folder and the CLI you choose, and the folder is its name.
88
+ Core use adds no configuration files, task schemas or commits to your
89
+ projects.
90
+
91
+ </td>
92
+ </tr>
93
+ <tr>
94
+ <td valign="top">
95
+
96
+ **GitHub Issues are the task list**<br>
97
+ In a repository worker owns or watches, label an issue `for:worker` and it
98
+ lands in worker's queue, one at a time.
99
+ To hand work on, an agent opens an issue for another. The issue stays as the
100
+ record.
101
+
102
+ </td>
103
+ <td valign="top">
104
+
105
+ **Mix CLIs in one team**<br>
106
+ Claude Code, Codex and OpenCode agents work side by side, and a swarm puts a
107
+ coordinator and helpers on different CLIs on one branch. A second model can
108
+ review the change.
109
+
110
+ </td>
111
+ </tr>
112
+ <tr>
113
+ <td valign="top">
114
+
115
+ **In the loop from anywhere**<br>
116
+ Watch any agent, step into its terminal, or answer from your phone. With
117
+ [Telegram set up](docs/telegram.md#one-topic-per-agent) in a group with
118
+ topics, every agent outside a swarm gets its own topic, with Allow and Deny
119
+ on permission prompts.
120
+
121
+ </td>
122
+ <td valign="top">
123
+
124
+ **State you can check**<br>
125
+ Backbone tracks whether each agent is idle, working or waiting for a person,
126
+ and shows the evidence behind every reading. Your agents decide the work.
127
+
128
+ </td>
129
+ </tr>
130
+ </table>
131
+
132
+ New sessions are briefed on these tools, so you can ask any agent to set up
133
+ the team you need: an agent per repository, skills and rules shared by tag,
134
+ specialists on request.
135
+
136
+ ## Quick start
137
+
138
+ **Let your agent do it.** Open the coding agent you already use and say:
139
+
140
+ ```text
141
+ Install agent-backbone with uv tool install agent-backbone,
142
+ then run backbone help setup and follow it.
143
+ ```
144
+
145
+ The setup playbook is written for agents: each step ends with a check and
146
+ says when it needs you, for your accounts and secrets.
147
+
148
+ **Or by hand.** You need macOS or Linux, Python 3.11+, tmux,
149
+ [uv](https://docs.astral.sh/uv/) (or pipx), and an agent CLI installed and
150
+ signed in.
151
+
152
+ ```bash
153
+ uv tool install agent-backbone
154
+ backbone init
155
+ backbone service install # start now and at login
156
+ backbone doctor # check dependencies and API access
157
+ ```
158
+
159
+ Then, from a repository you want an agent to work in:
160
+
161
+ ```bash
162
+ cd ~/code/app
163
+ backbone agent start --runtime claude # or --runtime codex, --runtime opencode
164
+ backbone tell app "Summarise what this repository does in three sentences."
165
+ backbone agent attach app # read its reply; Ctrl-b d detaches
166
+ ```
167
+
168
+ The folder supplies the agent name. If startup reports a prompt or a timeout,
169
+ `backbone agent inspect app` shows what needs attention. `tell` reports
170
+ whether the message was delivered or queued; delivery does not mean the agent
171
+ has finished answering. A queued message waits until the agent is ready, up
172
+ to 30 minutes by default, so do not resend a message the queue accepted. If
173
+ `backbone` is not on your PATH, run `uv tool update-shell` and open a new
174
+ terminal. In a container without a login service, use `backbone up --detach`.
175
+ `ab` is a short alias; on macOS, use `backbone` if Apache Bench shadows it.
176
+
177
+ [Getting started](docs/getting-started.md) walks through a second agent,
178
+ GitHub and Telegram. [Quick usage](USAGE.md) is the everyday command guide.
179
+
180
+ ## Built to be relied on
181
+
182
+ - **One delivery gate.** Everything typed into an agent's terminal passes the
183
+ same readiness check. Busy agents are never interrupted, and every message
184
+ carries where it came from.
185
+ - **The same result on every required CLI.** A capability ships only when it
186
+ works the same in Claude Code, Codex and OpenCode, checked by the same
187
+ behaviour test on each. The [runtime capability table](docs/runtime-capabilities.md)
188
+ and `backbone doctor` read one contract, and gaps are listed, not hidden.
189
+ - **More than 3,500 tests,** run on every change with no network, models or
190
+ services.
191
+ - **Built with itself.** Backbone is developed by agents running inside a
192
+ Backbone in daily use. The films in this README were made the same way.
193
+ - **An honest security model.** One trusted user on one machine, an API on
194
+ localhost, and a clear account of what agents can reach. Read
195
+ [Security](docs/security.md) before granting access.
196
+
197
+ Backbone is not an agent framework: it calls no models and needs no model API
198
+ keys. It is not a workflow engine or a dashboard either. It gives your
199
+ agents names, safe messages and evidence, and leaves the work to them.
200
+
201
+ ## Works with
202
+
203
+ | CLI | Support |
204
+ |---|---|
205
+ | Claude Code, Codex, OpenCode | Required set: a capability ships only when it works on all three, and any open gap is tracked as a defect |
206
+ | Gemini CLI, Deep Code, Aider | Supported on demand; each gap is listed in the [capability table](docs/runtime-capabilities.md) |
207
+
208
+ ## Going further
209
+
210
+ - [GitHub](docs/github.md): route issues and review notifications, starting with
211
+ token-based polling. [GitHub App setup](docs/github-app-setup.md) adds webhooks.
212
+ - [Swarms](docs/swarms.md): put several specialists on one task.
213
+ - [Skills](docs/skills.md): keep one copy of each skill, tag it, and every agent
214
+ with that tag finds it in its own CLI.
215
+ - [Telegram](docs/telegram.md): send messages and read reports from your phone.
216
+ - [Token usage](docs/token-usage.md): tokens by agent, conversation and model.
217
+ - [API](docs/api.md): build a dashboard or automation; Backbone ships no UI.
218
+ - [Runtime support and limits](docs/status-and-roadmap.md): checked capabilities,
219
+ unsupported environments and known limitations.
220
+ - [How it works](docs/how-it-works.md): state detection, delivery and routing.
221
+
222
+ The [documentation index](docs/INDEX.md) covers configuration, diagnostics
223
+ and the remaining references. Installed copies are available through
224
+ `backbone docs`; `backbone help` contains short agent playbooks.
225
+
226
+ ## Security model
227
+
228
+ Backbone runs as one trusted OS user on one machine. Agents are not isolated
229
+ from each other. The API binds to localhost by default and uses one full-admin
230
+ key; local sessions can read that key through the CLI. Backbone keeps its
231
+ control-plane secrets out of launched environments, but this is not a filesystem
232
+ security boundary. Read [Security](docs/security.md) before granting access or
233
+ exposing the API.
234
+
235
+ ## Development
236
+
237
+ ```bash
238
+ git clone https://github.com/eandualem/agent-backbone
239
+ cd agent-backbone
240
+ make install
241
+ make check
242
+ BACKBONE_DATA_DIR=/tmp/backbone-dev make dev
243
+ ```
244
+
245
+ `make dev` runs on its own tmux server, so its agents stay apart from your own
246
+ tmux sessions and from a real backbone's agents. Run CLI commands for it from
247
+ a terminal outside tmux with the same settings, for example
248
+ `TMUX_TMPDIR=/tmp/backbone-dev-tmux-$(id -u) BACKBONE_DATA_DIR=/tmp/backbone-dev uv run backbone agent attach NAME`.
249
+ `agent attach`, and agent commands run while `make dev` is stopped, use tmux
250
+ directly.
251
+
252
+ See [Contributing](CONTRIBUTING.md) for branches, checks and releases.
253
+
254
+ ## License
255
+
256
+ [MIT](LICENSE).
@@ -0,0 +1,217 @@
1
+ <div align="center">
2
+
3
+ <img src="docs/media/banner.png" alt="agent-backbone: your terminal agents, working as a team" width="720">
4
+
5
+ **Claude Code, Codex and OpenCode, working as one team on your machine.**<br>
6
+ Agents message each other by name, take work from GitHub Issues and reach you on your phone.<br>
7
+ They use the logins you already have, and core use needs no setup in your repositories.
8
+
9
+ [![PyPI](https://img.shields.io/pypi/v/agent-backbone)](https://pypi.org/project/agent-backbone/)
10
+ [![Python](https://img.shields.io/pypi/pyversions/agent-backbone)](https://pypi.org/project/agent-backbone/)
11
+ [![CI](https://github.com/eandualem/agent-backbone/actions/workflows/ci.yml/badge.svg)](https://github.com/eandualem/agent-backbone/actions/workflows/ci.yml)
12
+ [![Downloads](https://img.shields.io/pypi/dm/agent-backbone)](https://pypistats.org/packages/agent-backbone)
13
+ [![License: MIT](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
14
+
15
+ [Watch](#watch) · [Quick start](#quick-start) · [Why Backbone](#why-backbone) · [Docs](docs/INDEX.md) · [Security](docs/security.md)
16
+
17
+ </div>
18
+
19
+ ## Watch
20
+
21
+ https://github.com/user-attachments/assets/695a6096-4196-4115-911c-a0043d632088
22
+
23
+ <p align="center"><sub>The overview, 1:23, captioned. Unmute for the narration.</sub></p>
24
+
25
+ <p align="center"><b>Up next</b>&nbsp;&nbsp;›<br>
26
+ <a href="docs/media/films.md#why-backbone"><img src="docs/media/film-why-backbone.jpg" width="49%" alt="Why Backbone, 2 minutes 23: from 'set up Backbone for me' to a team on three CLIs"></a>
27
+ </p>
28
+
29
+ ## Why Backbone
30
+
31
+ You already run coding agents in your terminal. Each one works alone, and you
32
+ carry every message between them. Backbone turns them into a team.
33
+
34
+ <table>
35
+ <tr>
36
+ <td width="50%" valign="top">
37
+
38
+ **Never typed into a busy agent**<br>
39
+ Agents reach each other by name. When the recipient is working or waiting
40
+ for you, the message is queued and delivered when the agent is ready, marked
41
+ with who sent it. Ordinary messages expire after 30 minutes by default, and
42
+ the sender is told.
43
+
44
+ </td>
45
+ <td width="50%" valign="top">
46
+
47
+ **No setup in your repositories**<br>
48
+ An agent is a folder and the CLI you choose, and the folder is its name.
49
+ Core use adds no configuration files, task schemas or commits to your
50
+ projects.
51
+
52
+ </td>
53
+ </tr>
54
+ <tr>
55
+ <td valign="top">
56
+
57
+ **GitHub Issues are the task list**<br>
58
+ In a repository worker owns or watches, label an issue `for:worker` and it
59
+ lands in worker's queue, one at a time.
60
+ To hand work on, an agent opens an issue for another. The issue stays as the
61
+ record.
62
+
63
+ </td>
64
+ <td valign="top">
65
+
66
+ **Mix CLIs in one team**<br>
67
+ Claude Code, Codex and OpenCode agents work side by side, and a swarm puts a
68
+ coordinator and helpers on different CLIs on one branch. A second model can
69
+ review the change.
70
+
71
+ </td>
72
+ </tr>
73
+ <tr>
74
+ <td valign="top">
75
+
76
+ **In the loop from anywhere**<br>
77
+ Watch any agent, step into its terminal, or answer from your phone. With
78
+ [Telegram set up](docs/telegram.md#one-topic-per-agent) in a group with
79
+ topics, every agent outside a swarm gets its own topic, with Allow and Deny
80
+ on permission prompts.
81
+
82
+ </td>
83
+ <td valign="top">
84
+
85
+ **State you can check**<br>
86
+ Backbone tracks whether each agent is idle, working or waiting for a person,
87
+ and shows the evidence behind every reading. Your agents decide the work.
88
+
89
+ </td>
90
+ </tr>
91
+ </table>
92
+
93
+ New sessions are briefed on these tools, so you can ask any agent to set up
94
+ the team you need: an agent per repository, skills and rules shared by tag,
95
+ specialists on request.
96
+
97
+ ## Quick start
98
+
99
+ **Let your agent do it.** Open the coding agent you already use and say:
100
+
101
+ ```text
102
+ Install agent-backbone with uv tool install agent-backbone,
103
+ then run backbone help setup and follow it.
104
+ ```
105
+
106
+ The setup playbook is written for agents: each step ends with a check and
107
+ says when it needs you, for your accounts and secrets.
108
+
109
+ **Or by hand.** You need macOS or Linux, Python 3.11+, tmux,
110
+ [uv](https://docs.astral.sh/uv/) (or pipx), and an agent CLI installed and
111
+ signed in.
112
+
113
+ ```bash
114
+ uv tool install agent-backbone
115
+ backbone init
116
+ backbone service install # start now and at login
117
+ backbone doctor # check dependencies and API access
118
+ ```
119
+
120
+ Then, from a repository you want an agent to work in:
121
+
122
+ ```bash
123
+ cd ~/code/app
124
+ backbone agent start --runtime claude # or --runtime codex, --runtime opencode
125
+ backbone tell app "Summarise what this repository does in three sentences."
126
+ backbone agent attach app # read its reply; Ctrl-b d detaches
127
+ ```
128
+
129
+ The folder supplies the agent name. If startup reports a prompt or a timeout,
130
+ `backbone agent inspect app` shows what needs attention. `tell` reports
131
+ whether the message was delivered or queued; delivery does not mean the agent
132
+ has finished answering. A queued message waits until the agent is ready, up
133
+ to 30 minutes by default, so do not resend a message the queue accepted. If
134
+ `backbone` is not on your PATH, run `uv tool update-shell` and open a new
135
+ terminal. In a container without a login service, use `backbone up --detach`.
136
+ `ab` is a short alias; on macOS, use `backbone` if Apache Bench shadows it.
137
+
138
+ [Getting started](docs/getting-started.md) walks through a second agent,
139
+ GitHub and Telegram. [Quick usage](USAGE.md) is the everyday command guide.
140
+
141
+ ## Built to be relied on
142
+
143
+ - **One delivery gate.** Everything typed into an agent's terminal passes the
144
+ same readiness check. Busy agents are never interrupted, and every message
145
+ carries where it came from.
146
+ - **The same result on every required CLI.** A capability ships only when it
147
+ works the same in Claude Code, Codex and OpenCode, checked by the same
148
+ behaviour test on each. The [runtime capability table](docs/runtime-capabilities.md)
149
+ and `backbone doctor` read one contract, and gaps are listed, not hidden.
150
+ - **More than 3,500 tests,** run on every change with no network, models or
151
+ services.
152
+ - **Built with itself.** Backbone is developed by agents running inside a
153
+ Backbone in daily use. The films in this README were made the same way.
154
+ - **An honest security model.** One trusted user on one machine, an API on
155
+ localhost, and a clear account of what agents can reach. Read
156
+ [Security](docs/security.md) before granting access.
157
+
158
+ Backbone is not an agent framework: it calls no models and needs no model API
159
+ keys. It is not a workflow engine or a dashboard either. It gives your
160
+ agents names, safe messages and evidence, and leaves the work to them.
161
+
162
+ ## Works with
163
+
164
+ | CLI | Support |
165
+ |---|---|
166
+ | Claude Code, Codex, OpenCode | Required set: a capability ships only when it works on all three, and any open gap is tracked as a defect |
167
+ | Gemini CLI, Deep Code, Aider | Supported on demand; each gap is listed in the [capability table](docs/runtime-capabilities.md) |
168
+
169
+ ## Going further
170
+
171
+ - [GitHub](docs/github.md): route issues and review notifications, starting with
172
+ token-based polling. [GitHub App setup](docs/github-app-setup.md) adds webhooks.
173
+ - [Swarms](docs/swarms.md): put several specialists on one task.
174
+ - [Skills](docs/skills.md): keep one copy of each skill, tag it, and every agent
175
+ with that tag finds it in its own CLI.
176
+ - [Telegram](docs/telegram.md): send messages and read reports from your phone.
177
+ - [Token usage](docs/token-usage.md): tokens by agent, conversation and model.
178
+ - [API](docs/api.md): build a dashboard or automation; Backbone ships no UI.
179
+ - [Runtime support and limits](docs/status-and-roadmap.md): checked capabilities,
180
+ unsupported environments and known limitations.
181
+ - [How it works](docs/how-it-works.md): state detection, delivery and routing.
182
+
183
+ The [documentation index](docs/INDEX.md) covers configuration, diagnostics
184
+ and the remaining references. Installed copies are available through
185
+ `backbone docs`; `backbone help` contains short agent playbooks.
186
+
187
+ ## Security model
188
+
189
+ Backbone runs as one trusted OS user on one machine. Agents are not isolated
190
+ from each other. The API binds to localhost by default and uses one full-admin
191
+ key; local sessions can read that key through the CLI. Backbone keeps its
192
+ control-plane secrets out of launched environments, but this is not a filesystem
193
+ security boundary. Read [Security](docs/security.md) before granting access or
194
+ exposing the API.
195
+
196
+ ## Development
197
+
198
+ ```bash
199
+ git clone https://github.com/eandualem/agent-backbone
200
+ cd agent-backbone
201
+ make install
202
+ make check
203
+ BACKBONE_DATA_DIR=/tmp/backbone-dev make dev
204
+ ```
205
+
206
+ `make dev` runs on its own tmux server, so its agents stay apart from your own
207
+ tmux sessions and from a real backbone's agents. Run CLI commands for it from
208
+ a terminal outside tmux with the same settings, for example
209
+ `TMUX_TMPDIR=/tmp/backbone-dev-tmux-$(id -u) BACKBONE_DATA_DIR=/tmp/backbone-dev uv run backbone agent attach NAME`.
210
+ `agent attach`, and agent commands run while `make dev` is stopped, use tmux
211
+ directly.
212
+
213
+ See [Contributing](CONTRIBUTING.md) for branches, checks and releases.
214
+
215
+ ## License
216
+
217
+ [MIT](LICENSE).
@@ -0,0 +1,118 @@
1
+ # Quick usage
2
+
3
+ **Open this guide in your terminal: `backbone help usage`** (`ab help 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`. For prerequisites and a first task, use
8
+ [Getting started](docs/getting-started.md).
9
+
10
+ ## Install and start Backbone
11
+
12
+ ```bash
13
+ uv tool install agent-backbone
14
+ backbone init
15
+ backbone service install # start now and at login
16
+ backbone status
17
+ ```
18
+
19
+ Without a login service (for example, in a container), use `backbone up --detach`.
20
+ Run `backbone doctor` if setup needs attention.
21
+
22
+ ## Work with an agent
23
+
24
+ ```bash
25
+ cd ~/code/app
26
+ backbone agent start --runtime codex
27
+ backbone tell app "Summarise this repository in three sentences."
28
+ backbone agent attach app # open its terminal; Ctrl-b d detaches
29
+ backbone agent start app # new conversation, same CLI and model
30
+ backbone agent resume app # continue its previous conversation instead
31
+ backbone updates # latest progress from the team
32
+ backbone skills list # shared skills and which agents receive them
33
+ backbone skills app # the skills one agent gets, with their tags
34
+ ```
35
+
36
+ An already running agent stays running. Starting from its directory also finds
37
+ its registered name. Choose `--runtime` and `--model` explicitly to change them;
38
+ changing CLI without a model clears the old CLI's model setting.
39
+
40
+ ## Read agent progress
41
+
42
+ ```bash
43
+ backbone updates # latest reports from the team
44
+ backbone updates --agent app # one agent's latest report
45
+ backbone updates --agent app --history # its earlier reports
46
+ backbone updates show 12 # full report and links (use an ID shown above)
47
+ backbone updates --limit 20 # a larger page
48
+ ```
49
+
50
+ When a page has more results, it prints the command for the next page. Reports
51
+ show goals, progress, blockers and next steps. “No report yet” means that agent
52
+ has not published one. Reading reports does not interrupt agents or ask them to
53
+ produce one. `backbone status` shows whether agents are working; `backbone updates`
54
+ shows what they say they have accomplished.
55
+
56
+ In Telegram, use `/updates`, `/updates app`, `/updates history app`, or
57
+ `/updates show 12`. New reports appear in General and the ordinary agent's topic,
58
+ with buttons for the full report and team feed. Delivery retries when Telegram
59
+ is unavailable. Swarm participants send findings to their repository agent,
60
+ which publishes the consolidated report. Optional voice messages need
61
+ [local speech setup](docs/report-audio.md).
62
+
63
+ ## Publish your progress (for agents)
64
+
65
+ ```bash
66
+ backbone report --example > progress.json
67
+ # Replace the example with your goal, progress, blockers and next steps.
68
+ backbone report --file progress.json --validate
69
+ backbone report --file progress.json
70
+ ```
71
+
72
+ The author defaults to the current agent; use `--agent NAME` outside an agent
73
+ session. Reports must be short; oversized reports are rejected. See
74
+ `backbone help reports` for the section limits and when to publish.
75
+
76
+ During long work, agents can read corrections themselves without waiting for
77
+ terminal delivery: `backbone inbox` (or `--agent NAME`). After applying or
78
+ superseding messages, use `backbone inbox --ack TOKEN ...`. Check between meaningful
79
+ steps and before a commit or handoff. Details: `backbone help messaging`.
80
+
81
+ For `--ack`, copy each complete `ack_token` from the inbox response. Numeric row
82
+ IDs alone cannot acknowledge work; tokens prevent stale acknowledgements from
83
+ consuming a different message after queue cleanup.
84
+
85
+ ## Rename an agent
86
+
87
+ Wait until the agent finishes its work, then:
88
+
89
+ ```bash
90
+ backbone agent stop app
91
+ backbone agent rename app backend
92
+ backbone agent start backend --attach
93
+ ```
94
+
95
+ The directory, settings, watches and saved conversation ID stay with the agent.
96
+ Use the new name in messages, scripts and external `for:` labels. Renaming requires
97
+ a stopped agent; active swarm members cannot be renamed.
98
+
99
+ ## Read token usage
100
+
101
+ ```bash
102
+ backbone usage # separate CLI conversations for each agent
103
+ backbone usage --agent backend --current
104
+ backbone usage session ID # input, cache and output details
105
+ backbone usage --since 1h --by model
106
+ backbone usage --cost # optional standard API estimate
107
+ ```
108
+
109
+ Use `--json` for data, or `backbone help token-usage` for sources and coverage.
110
+ Unsupported sources are unavailable, not zero usage. Cost is separate from a
111
+ subscription bill. [Full token usage reference](docs/token-usage.md).
112
+
113
+ ## Find more
114
+
115
+ - `backbone agent start --help` — command options.
116
+ - `backbone templates list` — injected instructions you can inspect and edit.
117
+ - `backbone docs index` — the [documentation reading guide](docs/INDEX.md).
118
+ - `backbone docs usage` — this page from an installed package.
@@ -0,0 +1,50 @@
1
+ # Documentation index
2
+
3
+ New here? Start with [Getting started](getting-started.md) to install and send
4
+ a first task. [Quick usage](../USAGE.md) covers everyday commands. Each page is also
5
+ available as `backbone docs PAGE` after installation (for example,
6
+ `backbone docs getting-started`). Installed help describes your installed version; GitHub pages describe the
7
+ branch or tag you are viewing. Relative links keep you on that same revision.
8
+
9
+ ## 1. Get started
10
+
11
+ 1. [Getting started](getting-started.md) — install, start agents and send a message.
12
+ 2. [Concepts](concepts.md) — names, runtimes, states and delivery conditions.
13
+ 3. [CLI reference](cli.md) — start, resume, attach, rename and configure agents.
14
+
15
+ ## 2. Run your team
16
+
17
+ - [Token usage](token-usage.md) — per-agent CLI sessions, model tokens and optional API estimates.
18
+ - [Report audio](report-audio.md) — optional local read-aloud in Telegram.
19
+ - [Progress reports](reports.md) — goals, progress, blockers and next steps.
20
+ - [Instruction templates](templates.md) — edit base, role and tag instructions.
21
+ - [Skills](skills.md) — one shared store of skills, given to agents by tag.
22
+ - [Deep reviews](deep-reviews.md) — run reviews in the background and retrieve findings.
23
+ - [Swarms](swarms.md) — coordinate several agents on one task.
24
+ - [Configuration](configuration.md) — settings, secrets and data locations.
25
+ - [Diagnostics](diagnostics.md) — investigate failures, retries and startup problems.
26
+
27
+ ## 3. Connect other tools
28
+
29
+ - [GitHub](github.md) — issue routing and review notifications.
30
+ - [GitHub App setup](github-app-setup.md) — configure webhook intake.
31
+ - [Telegram](telegram.md) — talk to agents and read updates from your phone.
32
+ - [Sources and subscriptions](sources.md) — agents subscribe to inbound events (Gmail) with filters and priority.
33
+ - [API reference](api.md) — build scripts and dashboards.
34
+ - [Integrations](integrations.md) — add another communication channel.
35
+
36
+ ## 4. Understand and contribute
37
+
38
+ - [How it works](how-it-works.md) — follow requests through the system.
39
+ - [Security](security.md) — trust boundaries and defaults.
40
+ - [Signed senders and owner-confirmed messages](owner-confirmed-messages.md) —
41
+ how an app signs its requests and enrolls its key.
42
+ - [Runtime capabilities](runtime-capabilities.md) — which capabilities work on which agent CLI.
43
+ - [Status and roadmap](status-and-roadmap.md) — verified capabilities and remaining work.
44
+ - [Contributing](../CONTRIBUTING.md) — development and checks.
45
+
46
+ ## Help, templates and media
47
+
48
+ [Help](../help/) contains short playbooks agents request with `backbone help`.
49
+ [Templates](../templates/) contains instructions injected at launch.
50
+ [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`.