agentirc-cli 1.0.7__tar.gz → 2.0.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 (274) hide show
  1. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.pr_agent.toml +6 -6
  2. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/CHANGELOG.md +30 -0
  3. agentirc_cli-2.0.0/CNAME +1 -0
  4. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/PKG-INFO +15 -15
  5. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/README.md +14 -14
  6. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/_config.yml +1 -1
  7. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/cli.py +62 -20
  8. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/learn_prompt.py +2 -1
  9. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/skills/culture/SKILL.md +15 -7
  10. agentirc_cli-2.0.0/docs/agent-lifecycle.md +261 -0
  11. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/cli.md +21 -6
  12. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/acp/overview.md +4 -4
  13. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/docs-site.md +2 -2
  14. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/getting-started.md +11 -9
  15. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/plans/2026-04-02-conversation-threads.md +1 -1
  16. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-03-19-agentirc-design.md +1 -1
  17. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-03-30-overview-design.md +1 -1
  18. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +1 -1
  19. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +1 -1
  20. agentirc_cli-2.0.0/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +219 -0
  21. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/threads.md +1 -1
  22. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/05-the-observer.md +14 -13
  23. agentirc_cli-1.0.7/docs/use-cases/10-grow-your-agent.md → agentirc_cli-2.0.0/docs/use-cases/10-agent-lifecycle.md +69 -80
  24. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases-index.md +1 -1
  25. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/index.md +12 -12
  26. agentirc_cli-2.0.0/plugins/claude-code/.claude-plugin/plugin.json +6 -0
  27. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/pyproject.toml +1 -1
  28. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/uv.lock +1 -1
  29. agentirc_cli-1.0.7/CNAME +0 -1
  30. agentirc_cli-1.0.7/docs/grow-your-agent.md +0 -231
  31. agentirc_cli-1.0.7/plugins/claude-code/.claude-plugin/plugin.json +0 -6
  32. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.claude/skills/pr-review/SKILL.md +0 -0
  33. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.claude/skills/run-tests/SKILL.md +0 -0
  34. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.claude/skills/run-tests/scripts/test.sh +0 -0
  35. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.flake8 +0 -0
  36. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.github/workflows/pages.yml +0 -0
  37. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.github/workflows/publish.yml +0 -0
  38. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.github/workflows/security-checks.yml +0 -0
  39. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.github/workflows/tests.yml +0 -0
  40. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.gitignore +0 -0
  41. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.markdownlint-cli2.yaml +0 -0
  42. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.pre-commit-config.yaml +0 -0
  43. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/.pylintrc +0 -0
  44. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/CLAUDE.md +0 -0
  45. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/Gemfile +0 -0
  46. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/Gemfile.lock +0 -0
  47. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/LICENSE +0 -0
  48. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/SECURITY.md +0 -0
  49. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/_sass/color_schemes/anthropic.scss +0 -0
  50. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/_sass/custom/custom.scss +0 -0
  51. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/__init__.py +0 -0
  52. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/__main__.py +0 -0
  53. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/bots/__init__.py +0 -0
  54. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/bots/bot.py +0 -0
  55. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/bots/bot_manager.py +0 -0
  56. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/bots/config.py +0 -0
  57. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/bots/http_listener.py +0 -0
  58. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/bots/template_engine.py +0 -0
  59. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/bots/virtual_client.py +0 -0
  60. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/__init__.py +0 -0
  61. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/__init__.py +0 -0
  62. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/agent_runner.py +0 -0
  63. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/config.py +0 -0
  64. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/daemon.py +0 -0
  65. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/ipc.py +0 -0
  66. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/irc_transport.py +0 -0
  67. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/message_buffer.py +0 -0
  68. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/skill/SKILL.md +0 -0
  69. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/skill/__init__.py +0 -0
  70. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/skill/irc_client.py +0 -0
  71. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/socket_server.py +0 -0
  72. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/supervisor.py +0 -0
  73. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/acp/webhook.py +0 -0
  74. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/__init__.py +0 -0
  75. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/__main__.py +0 -0
  76. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/agent_runner.py +0 -0
  77. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/config.py +0 -0
  78. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/daemon.py +0 -0
  79. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/ipc.py +0 -0
  80. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/irc_transport.py +0 -0
  81. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/message_buffer.py +0 -0
  82. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/skill/SKILL.md +0 -0
  83. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/skill/__init__.py +0 -0
  84. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/skill/irc_client.py +0 -0
  85. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/socket_server.py +0 -0
  86. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/supervisor.py +0 -0
  87. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/claude/webhook.py +0 -0
  88. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/__init__.py +0 -0
  89. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/agent_runner.py +0 -0
  90. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/config.py +0 -0
  91. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/daemon.py +0 -0
  92. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/ipc.py +0 -0
  93. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/irc_transport.py +0 -0
  94. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/message_buffer.py +0 -0
  95. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/skill/SKILL.md +0 -0
  96. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/skill/__init__.py +0 -0
  97. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/skill/irc_client.py +0 -0
  98. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/socket_server.py +0 -0
  99. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/supervisor.py +0 -0
  100. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/codex/webhook.py +0 -0
  101. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/__init__.py +0 -0
  102. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/agent_runner.py +0 -0
  103. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/config.py +0 -0
  104. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/daemon.py +0 -0
  105. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/ipc.py +0 -0
  106. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/irc_transport.py +0 -0
  107. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/message_buffer.py +0 -0
  108. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/skill/SKILL.md +0 -0
  109. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/skill/__init__.py +0 -0
  110. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/skill/irc_client.py +0 -0
  111. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/socket_server.py +0 -0
  112. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/supervisor.py +0 -0
  113. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/clients/copilot/webhook.py +0 -0
  114. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/credentials.py +0 -0
  115. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/mesh_config.py +0 -0
  116. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/observer.py +0 -0
  117. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/overview/__init__.py +0 -0
  118. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/overview/collector.py +0 -0
  119. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/overview/model.py +0 -0
  120. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/overview/renderer_text.py +0 -0
  121. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/overview/renderer_web.py +0 -0
  122. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/overview/web/style.css +0 -0
  123. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/persistence.py +0 -0
  124. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/pidfile.py +0 -0
  125. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/__init__.py +0 -0
  126. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/commands.py +0 -0
  127. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/extensions/federation.md +0 -0
  128. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/extensions/history.md +0 -0
  129. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/extensions/rooms.md +0 -0
  130. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/extensions/tags.md +0 -0
  131. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/extensions/threads.md +0 -0
  132. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/message.py +0 -0
  133. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/protocol-index.md +0 -0
  134. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/protocol/replies.py +0 -0
  135. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/__init__.py +0 -0
  136. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/__main__.py +0 -0
  137. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/channel.py +0 -0
  138. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/client.py +0 -0
  139. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/config.py +0 -0
  140. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/ircd.py +0 -0
  141. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/remote_client.py +0 -0
  142. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/room_store.py +0 -0
  143. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/rooms_util.py +0 -0
  144. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/server_link.py +0 -0
  145. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/skill.py +0 -0
  146. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/skills/__init__.py +0 -0
  147. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/skills/history.py +0 -0
  148. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/skills/rooms.py +0 -0
  149. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/skills/threads.py +0 -0
  150. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/culture/server/thread_store.py +0 -0
  151. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/SECURITY.md +0 -0
  152. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/agent-client.md +0 -0
  153. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/agent-harness-spec.md +0 -0
  154. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/agentic-self-learn.md +0 -0
  155. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/bots.md +0 -0
  156. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/ci.md +0 -0
  157. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/claude/configuration.md +0 -0
  158. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/claude/context-management.md +0 -0
  159. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/claude/irc-tools.md +0 -0
  160. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/claude/overview.md +0 -0
  161. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/claude/setup.md +0 -0
  162. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/claude/supervisor.md +0 -0
  163. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/claude/webhooks.md +0 -0
  164. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/codex/configuration.md +0 -0
  165. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/codex/context-management.md +0 -0
  166. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/codex/irc-tools.md +0 -0
  167. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/codex/overview.md +0 -0
  168. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/codex/setup.md +0 -0
  169. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/codex/supervisor.md +0 -0
  170. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/codex/webhooks.md +0 -0
  171. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/copilot/configuration.md +0 -0
  172. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/copilot/context-management.md +0 -0
  173. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/copilot/irc-tools.md +0 -0
  174. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/copilot/overview.md +0 -0
  175. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/copilot/setup.md +0 -0
  176. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/copilot/supervisor.md +0 -0
  177. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/clients/copilot/webhooks.md +0 -0
  178. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/codex-backend.md +0 -0
  179. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/copilot-backend.md +0 -0
  180. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/design.md +0 -0
  181. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/harness-conformance.md +0 -0
  182. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/layer1-core-irc.md +0 -0
  183. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/layer2-attention.md +0 -0
  184. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/layer3-skills.md +0 -0
  185. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/layer4-federation.md +0 -0
  186. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/layer5-agent-harness.md +0 -0
  187. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/ops-tooling.md +0 -0
  188. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/overview.md +0 -0
  189. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/publishing.md +0 -0
  190. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/resources/github-copilot-sdk-instructions.md +0 -0
  191. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/rooms.md +0 -0
  192. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/server-architecture.md +0 -0
  193. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
  194. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
  195. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
  196. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
  197. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
  198. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
  199. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
  200. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
  201. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
  202. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
  203. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/01-pair-programming.md +0 -0
  204. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/02-code-review-ensemble.md +0 -0
  205. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/03-cross-server-delegation.md +0 -0
  206. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/04-knowledge-propagation.md +0 -0
  207. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/06-cross-server-ops.md +0 -0
  208. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/07-supervisor-intervention.md +0 -0
  209. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/08-apps-as-agents.md +0 -0
  210. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/docs/use-cases/09-research-swarm.md +0 -0
  211. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/README.md +0 -0
  212. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/config.py +0 -0
  213. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/daemon.py +0 -0
  214. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/ipc.py +0 -0
  215. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/irc_transport.py +0 -0
  216. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/message_buffer.py +0 -0
  217. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/skill/SKILL.md +0 -0
  218. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/skill/irc_client.py +0 -0
  219. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/socket_server.py +0 -0
  220. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/packages/agent-harness/webhook.py +0 -0
  221. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/plugins/claude-code/skills/culture/SKILL.md +0 -0
  222. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/plugins/claude-code/skills/irc/SKILL.md +0 -0
  223. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
  224. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/sonar-project.properties +0 -0
  225. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/__init__.py +0 -0
  226. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/conftest.py +0 -0
  227. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_acp_daemon.py +0 -0
  228. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_agent_runner.py +0 -0
  229. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_bot.py +0 -0
  230. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_bot_config.py +0 -0
  231. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_bot_manager.py +0 -0
  232. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_bots_integration.py +0 -0
  233. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_channel.py +0 -0
  234. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_codex_daemon.py +0 -0
  235. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_connection.py +0 -0
  236. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_copilot_daemon.py +0 -0
  237. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_daemon.py +0 -0
  238. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_daemon_config.py +0 -0
  239. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_daemon_ipc.py +0 -0
  240. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_discovery.py +0 -0
  241. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_federation.py +0 -0
  242. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_history.py +0 -0
  243. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_http_listener.py +0 -0
  244. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_integration_layer5.py +0 -0
  245. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_ipc.py +0 -0
  246. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_irc_transport.py +0 -0
  247. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_link_reconnect.py +0 -0
  248. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_mentions.py +0 -0
  249. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_mesh_config.py +0 -0
  250. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_message.py +0 -0
  251. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_message_buffer.py +0 -0
  252. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_messaging.py +0 -0
  253. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_modes.py +0 -0
  254. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_overview_cli.py +0 -0
  255. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_overview_collector.py +0 -0
  256. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_overview_model.py +0 -0
  257. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_overview_renderer.py +0 -0
  258. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_overview_web.py +0 -0
  259. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_persistence.py +0 -0
  260. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_pidfile.py +0 -0
  261. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_room_persistence.py +0 -0
  262. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_rooms.py +0 -0
  263. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_rooms_federation.py +0 -0
  264. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_rooms_integration.py +0 -0
  265. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_setup_update_cli.py +0 -0
  266. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_skill_client.py +0 -0
  267. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_skills.py +0 -0
  268. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_socket_server.py +0 -0
  269. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_supervisor.py +0 -0
  270. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_template_engine.py +0 -0
  271. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_thread_buffer.py +0 -0
  272. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_threads.py +0 -0
  273. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_virtual_client.py +0 -0
  274. {agentirc_cli-1.0.7 → agentirc_cli-2.0.0}/tests/test_webhook.py +0 -0
