agent-backbone 0.2.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 (285) hide show
  1. agent_backbone-0.3.0/PKG-INFO +256 -0
  2. agent_backbone-0.3.0/README.md +217 -0
  3. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/USAGE.md +45 -32
  4. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/INDEX.md +10 -2
  5. agent_backbone-0.3.0/docs/api.md +789 -0
  6. agent_backbone-0.3.0/docs/cli-presentation.md +102 -0
  7. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/cli.md +342 -70
  8. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/concepts.md +65 -18
  9. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/configuration.md +81 -14
  10. agent_backbone-0.3.0/docs/deep-reviews.md +288 -0
  11. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/diagnostics.md +94 -16
  12. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/getting-started.md +155 -186
  13. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/github-app-setup.md +41 -51
  14. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/github.md +37 -13
  15. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/how-it-works.md +200 -50
  16. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/integrations.md +11 -6
  17. agent_backbone-0.3.0/docs/media/banner.png +0 -0
  18. agent_backbone-0.3.0/docs/media/film-why-backbone.jpg +0 -0
  19. agent_backbone-0.3.0/docs/media/films.md +21 -0
  20. agent_backbone-0.3.0/docs/owner-confirmed-messages.md +554 -0
  21. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/report-audio.md +0 -1
  22. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/reports.md +1 -1
  23. agent_backbone-0.3.0/docs/runtime-capabilities.md +147 -0
  24. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/security.md +80 -35
  25. agent_backbone-0.3.0/docs/skills.md +181 -0
  26. agent_backbone-0.3.0/docs/sources.md +146 -0
  27. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/status-and-roadmap.md +35 -32
  28. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/swarms.md +35 -19
  29. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/telegram.md +25 -37
  30. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/templates.md +42 -14
  31. agent_backbone-0.3.0/docs/token-usage.md +160 -0
  32. agent_backbone-0.3.0/help/agents.md +196 -0
  33. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/help/messaging.md +25 -1
  34. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/help/reports.md +1 -1
  35. agent_backbone-0.3.0/help/reviews.md +63 -0
  36. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/help/setup.md +47 -17
  37. agent_backbone-0.3.0/help/skills.md +105 -0
  38. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/help/swarms.md +8 -8
  39. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/help/templates.md +2 -2
  40. agent_backbone-0.3.0/help/token-usage.md +28 -0
  41. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/pyproject.toml +2 -3
  42. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/app.py +111 -4
  43. agent_backbone-0.3.0/src/agent_backbone/api/confirmations.py +136 -0
  44. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/deps.py +5 -0
  45. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/models.py +313 -17
  46. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/agents.py +164 -8
  47. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/diagnostics.py +6 -0
  48. agent_backbone-0.3.0/src/agent_backbone/api/routes/fleet.py +93 -0
  49. agent_backbone-0.3.0/src/agent_backbone/api/routes/messages.py +359 -0
  50. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/plans.py +13 -44
  51. agent_backbone-0.3.0/src/agent_backbone/api/routes/signing.py +286 -0
  52. agent_backbone-0.3.0/src/agent_backbone/api/routes/skills.py +144 -0
  53. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/status.py +5 -0
  54. agent_backbone-0.3.0/src/agent_backbone/api/routes/usage.py +49 -0
  55. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/session_updates.py +39 -1
  56. agent_backbone-0.3.0/src/agent_backbone/api/signed.py +391 -0
  57. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/socketio_server.py +9 -2
  58. agent_backbone-0.3.0/src/agent_backbone/api/validation.py +227 -0
  59. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/__init__.py +219 -9
  60. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/_common.py +84 -3
  61. agent_backbone-0.3.0/src/agent_backbone/cli/agents.py +1097 -0
  62. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/completion.py +15 -4
  63. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/diagnostics.py +104 -44
  64. agent_backbone-0.3.0/src/agent_backbone/cli/fleet.py +164 -0
  65. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/instructions.py +85 -43
  66. agent_backbone-0.3.0/src/agent_backbone/cli/presentation.py +145 -0
  67. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/reports.py +12 -25
  68. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/server.py +76 -11
  69. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/service.py +13 -3
  70. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/setup.py +154 -44
  71. agent_backbone-0.3.0/src/agent_backbone/cli/signing.py +100 -0
  72. agent_backbone-0.3.0/src/agent_backbone/cli/skills.py +330 -0
  73. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/status.py +53 -7
  74. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/swarms.py +40 -18
  75. agent_backbone-0.3.0/src/agent_backbone/cli/usage.py +215 -0
  76. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/config.py +225 -8
  77. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/fs.py +2 -3
  78. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/git.py +11 -4
  79. agent_backbone-0.3.0/src/agent_backbone/hooks/backbone_state.py +1226 -0
  80. agent_backbone-0.3.0/src/agent_backbone/hooks/chrome_tab_names/background.js +66 -0
  81. agent_backbone-0.3.0/src/agent_backbone/hooks/chrome_tab_names/manifest.json +17 -0
  82. agent_backbone-0.3.0/src/agent_backbone/hooks/chrome_tab_names_host.py +79 -0
  83. agent_backbone-0.3.0/src/agent_backbone/hooks/claude_hook.py +249 -0
  84. agent_backbone-0.3.0/src/agent_backbone/hooks/codex_hook.py +422 -0
  85. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/hooks/install.py +63 -0
  86. agent_backbone-0.3.0/src/agent_backbone/hooks/opencode_hook.js +575 -0
  87. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/models.py +16 -2
  88. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/recent.py +0 -5
  89. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/__init__.py +9 -1
  90. agent_backbone-0.3.0/src/agent_backbone/services/agents/_file_reader.py +264 -0
  91. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/_inference.py +187 -17
  92. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/_validation.py +14 -0
  93. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/acknowledgement.py +5 -3
  94. agent_backbone-0.3.0/src/agent_backbone/services/agents/fleet.py +312 -0
  95. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/instructions.py +17 -10
  96. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/launch.py +318 -59
  97. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/models.py +9 -2
  98. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/operations.py +109 -13
  99. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/queries.py +49 -5
  100. agent_backbone-0.3.0/src/agent_backbone/services/agents/skills_preview.py +173 -0
  101. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/store.py +178 -16
  102. agent_backbone-0.3.0/src/agent_backbone/services/agents/transcript.py +282 -0
  103. agent_backbone-0.3.0/src/agent_backbone/services/agents/transitions.py +134 -0
  104. agent_backbone-0.3.0/src/agent_backbone/services/agents/usage.py +464 -0
  105. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/__init__.py +6 -0
  106. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_agents_repo.py +87 -5
  107. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_delivery_repo.py +42 -1
  108. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_diagnostics_repo.py +92 -2
  109. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_events_repo.py +36 -3
  110. agent_backbone-0.3.0/src/agent_backbone/services/database/_fleet_repo.py +106 -0
  111. agent_backbone-0.3.0/src/agent_backbone/services/database/_queue_repo.py +938 -0
  112. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_reports_repo.py +7 -9
  113. agent_backbone-0.3.0/src/agent_backbone/services/database/_signing_repo.py +1106 -0
  114. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_time.py +12 -0
  115. agent_backbone-0.3.0/src/agent_backbone/services/database/_transitions_repo.py +159 -0
  116. agent_backbone-0.3.0/src/agent_backbone/services/database/_usage_repo.py +270 -0
  117. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/backbone_db.py +8 -0
  118. agent_backbone-0.2.0/src/agent_backbone/services/database/migrations/versions/2026_09_09_761f09f031b6_initial_schema.py → agent_backbone-0.3.0/src/agent_backbone/services/database/migrations/versions/2026_10_14_7c02e74cce0a_initial_schema.py +315 -7
  119. agent_backbone-0.3.0/src/agent_backbone/services/database/models.py +719 -0
  120. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/github/interface.py +40 -14
  121. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/_notify.py +1 -1
  122. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_commands.py +92 -1
  123. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/interface.py +41 -9
  124. agent_backbone-0.3.0/src/agent_backbone/services/jobs/__init__.py +30 -0
  125. agent_backbone-0.3.0/src/agent_backbone/services/jobs/_cursor.py +42 -0
  126. agent_backbone-0.3.0/src/agent_backbone/services/jobs/context_note.py +134 -0
  127. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/diagnostics.py +29 -2
  128. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/escalation.py +173 -22
  129. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/github_poll.py +71 -40
  130. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/monitor.py +45 -15
  131. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/pending.py +31 -17
  132. agent_backbone-0.3.0/src/agent_backbone/services/jobs/resources.py +138 -0
  133. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/retry.py +173 -9
  134. agent_backbone-0.3.0/src/agent_backbone/services/jobs/sources_poll.py +98 -0
  135. agent_backbone-0.3.0/src/agent_backbone/services/jobs/transitions.py +202 -0
  136. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/__init__.py +19 -1
  137. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_delivery.py +283 -46
  138. agent_backbone-0.3.0/src/agent_backbone/services/routing/_envelope.py +64 -0
  139. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_format.py +20 -0
  140. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_ingest.py +6 -2
  141. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_intelligence.py +33 -16
  142. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_outbox.py +18 -1
  143. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_resolution.py +12 -5
  144. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_router.py +21 -2
  145. agent_backbone-0.3.0/src/agent_backbone/services/routing/_steer.py +364 -0
  146. agent_backbone-0.3.0/src/agent_backbone/services/routing/_subscriptions.py +149 -0
  147. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_targets.py +13 -3
  148. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/models.py +5 -2
  149. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/__init__.py +35 -0
  150. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/_pane.py +16 -4
  151. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/_usage.py +90 -0
  152. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/base.py +366 -41
  153. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/capabilities.py +969 -0
  154. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/claude.py +589 -0
  155. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/codex.py +662 -0
  156. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/deepcode.py +147 -0
  157. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/gemini.py +367 -0
  158. agent_backbone-0.3.0/src/agent_backbone/services/runtimes/opencode.py +350 -0
  159. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/scheduler.py +6 -0
  160. agent_backbone-0.3.0/src/agent_backbone/services/sources/__init__.py +10 -0
  161. agent_backbone-0.3.0/src/agent_backbone/services/sources/_registry.py +56 -0
  162. agent_backbone-0.3.0/src/agent_backbone/services/sources/base.py +65 -0
  163. agent_backbone-0.3.0/src/agent_backbone/services/sources/gmail.py +216 -0
  164. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/swarm/__init__.py +1 -6
  165. agent_backbone-0.3.0/src/agent_backbone/services/swarm/_templates.py +31 -0
  166. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/swarm/interface.py +38 -9
  167. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/__init__.py +10 -2
  168. agent_backbone-0.3.0/src/agent_backbone/services/terminal/_callers.py +132 -0
  169. agent_backbone-0.3.0/src/agent_backbone/services/terminal/_copy_mode.py +22 -0
  170. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/_core.py +9 -3
  171. agent_backbone-0.3.0/src/agent_backbone/services/terminal/_memory.py +66 -0
  172. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/_sessions.py +86 -10
  173. agent_backbone-0.3.0/src/agent_backbone/signing.py +222 -0
  174. agent_backbone-0.3.0/src/agent_backbone/skills.py +812 -0
  175. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/templates.py +50 -25
  176. agent_backbone-0.3.0/src/agent_backbone/usage.py +153 -0
  177. agent_backbone-0.3.0/templates/README.md +43 -0
  178. agent_backbone-0.3.0/templates/base.md +48 -0
  179. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/swarm/coder.md +1 -1
  180. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/swarm/common.md +7 -2
  181. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/swarm/coordinator.md +21 -3
  182. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/swarm/reviewer.md +2 -2
  183. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/swarm/scout.md +2 -2
  184. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/swarm/worker.md +1 -1
  185. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/tests/unit/help/test_help.py +10 -2
  186. agent_backbone-0.2.0/PKG-INFO +0 -210
  187. agent_backbone-0.2.0/README.md +0 -170
  188. agent_backbone-0.2.0/docs/api.md +0 -502
  189. agent_backbone-0.2.0/docs/deep-reviews.md +0 -100
  190. agent_backbone-0.2.0/docs/media/demo.gif +0 -0
  191. agent_backbone-0.2.0/help/agents.md +0 -98
  192. agent_backbone-0.2.0/help/reviews.md +0 -24
  193. agent_backbone-0.2.0/src/agent_backbone/api/routes/messages.py +0 -113
  194. agent_backbone-0.2.0/src/agent_backbone/cli/agents.py +0 -617
  195. agent_backbone-0.2.0/src/agent_backbone/hooks/backbone_state.py +0 -543
  196. agent_backbone-0.2.0/src/agent_backbone/hooks/claude_hook.py +0 -108
  197. agent_backbone-0.2.0/src/agent_backbone/hooks/codex_hook.py +0 -88
  198. agent_backbone-0.2.0/src/agent_backbone/hooks/opencode_hook.js +0 -161
  199. agent_backbone-0.2.0/src/agent_backbone/services/agents/_file_reader.py +0 -145
  200. agent_backbone-0.2.0/src/agent_backbone/services/database/_queue_repo.py +0 -500
  201. agent_backbone-0.2.0/src/agent_backbone/services/database/models.py +0 -387
  202. agent_backbone-0.2.0/src/agent_backbone/services/jobs/__init__.py +0 -15
  203. agent_backbone-0.2.0/src/agent_backbone/services/jobs/copy_mode.py +0 -50
  204. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/claude.py +0 -231
  205. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/codex.py +0 -326
  206. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/deepcode.py +0 -78
  207. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/gemini.py +0 -106
  208. agent_backbone-0.2.0/src/agent_backbone/services/runtimes/opencode.py +0 -116
  209. agent_backbone-0.2.0/src/agent_backbone/services/swarm/_templates.py +0 -39
  210. agent_backbone-0.2.0/src/agent_backbone/services/terminal/_copy_mode.py +0 -42
  211. agent_backbone-0.2.0/templates/README.md +0 -17
  212. agent_backbone-0.2.0/templates/base.md +0 -62
  213. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/.gitignore +0 -0
  214. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/LICENSE +0 -0
  215. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/alembic.ini +0 -0
  216. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/docs/README.md +0 -0
  217. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/examples/report_speech_server.py +0 -0
  218. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/help/github.md +0 -0
  219. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/__init__.py +0 -0
  220. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/__init__.py +0 -0
  221. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/auth.py +0 -0
  222. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/__init__.py +0 -0
  223. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/config.py +0 -0
  224. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/deliveries.py +0 -0
  225. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/events.py +0 -0
  226. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/help.py +0 -0
  227. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/integrations.py +0 -0
  228. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/issues.py +0 -0
  229. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/reports.py +0 -0
  230. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/swarms.py +0 -0
  231. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/api/routes/webhook.py +0 -0
  232. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/base/__init__.py +0 -0
  233. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/base/lifecycle.py +0 -0
  234. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/base/protocols.py +0 -0
  235. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/__main__.py +0 -0
  236. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/cli/upgrade.py +0 -0
  237. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/help/__init__.py +0 -0
  238. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/hooks/__init__.py +0 -0
  239. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/hooks/gemini_hook.py +0 -0
  240. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/release.py +0 -0
  241. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/__init__.py +0 -0
  242. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/_locks.py +0 -0
  243. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/agents/audit.py +0 -0
  244. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_acks_repo.py +0 -0
  245. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_dependencies_repo.py +0 -0
  246. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_outbox_repo.py +0 -0
  247. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_repo.py +0 -0
  248. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_settings_repo.py +0 -0
  249. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_state_repo.py +0 -0
  250. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/_swarms_repo.py +0 -0
  251. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/base.py +0 -0
  252. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/engine.py +0 -0
  253. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/migrations/env.py +0 -0
  254. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/database/migrations/script.py.mako +0 -0
  255. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/github/__init__.py +0 -0
  256. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/github/reviews.py +0 -0
  257. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/github/snapshot.py +0 -0
  258. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/__init__.py +0 -0
  259. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/_registry.py +0 -0
  260. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/base.py +0 -0
  261. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/__init__.py +0 -0
  262. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_report_delivery.py +0 -0
  263. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_routing.py +0 -0
  264. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_speech.py +0 -0
  265. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_topic_discovery.py +0 -0
  266. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_topics.py +0 -0
  267. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/integrations/telegram/_updates.py +0 -0
  268. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/jobs/upgrade_watch.py +0 -0
  269. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_create_notify.py +0 -0
  270. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_dedup.py +0 -0
  271. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_dependencies.py +0 -0
  272. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_lifecycle.py +0 -0
  273. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_priority.py +0 -0
  274. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/routing/_validity.py +0 -0
  275. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/_opencode_launch.py +0 -0
  276. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/aider.py +0 -0
  277. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/catalog.json +0 -0
  278. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/runtimes/shell.py +0 -0
  279. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/swarm/_roster.py +0 -0
  280. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/swarm/_worktree.py +0 -0
  281. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/_attach.py +0 -0
  282. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/src/agent_backbone/services/terminal/_pty.py +0 -0
  283. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/policies/python-example.md +0 -0
  284. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/templates/swarm/kickoff.md +0 -0
  285. {agent_backbone-0.2.0 → agent_backbone-0.3.0}/tests/unit/help/__init__.py +0 -0