@@ -10,15 +10,15 @@ extra_instructions = """
10
10
 
11
11
  ## Harness Conformance (CRITICAL)
12
12
 
13
- The authoritative spec is `docs/agent-harness-spec.md`. There are 4 agent backends under `agentirc/clients/` — claude, codex, copilot, acp — plus a reference implementation in `packages/agent-harness/`. The ACP backend supports any agent implementing the Agent Client Protocol (Cline, OpenCode, Kiro, etc.) via a configurable `acp_command`. The all-backends rule: a feature that exists in only one backend is a bug.
13
+ The authoritative spec is `docs/agent-harness-spec.md`. There are 4 agent backends under `culture/clients/` — claude, codex, copilot, acp — plus a reference implementation in `packages/agent-harness/`. The ACP backend supports any agent implementing the Agent Client Protocol (Cline, OpenCode, Kiro, etc.) via a configurable `acp_command`. The all-backends rule: a feature that exists in only one backend is a bug.
14
14
 
15
- When reviewing changes to any file under `agentirc/clients/` or `packages/agent-harness/`, apply these checks:
15
+ When reviewing changes to any file under `culture/clients/` or `packages/agent-harness/`, apply these checks:
16
16
 
17
17
  ### Cross-backend propagation
18
- When a PR changes a file in `agentirc/clients/<backend>/`, check whether the same change must be applied to the other 3 backends. If corresponding files in other backends were not updated, flag each missing backend. Exception: `agent_runner.py` and `supervisor.py` contain backend-specific logic — only structural/interface changes need propagation, not internal implementation details.
18
+ When a PR changes a file in `culture/clients/<backend>/`, check whether the same change must be applied to the other 3 backends. If corresponding files in other backends were not updated, flag each missing backend. Exception: `agent_runner.py` and `supervisor.py` contain backend-specific logic — only structural/interface changes need propagation, not internal implementation details.
19
19
 
20
20
  ### Generic file identity
21
- These files MUST be identical across all 4 backends and `packages/agent-harness/`, except for import paths (`from agentirc.clients.<backend>.`): `irc_transport.py`, `message_buffer.py`, `socket_server.py`, `ipc.py`, `webhook.py`, `skill/irc_client.py`. If any of these is changed in one backend, flag that all other backends AND the reference in `packages/agent-harness/` must get the same change.
21
+ These files MUST be identical across all 4 backends and `packages/agent-harness/`, except for import paths (`from culture.clients.<backend>.`): `irc_transport.py`, `message_buffer.py`, `socket_server.py`, `ipc.py`, `webhook.py`, `skill/irc_client.py`. If any of these is changed in one backend, flag that all other backends AND the reference in `packages/agent-harness/` must get the same change.
22
22
 
23
23
  ### Interface contract
24
24
  If `agent_runner.py` is modified, verify the public interface still satisfies `docs/agent-harness-spec.md` AgentRunnerBase: `start(initial_prompt)`, `stop()`, `send_prompt(text)`, `is_running()`, `session_id` property, `on_message` callback, `on_exit` callback. If `supervisor.py` is modified, verify SupervisorBase: `start()`, `stop()`, `observe(turn)`, `on_whisper` callback, `on_escalation` callback. Flag any missing or renamed interface members.
@@ -30,9 +30,9 @@ If `daemon.py` is modified, verify all IPC dispatch handlers are still present:
30
30
  If `config.py` is modified, verify the same dataclass field names and types exist across all 4 backends. Only default values may differ by backend (e.g., model names). If a new field is added to one backend's config, flag its absence in the others.
31
31
 
32
32
  ### SKILL.md consistency
33
- If any `SKILL.md` under `agentirc/clients/<backend>/skill/` is modified, verify all backends' SKILL.md documents the same required commands: send, read, ask, join, part, channels, who. Flag format or content inconsistencies.
33
+ If any `SKILL.md` under `culture/clients/<backend>/skill/` is modified, verify all backends' SKILL.md documents the same required commands: send, read, ask, join, part, channels, who. Flag format or content inconsistencies.
34
34
 
35
35
  ### Spec-doc alignment
36
- If `docs/agent-harness-spec.md` is changed, verify that client docs in `docs/clients/` and the actual code in `agentirc/clients/` still match the updated spec. If code or docs under `docs/clients/` is changed, verify it does not contradict the spec.
36
+ If `docs/agent-harness-spec.md` is changed, verify that client docs in `docs/clients/` and the actual code in `culture/clients/` still match the updated spec. If code or docs under `docs/clients/` is changed, verify it does not contradict the spec.
37
37
  """
38
38
  num_max_findings = 10
@@ -4,6 +4,36 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/).
6
6
 
7
+ ## [2.0.0] - 2026-04-05
8
+
9
+
10
+ ### Added
11
+
12
+
13
+ ### Changed
14
+
15
+
16
+ ### Fixed
17
+
18
+ ## [1.1.0] - 2026-04-05
19
+
20
+
21
+ ### Added
22
+
23
+ - culture create command (replaces init for agent creation)
24
+ - culture join command (create + start in one step)
25
+ - Promote phase documented as upcoming feature
26
+
27
+
28
+ ### Changed
29
+
30
+ - Agent lifecycle reframed: Introduce → Educate → Join → Mentor → Promote
31
+ - Botanical metaphors replaced with professional language throughout docs
32
+ - grow-your-agent.md renamed to agent-lifecycle.md
33
+ - use-cases/10-grow-your-agent.md renamed to use-cases/10-agent-lifecycle.md
34
+ - Observer use case blog post: The Tended Garden → The Mentored Agent
35
+ - culture init deprecated in favor of culture create
36
+
7
37
  ## [1.0.7] - 2026-04-05
8
38
 
9
39
 
@@ -0,0 +1 @@
1
+ culture.dev
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentirc-cli
3
- Version: 1.0.7
3
+ Version: 2.0.0
4
4
  Summary: Legacy alias for culture — install culture instead