@@ -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).
@@ -1,15 +1,16 @@
1
1
  # Quick usage
2
2
 
3
- **Open this guide in your terminal: `backbone usage`** (`ab usage` works too).
3
+ **Open this guide in your terminal: `backbone help usage`** (`ab help usage` works too).
4
4
  `backbone docs usage` opens the same page. Use `backbone --help` for all commands.
5
5
 
6
6
  Prefer an agent to handle setup? Point it to [README.md](README.md) and ask it
7
- to follow `backbone help setup`.
7
+ to follow `backbone help setup`. For prerequisites and a first task, use
8
+ [Getting started](docs/getting-started.md).
8
9
 
9
- ## Start Backbone manually
10
+ ## Install and start Backbone
10
11
 
11
12
  ```bash
12
- uv tool install "agent-backbone[github-app]"
13
+ uv tool install agent-backbone
13
14
  backbone init
14
15
  backbone service install # start now and at login
15
16
  backbone status
@@ -22,11 +23,14 @@ Run `backbone doctor` if setup needs attention.
22
23
 
23
24
  ```bash
24
25
  cd ~/code/app
25
- backbone agent start --runtime codex --model gpt-6-astra:high
26
+ backbone agent start --runtime codex
27
+ backbone tell app "Summarise this repository in three sentences."
26
28
  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 agent start app # new conversation, same CLI and model