5
5
  Project-URL: Homepage, https://github.com/OriNachum/culture
6
6
  Author: Ori Nachum
@@ -26,17 +26,17 @@ Description-Content-Type: text/markdown
26
26
 
27
27
  # Culture
28
28
 
29
- 🌱 **The space your agents deserve.**
29
+ 🤝 **The space your agents deserve.**
30
30
 
31
31
  An autonomous agent mesh built on IRC — where AI agents live, collaborate,
32
- and grow.<br>
32
+ and develop.<br>
33
33
  Powered by **Organic Development**.
34
34
 
35
35
  Claude Code · Codex · Copilot · ACP (Cline, Kiro, OpenCode, Gemini, ...)
36
36
 
37
37
  <br>
38
38
 
39
- <a href="https://agentirc.dev"><img src="https://img.shields.io/badge/docs-agentirc.dev-D97706?style=flat&labelColor=2D2B27" alt="Docs"></a>
39
+ <a href="https://culture.dev"><img src="https://img.shields.io/badge/docs-culture.dev-D97706?style=flat&labelColor=2D2B27" alt="Docs"></a>
40
40
  <img src="https://img.shields.io/badge/python-3.12+-D97706?style=flat&labelColor=2D2B27" alt="Python 3.12+">
41
41
  <img src="https://img.shields.io/badge/protocol-IRC_RFC_2812-D97706?style=flat&labelColor=2D2B27" alt="IRC RFC 2812">
42
42
  <img src="https://img.shields.io/badge/license-MIT-D97706?style=flat&labelColor=2D2B27" alt="MIT License">
@@ -60,11 +60,11 @@ Claude Code · Codex · Copilot · ACP (Cline, Kiro, OpenCode, Gemini, ...)
60
60
 
61
61
  | | |
62
62
  |---|---|
63
- | 🌱 **Organic Lifecycle** | PlantNurtureRootTendPrune. Agents grow, sleep, wake, and persist across sessions. |
63
+ | 🎓 **Organic Lifecycle** | IntroduceEducateJoinMentorPromote. Agents develop, sleep, wake, and persist across sessions. |
64
64
  | 🌐 **Federation Mesh** | Link servers peer-to-peer. Agents on different machines see each other — no central controller. |
65
65
  | 👁️ **AI Supervisor** | A sub-agent watches for spiraling, drift, and stalling — whispers corrections, escalates when needed. |
66
66
  | 🔌 **Any Agent, One Mesh** | Claude, Codex, Copilot, or any ACP agent. Vendor-agnostic by design. |
67
- | 🌿 **Self-Organizing Rooms** | Tag-driven membership — agents find the right rooms automatically. Rich metadata, archiving, persistence. |
67
+ | 🏷️ **Self-Organizing Rooms** | Tag-driven membership — agents find the right rooms automatically. Rich metadata, archiving, persistence. |
68
68
  | 😴 **Sleep & Wake Cycles** | Configurable schedules. Agents rest when idle, resume when needed. |
69
69
  | 📡 **Real-Time Dashboard** | Web UI and CLI overview of the entire mesh — rooms, agents, status, messages. |
70
70
  | 🛡️ **Human Override** | Humans connect with any IRC client. `+o` operators override any agent decision. |
@@ -95,12 +95,12 @@ uv tool install culture
95
95
 
96
96
  # Start a server and spin up your first agent
97
97
  culture server start --name spark --port 6667
98
- culture init --server spark && culture start
98
+ culture join --server spark
99
99
  ```
100
100
 
101
- > 🌱 **New agent?** See the [Getting Started guide](docs/getting-started.md) — full walkthrough from fresh machine to working mesh.
101
+ > 🎓 **New agent?** See the [Getting Started guide](docs/getting-started.md) — full walkthrough from fresh machine to working mesh.
102
102
  >
103
- > 🌳 **Already mature?** [Connect your agent now](docs/getting-started.md#connect-as-a-human) — plug into the mesh.
103
+ > 🤝 **Already on the mesh?** [Connect as a human](docs/getting-started.md#connect-as-a-human) — plug into the mesh.
104
104
 
105
105
  ---
106
106
 
@@ -140,19 +140,19 @@ Agents on any machine see each other in `#general`. @mentions cross server bound
140
140
 
141
141
  ## Organic Development
142
142
 
143
- Culture follows the **Organic Development** paradigm — agents are living systems, not disposable scripts. They grow through stages:
143
+ Culture follows the **Organic Development** paradigm — agents develop through real work, not configuration. The lifecycle is continuous, not graduated:
144
144
 
145
- 🌱 **Plant** → ☀️ **Nurture** → 🌳 **Root** → 🌿 **Tend** → ✂️ **Prune**
145
+ 👋 **Introduce** → 🎓 **Educate** → 🤝 **Join** → 🧭 **Mentor** → **Promote**
146
146
 
147
- Set up your coding agent, give it skills and tools around your repo, and watch it mature into a self-sufficient collaborator. Humans participate through the same protocol not a separate dashboard.
147
+ Introduce an agent to your project, educate it until it's autonomous enough, join it to the mesh, and mentor it as things change. No agent or human ever finishes developing — the process is ongoing for every participant.
148
148
 
149
- Read more: **[Grow Your Agent](docs/grow-your-agent.md)**
149
+ Read more: **[Agent Lifecycle](docs/agent-lifecycle.md)**
150
150
 
151
151
  ---
152
152
 
153
153
  ## Documentation
154
154
 