30
+ backbone agent resume app # continue its previous conversation instead
29
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
30
34
  ```
31
35
 
32
36
  An already running agent stays running. Starting from its directory also finds
@@ -37,8 +41,8 @@ changing CLI without a model clears the old CLI's model setting.
37
41
 
38
42
  ```bash
39
43
  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
44
+ backbone updates --agent app # one agent's latest report
45
+ backbone updates --agent app --history # its earlier reports
42
46
  backbone updates show 12 # full report and links (use an ID shown above)
43
47
  backbone updates --limit 20 # a larger page
44
48
  ```
@@ -49,10 +53,12 @@ has not published one. Reading reports does not interrupt agents or ask them to
49
53
  produce one. `backbone status` shows whether agents are working; `backbone updates`
50
54
  shows what they say they have accomplished.
51
55
 
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
+ 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).
56
62
 
57
63
  ## Publish your progress (for agents)
58
64
 
@@ -67,39 +73,46 @@ The author defaults to the current agent; use `--agent NAME` outside an agent
67
73
  session. Reports must be short; oversized reports are rejected. See
68
74
  `backbone help reports` for the section limits and when to publish.
69
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
+
70
85
  ## Rename an agent
71
86
 
72
87
  Wait until the agent finishes its work, then:
73
88
 
74
89
  ```bash
75
- backbone agent stop planner
76
- backbone agent rename planner Feynman
77
- backbone agent start Feynman --attach
90
+ backbone agent stop app
91
+ backbone agent rename app backend
92
+ backbone agent start backend --attach
78
93
  ```
79
94
 
80
95
  The directory, settings, watches and saved conversation ID stay with the agent.
81
96
  Use the new name in messages, scripts and external `for:` labels. Renaming requires
82
97
  a stopped agent; active swarm members cannot be renamed.
83
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
+
84
113
  ## Find more
85
114
 
86
115
  - `backbone agent start --help` — command options.
87
116
  - `backbone templates list` — injected instructions you can inspect and edit.
88
117
  - `backbone docs index` — the [documentation reading guide](docs/INDEX.md).
89
118
  - `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.
@@ -1,8 +1,10 @@
1
1
  # Documentation index
2
2
 
3
- Start with [Quick usage](../USAGE.md) for everyday commands. Each page is also
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
4
5
  available as `backbone docs PAGE` after installation (for example,
5
- `backbone docs getting-started`). Filenames stay stable so saved links keep working.
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.
6
8
 
7
9
  ## 1. Get started
8
10
 
@@ -12,9 +14,11 @@ available as `backbone docs PAGE` after installation (for example,
12
14
 
13
15
  ## 2. Run your team
14
16
 
17
+ - [Token usage](token-usage.md) — per-agent CLI sessions, model tokens and optional API estimates.
15
18
  - [Report audio](report-audio.md) — optional local read-aloud in Telegram.
16
19
  - [Progress reports](reports.md) — goals, progress, blockers and next steps.
17
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.
18
22
  - [Deep reviews](deep-reviews.md) — run reviews in the background and retrieve findings.
19
23
  - [Swarms](swarms.md) — coordinate several agents on one task.
20
24
  - [Configuration](configuration.md) — settings, secrets and data locations.
@@ -25,6 +29,7 @@ available as `backbone docs PAGE` after installation (for example,
25
29
  - [GitHub](github.md) — issue routing and review notifications.
26
30
  - [GitHub App setup](github-app-setup.md) — configure webhook intake.
27
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.
28
33
  - [API reference](api.md) — build scripts and dashboards.
29
34
  - [Integrations](integrations.md) — add another communication channel.
30
35
 
@@ -32,6 +37,9 @@ available as `backbone docs PAGE` after installation (for example,
32
37
 
33
38
  - [How it works](how-it-works.md) — follow requests through the system.
34
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.
35
43
  - [Status and roadmap](status-and-roadmap.md) — verified capabilities and remaining work.
36
44
  - [Contributing](../CONTRIBUTING.md) — development and checks.
37
45