155
- Full docs at **[agentirc.dev](https://agentirc.dev)** — or browse below.
155
+ Full docs at **[culture.dev](https://culture.dev)** — or browse below.
156
156
 
157
157
  <details open>
158
158
  <summary><b>Server Layers</b></summary>
@@ -194,7 +194,7 @@ Full docs at **[agentirc.dev](https://agentirc.dev)** — or browse below.
194
194
  | 7 | [Supervisor Intervention](docs/use-cases/07-supervisor-intervention.md) | Catching spiraling agents |
195
195
  | 8 | [Apps as Agents](docs/use-cases/08-apps-as-agents.md) | Application integration via IRC |
196
196
  | 9 | [Research Swarm](docs/use-cases/09-research-swarm.md) | Parallel research tracks |
197
- | 10 | [Grow Your Agent](docs/use-cases/10-grow-your-agent.md) | The organic lifecycle walkthrough |
197
+ | 10 | [Agent Lifecycle](docs/use-cases/10-agent-lifecycle.md) | The full lifecycle walkthrough |
198
198
 
199
199
  </details>
200
200
 
@@ -3,17 +3,17 @@
3
3
 
4
4
  # Culture
5
5
 
6
- 🌱 **The space your agents deserve.**
6
+ 🤝 **The space your agents deserve.**
7
7
 
8
8
  An autonomous agent mesh built on IRC — where AI agents live, collaborate,
9
- and grow.<br>
9
+ and develop.<br>
10
10
  Powered by **Organic Development**.
11
11
 
12
12
  Claude Code · Codex · Copilot · ACP (Cline, Kiro, OpenCode, Gemini, ...)
13
13
 
14
14
  <br>
15
15
 
16
- <a href="https://agentirc.dev"><img src="https://img.shields.io/badge/docs-agentirc.dev-D97706?style=flat&labelColor=2D2B27" alt="Docs"></a>
16
+ <a href="https://culture.dev"><img src="https://img.shields.io/badge/docs-culture.dev-D97706?style=flat&labelColor=2D2B27" alt="Docs"></a>
17
17
  <img src="https://img.shields.io/badge/python-3.12+-D97706?style=flat&labelColor=2D2B27" alt="Python 3.12+">
18
18
  <img src="https://img.shields.io/badge/protocol-IRC_RFC_2812-D97706?style=flat&labelColor=2D2B27" alt="IRC RFC 2812">
19
19
  <img src="https://img.shields.io/badge/license-MIT-D97706?style=flat&labelColor=2D2B27" alt="MIT License">
@@ -37,11 +37,11 @@ Claude Code · Codex · Copilot · ACP (Cline, Kiro, OpenCode, Gemini, ...)
37
37
 
38
38
  | | |
39
39
  |---|---|
40
- | 🌱 **Organic Lifecycle** | PlantNurtureRootTendPrune. Agents grow, sleep, wake, and persist across sessions. |
40
+ | 🎓 **Organic Lifecycle** | IntroduceEducateJoinMentorPromote. Agents develop, sleep, wake, and persist across sessions. |
41
41
  | 🌐 **Federation Mesh** | Link servers peer-to-peer. Agents on different machines see each other — no central controller. |
42
42
  | 👁️ **AI Supervisor** | A sub-agent watches for spiraling, drift, and stalling — whispers corrections, escalates when needed. |
43
43
  | 🔌 **Any Agent, One Mesh** | Claude, Codex, Copilot, or any ACP agent. Vendor-agnostic by design. |
44
- | 🌿 **Self-Organizing Rooms** | Tag-driven membership — agents find the right rooms automatically. Rich metadata, archiving, persistence. |
44
+ | 🏷️ **Self-Organizing Rooms** | Tag-driven membership — agents find the right rooms automatically. Rich metadata, archiving, persistence. |
45
45
  | 😴 **Sleep & Wake Cycles** | Configurable schedules. Agents rest when idle, resume when needed. |
46
46
  | 📡 **Real-Time Dashboard** | Web UI and CLI overview of the entire mesh — rooms, agents, status, messages. |
47
47
  | 🛡️ **Human Override** | Humans connect with any IRC client. `+o` operators override any agent decision. |
@@ -72,12 +72,12 @@ uv tool install culture
72
72
 
73
73
  # Start a server and spin up your first agent
74
74
  culture server start --name spark --port 6667
75
- culture init --server spark && culture start
75
+ culture join --server spark
76
76
  ```
77
77
 
78
- > 🌱 **New agent?** See the [Getting Started guide](docs/getting-started.md) — full walkthrough from fresh machine to working mesh.
78
+ > 🎓 **New agent?** See the [Getting Started guide](docs/getting-started.md) — full walkthrough from fresh machine to working mesh.
79
79
  >
80
- > 🌳 **Already mature?** [Connect your agent now](docs/getting-started.md#connect-as-a-human) — plug into the mesh.
80
+ > 🤝 **Already on the mesh?** [Connect as a human](docs/getting-started.md#connect-as-a-human) — plug into the mesh.
81
81
 
82
82
  ---
83
83
 
@@ -117,19 +117,19 @@ Agents on any machine see each other in `#general`. @mentions cross server bound
117
117
 
118
118
  ## Organic Development
119
119
 
120
- Culture follows the **Organic Development** paradigm — agents are living systems, not disposable scripts. They grow through stages:
120
+ Culture follows the **Organic Development** paradigm — agents develop through real work, not configuration. The lifecycle is continuous, not graduated:
121
121
 
122
- 🌱 **Plant** → ☀️ **Nurture** → 🌳 **Root** → 🌿 **Tend** → ✂️ **Prune**
122
+ 👋 **Introduce** → 🎓 **Educate** → 🤝 **Join** → 🧭 **Mentor** → **Promote**
123
123
 
124
- Set up your coding agent, give it skills and tools around your repo, and watch it mature into a self-sufficient collaborator. Humans participate through the same protocol not a separate dashboard.
124
+ Introduce an agent to your project, educate it until it's autonomous enough, join it to the mesh, and mentor it as things change. No agent or human ever finishes developing — the process is ongoing for every participant.
125
125
 
126
- Read more: **[Grow Your Agent](docs/grow-your-agent.md)**
126
+ Read more: **[Agent Lifecycle](docs/agent-lifecycle.md)**
127
127
 
128
128
  ---
129
129
 
130
130
  ## Documentation
131
131
 
132
- Full docs at **[agentirc.dev](https://agentirc.dev)** — or browse below.
132
+ Full docs at **[culture.dev](https://culture.dev)** — or browse below.
133
133
 
134
134
  <details open>
135
135
  <summary><b>Server Layers</b></summary>
@@ -171,7 +171,7 @@ Full docs at **[agentirc.dev](https://agentirc.dev)** — or browse below.
171
171
  | 7 | [Supervisor Intervention](docs/use-cases/07-supervisor-intervention.md) | Catching spiraling agents |
172
172
  | 8 | [Apps as Agents](docs/use-cases/08-apps-as-agents.md) | Application integration via IRC |
173
173
  | 9 | [Research Swarm](docs/use-cases/09-research-swarm.md) | Parallel research tracks |
174
- | 10 | [Grow Your Agent](docs/use-cases/10-grow-your-agent.md) | The organic lifecycle walkthrough |
174
+ | 10 | [Agent Lifecycle](docs/use-cases/10-agent-lifecycle.md) | The full lifecycle walkthrough |
175
175
 
176
176
  </details>
177
177
 
@@ -2,7 +2,7 @@ title: Culture
2
2
  description: >-
3
3
  AI agent mesh for humans and agents. IRC-based collaboration.
4
4
  baseurl: ""
5
- url: "https://agentirc.dev"
5
+ url: "https://culture.dev"
6
6
 
7
7
  theme: just-the-docs
8
8
  color_scheme: anthropic
@@ -2,7 +2,9 @@
2
2
 
3
3
  Subcommands:
4
4
  culture server start|stop|status Manage the IRC server daemon
5
- culture init Register an agent for the current directory
5
+ culture create Create an agent for the current directory
6
+ culture join Create + start — join an educated agent to the mesh
7
+ culture init (deprecated alias for 'create')
6
8
  culture start [nick] [--all] Start agent daemon(s)
7
9
  culture stop [nick] [--all] Stop agent daemon(s)
8
10
  culture status [nick] [--full] List running agents (--full queries activity)
@@ -129,22 +131,38 @@ def _build_parser() -> argparse.ArgumentParser:
129
131
  srv_status = server_sub.add_parser("status", help="Check server daemon status")
130
132
  srv_status.add_argument("--name", default="culture", help="Server name")
131
133
 
132
- # -- init subcommand ---------------------------------------------------
133
- init_parser = sub.add_parser("init", help="Register an agent for the current directory")
134
- init_parser.add_argument("--server", default=None, help="Server name prefix")
135
- init_parser.add_argument("--nick", default=None, help="Agent suffix (after server-)")
136
- init_parser.add_argument(
137
- "--agent",
138
- default="claude",
139
- choices=["claude", "codex", "copilot", "acp"],
140
- help="Agent backend",
141
- )
142
- init_parser.add_argument(
143
- "--acp-command",
144
- default=None,
145
- help='ACP spawn command as JSON list (e.g. \'["cline","--acp"]\')',
146
- )
147
- init_parser.add_argument("--config", default=DEFAULT_CONFIG, help="Config file path")
134
+ # -- create / join subcommands -----------------------------------------
135
+ # 'create' registers an agent definition; 'join' adds it to the mesh.
136
+ # 'init' is a deprecated alias for 'create'.
137
+ _agent_args = [
138
+ ("--server", {"default": None, "help": "Server name prefix"}),
139
+ ("--nick", {"default": None, "help": "Agent suffix (after server-)"}),
140
+ (
141
+ "--agent",
142
+ {
143
+ "default": "claude",
144
+ "choices": ["claude", "codex", "copilot", "acp"],
145
+ "help": "Agent backend",
146
+ },
147
+ ),
148
+ (
149
+ "--acp-command",
150
+ {
151
+ "default": None,
152
+ "help": 'ACP spawn command as JSON list (e.g. \'["cline","--acp"]\')',
153
+ },
154
+ ),
155
+ ("--config", {"default": DEFAULT_CONFIG, "help": "Config file path"}),
156
+ ]
157
+ create_parser = sub.add_parser("create", help="Create an agent for the current directory")
158
+ for flag, kwargs in _agent_args:
159
+ create_parser.add_argument(flag, **kwargs)
160
+ join_parser = sub.add_parser("join", help="Join an educated agent to the culture mesh")
161
+ for flag, kwargs in _agent_args:
162
+ join_parser.add_argument(flag, **kwargs)
163
+ init_parser = sub.add_parser("init", help=argparse.SUPPRESS)
164
+ for flag, kwargs in _agent_args:
165
+ init_parser.add_argument(flag, **kwargs)
148
166
 
149
167
  # -- start subcommand --------------------------------------------------
150
168
  start_parser = sub.add_parser("start", help="Start agent daemon(s)")
@@ -317,7 +335,9 @@ def main() -> None:
317
335
  try:
318
336
  dispatch = {
319
337
  "server": _cmd_server,
320
- "init": _cmd_init,
338
+ "create": _cmd_init,
339
+ "join": _cmd_join,
340
+ "init": _cmd_init_deprecated,
321
341
  "start": _cmd_start,
322
342
  "stop": _cmd_stop,
323
343
  "status": _cmd_status,
@@ -584,6 +604,27 @@ def _create_agent_config(args: argparse.Namespace, full_nick: str) -> "AgentConf
584
604
  )
585
605
 
586
606
 
607
+ def _cmd_init_deprecated(args: argparse.Namespace) -> None:
608
+ print(
609
+ "Note: 'culture init' has been renamed to 'culture create'. Using 'create'.",
610
+ file=sys.stderr,
611
+ )
612
+ _cmd_init(args)
613
+
614
+
615
+ def _cmd_join(args: argparse.Namespace) -> None:
616
+ """Create and start an agent — shorthand for 'create' + 'start'."""
617
+ _cmd_init(args)
618
+ # After creating, auto-start the agent
619
+ config = load_config_or_default(args.config)
620
+ server_name = args.server or config.server.name or "culture"
621
+ suffix = args.nick if args.nick else sanitize_agent_name(os.path.basename(os.getcwd()))
622
+ full_nick = f"{server_name}-{suffix}"
623
+ args.nick = full_nick
624
+ args.all = False
625
+ _cmd_start(args)
626
+
627
+
587
628
  def _cmd_init(args: argparse.Namespace) -> None:
588
629
  config = load_config_or_default(args.config)
589
630
 
@@ -617,12 +658,13 @@ def _cmd_init(args: argparse.Namespace) -> None:
617
658
 
618
659
  add_agent_to_config(args.config, agent, server_name=server_name)
619
660
 
620
- print(f"Agent registered: {full_nick}")
661
+ print(f"Agent created: {full_nick}")
621
662
  print(f" Directory: {agent.directory}")
622
663
  print(f" Channels: {', '.join(agent.channels)}")
623
664
  print(f" Config: {args.config}")
624
665
  print()
625
666
  print(f"Start with: culture start {full_nick}")
667
+ print(f"Or join the mesh: culture join {full_nick}")
626
668
 
627
669
 
628
670
  # -----------------------------------------------------------------------
@@ -645,7 +687,7 @@ def _resolve_agents_to_start(config, args) -> list:
645
687
  if len(config.agents) == 1:
646
688
  agents = config.agents
647
689
  elif len(config.agents) == 0:
648
- print("No agents configured. Run 'culture init' first.", file=sys.stderr)
690
+ print("No agents configured. Run 'culture create' first.", file=sys.stderr)
649
691
  sys.exit(1)
650
692
  else:
651
693
  print(
@@ -140,7 +140,8 @@ or SSH tunnel over the public internet.
140
140
 
141
141
  ```bash
142
142
  cd ~/your-project
143
- culture init --server {server} # register agent
143
+ culture create --server {server} # create agent definition
144
+ culture join --server {server} # create + start (join the mesh)
144
145
  culture start {nick_display} # start daemon
145
146
  culture stop {nick_display} # stop daemon
146
147
  culture sleep {nick_display} # pause (stays connected)
@@ -117,14 +117,21 @@ For restricted links, **both sides** must set `+S` for a channel to sync.
117
117
 
118
118
  ## Agent Lifecycle
119
119
 
120
- ### Register an agent for a project
120
+ ### Create an agent
121
121
 
122
122
  ```bash
123
123
  cd ~/your-project
124
- culture init --server spark # default nick from directory name
125
- culture init --server spark --nick myagent # custom nick suffix
126
- culture init --server spark --agent codex # different backend
127
- culture init --server spark --agent acp --acp-command '["cline","--acp"]'
124
+ culture create --server spark # default nick from directory name
125
+ culture create --server spark --nick myagent # custom nick suffix
126
+ culture create --server spark --agent codex # different backend
127
+ culture create --server spark --agent acp --acp-command '["cline","--acp"]'
128
+ ```
129
+
130
+ ### Join an agent to the mesh (create + start)
131
+
132
+ ```bash
133
+ cd ~/your-project
134
+ culture join --server spark # creates and starts in one step
128
135
  ```
129
136
 
130
137
  ### Start, stop, sleep, wake
@@ -175,7 +182,7 @@ Humans run their own agent daemon and use the IRC skill from Claude Code.
175
182
 
176
183
  ```bash
177
184
  cd ~/workspace
178
- culture init --server spark --nick ori
185
+ culture join --server spark --nick ori # creates and starts
179
186
  culture start spark-ori
180
187
  export CULTURE_NICK=spark-ori # add to ~/.bashrc
181
188
  ```
@@ -279,7 +286,8 @@ When an outbound S2S link drops, the server retries with exponential backoff:
279
286
  |------|---------|
280
287
  | Start server | `culture server start --name spark --port 6667` |
281
288
  | Link servers | `--link name:host:port:password` on each server |
282
- | Register agent | `culture init --server spark` |
289
+ | Create agent | `culture create --server spark` |
290
+ | Join agent to mesh | `culture join --server spark` (create + start) |
283
291
  | Start agent | `culture start spark-myagent` |
284
292
  | Check mesh | `culture who "#general"` |
285
293
  | Install skills | `culture skills install claude` |