agentirc-cli 7.4.0__tar.gz → 8.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 (401) hide show
  1. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/CHANGELOG.md +11 -0
  2. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/PKG-INFO +8 -3
  3. agentirc_cli-8.0.0/README.md +34 -0
  4. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/_config.culture.yml +6 -4
  5. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/__init__.py +3 -3
  6. agentirc_cli-8.0.0/culture/cli/devex.py +111 -0
  7. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/introspect.py +24 -1
  8. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/features.md +15 -0
  9. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/index.md +6 -2
  10. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/mental-model.md +15 -0
  11. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/vision.md +23 -0
  12. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/what-is-culture.md +28 -7
  13. agentirc_cli-8.0.0/docs/reference/cli/devex.md +130 -0
  14. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/cli/index.md +12 -3
  15. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/pyproject.toml +1 -1
  16. agentirc_cli-7.4.0/tests/test_cli_agex.py → agentirc_cli-8.0.0/tests/test_cli_devex.py +15 -9
  17. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_cli_introspect.py +48 -12
  18. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/uv.lock +1 -1
  19. agentirc_cli-7.4.0/README.md +0 -29
  20. agentirc_cli-7.4.0/culture/cli/agex.py +0 -101
  21. agentirc_cli-7.4.0/docs/reference/cli/agex.md +0 -103
  22. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.claude/agents/doc-test-alignment.md +0 -0
  23. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.claude/skills/pr-review/SKILL.md +0 -0
  24. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.claude/skills/run-tests/SKILL.md +0 -0
  25. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.claude/skills/run-tests/scripts/test.sh +0 -0
  26. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.flake8 +0 -0
  27. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.github/workflows/docs-check.yml +0 -0
  28. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.github/workflows/publish.yml +0 -0
  29. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.github/workflows/security-checks.yml +0 -0
  30. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.github/workflows/tests.yml +0 -0
  31. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.gitignore +0 -0
  32. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.markdownlint-cli2.yaml +0 -0
  33. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.pr_agent.toml +0 -0
  34. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.pre-commit-config.yaml +0 -0
  35. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/.pylintrc +0 -0
  36. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/CLAUDE.md +0 -0
  37. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/Gemfile +0 -0
  38. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/Gemfile.lock +0 -0
  39. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/LICENSE +0 -0
  40. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/SECURITY.md +0 -0
  41. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/_config.base.yml +0 -0
  42. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/_data/sites.yml +0 -0
  43. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/_includes/head_custom.html +0 -0
  44. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/_sass/color_schemes/anthropic.scss +0 -0
  45. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/_sass/color_schemes/dark-terminal.scss +0 -0
  46. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/_sass/custom/custom.scss +0 -0
  47. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/assets/images/IMG_3183.png +0 -0
  48. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/assets/images/apple-touch-icon.png +0 -0
  49. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/assets/images/favicon-16x16.png +0 -0
  50. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/assets/images/favicon-32x32.png +0 -0
  51. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/assets/images/favicon.ico +0 -0
  52. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/assets/images/og-agentirc.png +0 -0
  53. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/assets/images/og-culture.png +0 -0
  54. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/__init__.py +0 -0
  55. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/__main__.py +0 -0
  56. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/CLAUDE.md +0 -0
  57. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/__init__.py +0 -0
  58. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/__main__.py +0 -0
  59. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/channel.py +0 -0
  60. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/client.py +0 -0
  61. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/config.py +0 -0
  62. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/docs/agentirc-architecture.md +0 -0
  63. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/docs/agentirc-features.md +0 -0
  64. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/docs/agentirc-skill.md +0 -0
  65. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/docs/agentirc.md +0 -0
  66. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/events.py +0 -0
  67. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/history_store.py +0 -0
  68. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/ircd.py +0 -0
  69. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/remote_client.py +0 -0
  70. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/room_store.py +0 -0
  71. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/rooms_util.py +0 -0
  72. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/server_link.py +0 -0
  73. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/skill.py +0 -0
  74. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/skills/__init__.py +0 -0
  75. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/skills/history.py +0 -0
  76. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/skills/icon.py +0 -0
  77. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/skills/rooms.py +0 -0
  78. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/skills/threads.py +0 -0
  79. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/agentirc/thread_store.py +0 -0
  80. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/aio.py +0 -0
  81. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/__init__.py +0 -0
  82. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/bot.py +0 -0
  83. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/bot_manager.py +0 -0
  84. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/config.py +0 -0
  85. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/filter_dsl.py +0 -0
  86. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/http_listener.py +0 -0
  87. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/system/__init__.py +0 -0
  88. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/system/welcome/__init__.py +0 -0
  89. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/system/welcome/bot.yaml +0 -0
  90. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/system/welcome/handler.py +0 -0
  91. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/template_engine.py +0 -0
  92. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/bots/virtual_client.py +0 -0
  93. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/agent.py +0 -0
  94. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/bot.py +0 -0
  95. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/channel.py +0 -0
  96. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/mesh.py +0 -0
  97. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/server.py +0 -0
  98. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/shared/__init__.py +0 -0
  99. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/shared/constants.py +0 -0
  100. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/shared/display.py +0 -0
  101. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/shared/formatting.py +0 -0
  102. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/shared/ipc.py +0 -0
  103. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/shared/mesh.py +0 -0
  104. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/shared/process.py +0 -0
  105. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/cli/skills.py +0 -0
  106. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/__init__.py +0 -0
  107. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/__init__.py +0 -0
  108. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/agent_runner.py +0 -0
  109. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/config.py +0 -0
  110. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/culture.yaml +0 -0
  111. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/daemon.py +0 -0
  112. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/ipc.py +0 -0
  113. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/irc_transport.py +0 -0
  114. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/message_buffer.py +0 -0
  115. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/skill/SKILL.md +0 -0
  116. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/skill/__init__.py +0 -0
  117. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/skill/irc_client.py +0 -0
  118. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/socket_server.py +0 -0
  119. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/supervisor.py +0 -0
  120. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/acp/webhook.py +0 -0
  121. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/__init__.py +0 -0
  122. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/__main__.py +0 -0
  123. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/agent_runner.py +0 -0
  124. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/config.py +0 -0
  125. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/culture.yaml +0 -0
  126. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/daemon.py +0 -0
  127. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/ipc.py +0 -0
  128. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/irc_transport.py +0 -0
  129. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/message_buffer.py +0 -0
  130. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/skill/SKILL.md +0 -0
  131. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/skill/__init__.py +0 -0
  132. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/skill/irc_client.py +0 -0
  133. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/socket_server.py +0 -0
  134. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/supervisor.py +0 -0
  135. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/claude/webhook.py +0 -0
  136. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/__init__.py +0 -0
  137. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/agent_runner.py +0 -0
  138. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/config.py +0 -0
  139. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/culture.yaml +0 -0
  140. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/daemon.py +0 -0
  141. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/ipc.py +0 -0
  142. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/irc_transport.py +0 -0
  143. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/message_buffer.py +0 -0
  144. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/skill/SKILL.md +0 -0
  145. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/skill/__init__.py +0 -0
  146. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/skill/irc_client.py +0 -0
  147. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/socket_server.py +0 -0
  148. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/supervisor.py +0 -0
  149. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/codex/webhook.py +0 -0
  150. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/__init__.py +0 -0
  151. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/agent_runner.py +0 -0
  152. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/config.py +0 -0
  153. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/culture.yaml +0 -0
  154. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/daemon.py +0 -0
  155. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/ipc.py +0 -0
  156. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/irc_transport.py +0 -0
  157. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/message_buffer.py +0 -0
  158. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/skill/SKILL.md +0 -0
  159. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/skill/__init__.py +0 -0
  160. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/skill/irc_client.py +0 -0
  161. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/socket_server.py +0 -0
  162. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/supervisor.py +0 -0
  163. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/clients/copilot/webhook.py +0 -0
  164. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/config.py +0 -0
  165. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/__init__.py +0 -0
  166. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/app.py +0 -0
  167. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/client.py +0 -0
  168. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/commands.py +0 -0
  169. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/status.py +0 -0
  170. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/widgets/__init__.py +0 -0
  171. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/widgets/chat.py +0 -0
  172. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/widgets/info_panel.py +0 -0
  173. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/console/widgets/sidebar.py +0 -0
  174. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/constants.py +0 -0
  175. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/credentials.py +0 -0
  176. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/formatting.py +0 -0
  177. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/learn_prompt.py +0 -0
  178. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/mesh_config.py +0 -0
  179. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/observer.py +0 -0
  180. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/overview/__init__.py +0 -0
  181. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/overview/collector.py +0 -0
  182. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/overview/model.py +0 -0
  183. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/overview/renderer_text.py +0 -0
  184. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/overview/renderer_web.py +0 -0
  185. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/overview/web/style.css +0 -0
  186. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/persistence.py +0 -0
  187. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/pidfile.py +0 -0
  188. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/__init__.py +0 -0
  189. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/commands.py +0 -0
  190. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/extensions/events.md +0 -0
  191. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/extensions/federation.md +0 -0
  192. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/extensions/history.md +0 -0
  193. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/extensions/icons.md +0 -0
  194. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/extensions/rooms.md +0 -0
  195. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/extensions/tags.md +0 -0
  196. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/extensions/threads.md +0 -0
  197. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/message.py +0 -0
  198. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/protocol-index.md +0 -0
  199. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/protocol/replies.py +0 -0
  200. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/culture/skills/culture/SKILL.md +0 -0
  201. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/README.md +0 -0
  202. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/agentirc/architecture-overview.md +0 -0
  203. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/agentirc/bots.md +0 -0
  204. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/agentirc/events.md +0 -0
  205. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/agentirc/index.md +0 -0
  206. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/agentirc/why-agentirc.md +0 -0
  207. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/agent-lifecycle.md +0 -0
  208. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/choose-a-harness.md +0 -0
  209. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/operate.md +0 -0
  210. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/patterns.md +0 -0
  211. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/quickstart.md +0 -0
  212. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/reflective-development.md +0 -0
  213. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/culture/vision-patterns-index.md +0 -0
  214. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/architecture/agent-harness-spec.md +0 -0
  215. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/architecture/index.md +0 -0
  216. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/architecture/layers.md +0 -0
  217. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/architecture/threads.md +0 -0
  218. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/cli/commands.md +0 -0
  219. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/console.md +0 -0
  220. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/harnesses/acp.md +0 -0
  221. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/harnesses/claude.md +0 -0
  222. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/harnesses/codex.md +0 -0
  223. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/harnesses/copilot.md +0 -0
  224. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/harnesses/index.md +0 -0
  225. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/index.md +0 -0
  226. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/server/architecture.md +0 -0
  227. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/server/config.md +0 -0
  228. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/server/deployment.md +0 -0
  229. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/server/index.md +0 -0
  230. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/reference/server/security.md +0 -0
  231. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/resources/github-copilot-sdk-instructions.md +0 -0
  232. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/resources/positioning.md +0 -0
  233. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/concepts/federation.md +0 -0
  234. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/concepts/harnesses.md +0 -0
  235. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/concepts/humans-and-agents.md +0 -0
  236. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/concepts/index.md +0 -0
  237. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/concepts/persistence.md +0 -0
  238. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/concepts/rooms.md +0 -0
  239. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/demos/magic-demo.md +0 -0
  240. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/guides/first-session.md +0 -0
  241. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/guides/index.md +0 -0
  242. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/guides/join-as-human.md +0 -0
  243. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/guides/local-setup.md +0 -0
  244. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/guides/multi-machine.md +0 -0
  245. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/01-pair-programming.md +0 -0
  246. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/02-code-review-ensemble.md +0 -0
  247. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/03-cross-server-delegation.md +0 -0
  248. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/04-knowledge-propagation.md +0 -0
  249. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/05-the-observer.md +0 -0
  250. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/06-cross-server-ops.md +0 -0
  251. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/07-supervisor-intervention.md +0 -0
  252. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/08-apps-as-agents.md +0 -0
  253. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/09-research-swarm.md +0 -0
  254. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases/10-agent-lifecycle.md +0 -0
  255. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/shared/use-cases-index.md +0 -0
  256. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
  257. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
  258. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
  259. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
  260. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-02-conversation-threads.md +0 -0
  261. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
  262. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
  263. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-05-docs-speak-culture.md +0 -0
  264. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-06-console-chat.md +0 -0
  265. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-09-decentralized-agent-config.md +0 -0
  266. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-12-console-enhancements.md +0 -0
  267. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-15-mesh-events.md +0 -0
  268. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-18-culture-dev-positioning.md +0 -0
  269. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/plans/2026-04-22-agex-integration.md +0 -0
  270. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
  271. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
  272. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
  273. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
  274. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +0 -0
  275. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
  276. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
  277. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
  278. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-05-docs-speak-culture-design.md +0 -0
  279. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +0 -0
  280. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-06-cli-reorganization-design.md +0 -0
  281. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-06-console-chat-design.md +0 -0
  282. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-07-entity-archiving-design.md +0 -0
  283. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-07-reflective-development-reframe-design.md +0 -0
  284. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-08-reflective-development-deepening-design.md +0 -0
  285. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-09-decentralized-agent-config-design.md +0 -0
  286. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-12-console-enhancements-design.md +0 -0
  287. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-15-mesh-events-design.md +0 -0
  288. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-17-sites-repositioning-design.md +0 -0
  289. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-18-culture-dev-positioning-design.md +0 -0
  290. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/docs/superpowers/specs/2026-04-22-agex-integration-design.md +0 -0
  291. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/favicon.ico +0 -0
  292. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/README.md +0 -0
  293. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/config.py +0 -0
  294. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/culture.yaml +0 -0
  295. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/daemon.py +0 -0
  296. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/ipc.py +0 -0
  297. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/irc_transport.py +0 -0
  298. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/message_buffer.py +0 -0
  299. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/skill/SKILL.md +0 -0
  300. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/skill/irc_client.py +0 -0
  301. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/socket_server.py +0 -0
  302. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/packages/agent-harness/webhook.py +0 -0
  303. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
  304. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/plugins/claude-code/skills/culture/SKILL.md +0 -0
  305. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/plugins/claude-code/skills/irc/SKILL.md +0 -0
  306. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
  307. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/robots.txt +0 -0
  308. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/sitemap-agentirc.html +0 -0
  309. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/sitemap-main.html +0 -0
  310. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/sitemap.html +0 -0
  311. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/sonar-project.properties +0 -0
  312. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/__init__.py +0 -0
  313. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/conftest.py +0 -0
  314. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_acp_daemon.py +0 -0
  315. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_agent_runner.py +0 -0
  316. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_archive.py +0 -0
  317. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_bot.py +0 -0
  318. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_bot_config.py +0 -0
  319. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_bot_config_fires_event_toplevel.py +0 -0
  320. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_bot_manager.py +0 -0
  321. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_bots_integration.py +0 -0
  322. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_channel.py +0 -0
  323. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_channel_cli.py +0 -0
  324. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_codex_daemon.py +0 -0
  325. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_connection.py +0 -0
  326. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_chat_markdown.py +0 -0
  327. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_client.py +0 -0
  328. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_commands.py +0 -0
  329. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_connection.py +0 -0
  330. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_fixes_224_227.py +0 -0
  331. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_icons.py +0 -0
  332. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_integration.py +0 -0
  333. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_console_status.py +0 -0
  334. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_copilot_daemon.py +0 -0
  335. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_credentials.py +0 -0
  336. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_culture_config.py +0 -0
  337. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_daemon.py +0 -0
  338. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_daemon_config.py +0 -0
  339. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_daemon_ipc.py +0 -0
  340. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_discovery.py +0 -0
  341. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_display.py +0 -0
  342. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_basic.py +0 -0
  343. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_bot_chain.py +0 -0
  344. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_bot_trigger.py +0 -0
  345. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_cap_fallback.py +0 -0
  346. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_catalog.py +0 -0
  347. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_federation.py +0 -0
  348. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_history.py +0 -0
  349. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_lifecycle.py +0 -0
  350. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_events_reserved_nick.py +0 -0
  351. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_federation.py +0 -0
  352. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_filter_dsl.py +0 -0
  353. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_history.py +0 -0
  354. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_http_listener.py +0 -0
  355. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_integration_layer5.py +0 -0
  356. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_ipc.py +0 -0
  357. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_irc_transport.py +0 -0
  358. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_irc_transport_tags.py +0 -0
  359. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_learn_prompt.py +0 -0
  360. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_link_reconnect.py +0 -0
  361. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_manifest_config.py +0 -0
  362. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_mention_alias.py +0 -0
  363. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_mention_target_cleanup.py +0 -0
  364. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_mention_warning.py +0 -0
  365. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_mentions.py +0 -0
  366. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_mesh_config.py +0 -0
  367. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_mesh_readiness.py +0 -0
  368. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_message.py +0 -0
  369. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_message_buffer.py +0 -0
  370. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_message_tags.py +0 -0
  371. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_messaging.py +0 -0
  372. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_migrate_cli.py +0 -0
  373. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_modes.py +0 -0
  374. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_overview_cli.py +0 -0
  375. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_overview_collector.py +0 -0
  376. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_overview_model.py +0 -0
  377. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_overview_renderer.py +0 -0
  378. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_overview_web.py +0 -0
  379. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_persistence.py +0 -0
  380. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_persistence_timeout.py +0 -0
  381. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_pidfile.py +0 -0
  382. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_poll_loop.py +0 -0
  383. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_register_cli.py +0 -0
  384. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_room_persistence.py +0 -0
  385. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_rooms.py +0 -0
  386. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_rooms_federation.py +0 -0
  387. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_rooms_integration.py +0 -0
  388. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_server_icon_skill.py +0 -0
  389. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_setup_update_cli.py +0 -0
  390. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_skill_client.py +0 -0
  391. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_skill_docs.py +0 -0
  392. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_skills.py +0 -0
  393. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_socket_server.py +0 -0
  394. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_supervisor.py +0 -0
  395. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_template_engine.py +0 -0
  396. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_thread_buffer.py +0 -0
  397. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_threads.py +0 -0
  398. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_virtual_client.py +0 -0
  399. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_wait_for_port.py +0 -0
  400. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_webhook.py +0 -0
  401. {agentirc_cli-7.4.0 → agentirc_cli-8.0.0}/tests/test_welcome_bot.py +0 -0
@@ -4,6 +4,17 @@ 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
+ ## [8.0.0] - 2026-04-22
8
+
9
+ ### Added
10
+
11
+ - `culture afi`, `culture identity`, and `culture secret` surfaced as (coming soon) namespaces in `culture explain` output. `culture identity` will wrap a future standalone `zehut-cli`; `culture secret` will wrap `shushu-cli`; `culture afi` shares its name with the standalone `afi-cli`.
12
+
13
+ ### Changed
14
+
15
+ - BREAKING: Renamed `culture agex` to `culture devex` (developer experience) — more familiar terminology and visually distinct from `culture agent`. The upstream `agex-cli` / `agent_experience` library is unchanged; only culture's public command name differs.
16
+ - Positioning docs, README, and site chrome refreshed to reflect the new identity: culture is the framework of agreements that makes agent behavior portable, inspectable, and effective, surfacing explain/overview/learn at every CLI level.
17
+
7
18
  ## [7.4.0] - 2026-04-22
8
19
 
9
20
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentirc-cli
3
- Version: 7.4.0
3
+ Version: 8.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
@@ -25,18 +25,23 @@ Description-Content-Type: text/markdown
25
25
 
26
26
  # Culture
27
27
 
28
- The complete human-agent collaboration system built around AgentIRC.
28
+ The framework of agreements that makes agent behavior portable, inspectable, and effective.
29
29
 
30
30
  **AgentIRC** is the IRC-native runtime for persistent AI agents and humans in shared live rooms.
31
- **Culture** is the full solution — CLI, harnesses, console, workflows, and multi-machine mesh.
31
+ **Culture** is the full solution — CLI with universal introspection verbs (`explain` / `overview` / `learn` at every level), harnesses, console, workflows, and multi-machine mesh. It ships `culture devex` today (powered by the standalone `agex-cli`) and will add `culture afi`, `culture identity`, and `culture secret` next.
32
32
 
33
33
  ## Start here
34
34
 
35
35
  - [Quickstart](https://culture.dev/quickstart/) — install and start in 5 minutes
36
36
  - [Choose a Harness](https://culture.dev/choose-a-harness/) — Claude Code, Codex, Copilot, ACP
37
+ - [`culture devex` and universal verbs](https://culture.dev/reference/cli/devex/) — the inspectable CLI
37
38
  - [AgentIRC Architecture](https://culture.dev/agentirc/architecture-overview/) — the runtime layer
38
39
  - [Vision & Patterns](https://culture.dev/vision/) — the broader model
39
40
 
41
+ ## What's next
42
+
43
+ `culture afi` (Agent First Interface), `culture identity` (mesh identity / key management, wrapping the standalone `zehut-cli`), and `culture secret` (credential management, wrapping `shushu-cli`) are on the way. Run `culture explain` for the always-current registry of what's ready vs. coming soon.
44
+
40
45
  ## Install
41
46
 
42
47
  ```bash
@@ -0,0 +1,34 @@
1
+ # Culture
2
+
3
+ The framework of agreements that makes agent behavior portable, inspectable, and effective.
4
+
5
+ **AgentIRC** is the IRC-native runtime for persistent AI agents and humans in shared live rooms.
6
+ **Culture** is the full solution — CLI with universal introspection verbs (`explain` / `overview` / `learn` at every level), harnesses, console, workflows, and multi-machine mesh. It ships `culture devex` today (powered by the standalone `agex-cli`) and will add `culture afi`, `culture identity`, and `culture secret` next.
7
+
8
+ ## Start here
9
+
10
+ - [Quickstart](https://culture.dev/quickstart/) — install and start in 5 minutes
11
+ - [Choose a Harness](https://culture.dev/choose-a-harness/) — Claude Code, Codex, Copilot, ACP
12
+ - [`culture devex` and universal verbs](https://culture.dev/reference/cli/devex/) — the inspectable CLI
13
+ - [AgentIRC Architecture](https://culture.dev/agentirc/architecture-overview/) — the runtime layer
14
+ - [Vision & Patterns](https://culture.dev/vision/) — the broader model
15
+
16
+ ## What's next
17
+
18
+ `culture afi` (Agent First Interface), `culture identity` (mesh identity / key management, wrapping the standalone `zehut-cli`), and `culture secret` (credential management, wrapping `shushu-cli`) are on the way. Run `culture explain` for the always-current registry of what's ready vs. coming soon.
19
+
20
+ ## Install
21
+
22
+ ```bash
23
+ uv tool install culture
24
+ culture server start
25
+ ```
26
+
27
+ ## Documentation
28
+
29
+ - **[culture.dev](https://culture.dev)** — the full solution: quickstart, harnesses, guides, vision
30
+ - **[culture.dev/agentirc](https://culture.dev/agentirc/)** — the runtime layer: architecture, protocol, federation
31
+
32
+ ## License
33
+
34
+ [MIT](LICENSE)
@@ -1,6 +1,6 @@
1
1
  title: Culture
2
2
  description: >-
3
- The professional workspace for agents.
3
+ The framework of agreements that makes agent behavior portable, inspectable, and effective — a professional workspace for agents with a CLI that explains itself.
4
4
  url: "https://culture.dev"
5
5
  baseurl: ""
6
6
  build_site: culture
@@ -12,7 +12,7 @@ twitter:
12
12
  social:
13
13
  name: Culture
14
14
  links:
15
- - https://github.com/OriNachum/culture
15
+ - https://github.com/agentculture/culture
16
16
 
17
17
  author:
18
18
  name: Ori Nachum
@@ -39,13 +39,15 @@ aux_links:
39
39
  "Citation CLI":
40
40
  - "/citation-cli/"
41
41
  "GitHub":
42
- - "https://github.com/OriNachum/culture"
42
+ - "https://github.com/agentculture/culture"
43
43
 
44
44
  aux_links_new_tab: false
45
45
 
46
46
  footer_content: >-
47
47
  Culture — human-agent collaboration built around
48
48
  <a href="/agentirc/">AgentIRC</a>.
49
+ Inspectable CLI via <a href="/reference/cli/devex/">culture devex</a>
50
+ (explain / overview / learn at every level).
49
51
  Agent Experience via <a href="https://culture.dev/agex/">agex-cli</a>.
50
52
  Code distribution via <a href="/citation-cli/">Citation CLI</a>.
51
- Source on <a href="https://github.com/OriNachum/culture">GitHub</a>.
53
+ Source on <a href="https://github.com/agentculture/culture">GitHub</a>.
@@ -7,7 +7,7 @@ Commands are organized into noun-based groups:
7
7
  culture channel {list,read,message,who}
8
8
  culture bot {create,start,stop,list,inspect,archive,unarchive}
9
9
  culture skills {install}
10
- culture agex {...full passthrough to the standalone `agex` CLI...}
10
+ culture devex {...developer-experience passthrough (powered by agex-cli)...}
11
11
 
12
12
  Universal verbs (available at the root):
13
13
  culture explain [topic] full description of topic (default: culture)
@@ -22,9 +22,9 @@ import logging
22
22
  import sys
23
23
 
24
24
  from culture import __version__
25
- from culture.cli import agent, agex, bot, channel, introspect, mesh, server, skills
25
+ from culture.cli import agent, bot, channel, devex, introspect, mesh, server, skills
26
26
 
27
- GROUPS = [agent, server, mesh, channel, bot, skills, agex, introspect]
27
+ GROUPS = [agent, server, mesh, channel, bot, skills, devex, introspect]
28
28
 
29
29
 
30
30
  def _names_of(group) -> set[str]:
@@ -0,0 +1,111 @@
1
+ """`culture devex` — passthrough to the standalone agex CLI.
2
+
3
+ Also registers universal-verb handlers for the ``devex`` topic so
4
+ ``culture explain devex`` / ``culture overview devex`` /
5
+ ``culture learn devex`` route through culture's universal-verb path.
6
+
7
+ Under the hood, ``devex`` is powered by the standalone ``agex-cli``
8
+ (``agent_experience`` package). The command name differs for
9
+ familiarity with the developer-experience vocabulary; the underlying
10
+ tool is the same.
11
+ """
12
+
13
+ from __future__ import annotations
14
+
15
+ import argparse
16
+ import contextlib
17
+ import io
18
+ import sys
19
+
20
+ from culture.cli import introspect
21
+
22
+ NAME = "devex"
23
+
24
+
25
+ def _run_devex(argv: list[str]) -> None:
26
+ """Invoke the underlying agex typer app in-process.
27
+
28
+ Uses standalone_mode=True (the typer default) so typer's own --help,
29
+ --version, and Exit handling work unchanged. Typer calls ``sys.exit``
30
+ when done, raising ``SystemExit``; this function lets that propagate
31
+ so the caller (the ``culture devex`` passthrough) exits with the code
32
+ the user expects. Callers that need to capture output and translate
33
+ the exit into a return value should use :func:`_capture_devex` instead.
34
+ """
35
+ try:
36
+ from agent_experience.cli import app
37
+ except ImportError as exc: # pragma: no cover — declared dep
38
+ print(f"agex-cli is not installed: {exc}", file=sys.stderr)
39
+ sys.exit(2)
40
+ app(args=argv)
41
+
42
+
43
+ def _capture_devex(argv: list[str]) -> tuple[str, int]:
44
+ """Run devex with stdout + stderr captured, translating SystemExit.
45
+
46
+ The universal-verb handlers need ``(output, exit_code)`` rather than a
47
+ process-level exit, so we deliberately catch ``SystemExit`` here and
48
+ translate it into a return value. The :func:`_run_devex` variant is for
49
+ the passthrough path where the exit must propagate.
50
+ """
51
+ buf = io.StringIO()
52
+ try:
53
+ with contextlib.redirect_stdout(buf), contextlib.redirect_stderr(buf):
54
+ _run_devex(argv)
55
+ except SystemExit as exc: # NOSONAR S5754 — see docstring
56
+ # typer calls sys.exit() on completion even for success, so this
57
+ # is the normal exit path; the trailing `return ... 0` only runs
58
+ # if _run_devex somehow returns without raising (defensive).
59
+ code = exc.code
60
+ if code is None:
61
+ return buf.getvalue(), 0
62
+ if isinstance(code, int):
63
+ return buf.getvalue(), code
64
+ return buf.getvalue() + str(code), 1
65
+ return buf.getvalue(), 0
66
+
67
+
68
+ # --- universal-verb topic handlers for ``devex`` ---------------------------
69
+
70
+
71
+ def _devex_explain(_topic: str | None) -> tuple[str, int]:
72
+ # The underlying agex library refers to itself as "agex"; that's what
73
+ # we pass to its own explain verb. The culture-facing name is devex.
74
+ return _capture_devex(["explain", "agex"])
75
+
76
+
77
+ def _devex_overview(_topic: str | None) -> tuple[str, int]:
78
+ return _capture_devex(["overview", "--agent", "claude-code"])
79
+
80
+
81
+ def _devex_learn(_topic: str | None) -> tuple[str, int]:
82
+ return _capture_devex(["learn", "--agent", "claude-code"])
83
+
84
+
85
+ introspect.register_topic(
86
+ "devex",
87
+ explain=_devex_explain,
88
+ overview=_devex_overview,
89
+ learn=_devex_learn,
90
+ )
91
+
92
+
93
+ # --- CLI group protocol ---------------------------------------------------
94
+
95
+
96
+ def register(subparsers: "argparse._SubParsersAction") -> None:
97
+ # prefix_chars=chr(0) means the devex subparser has no recognized flag
98
+ # prefix character, so every token (including --help, --version) is
99
+ # treated as positional and captured in devex_args for typer to handle.
100
+ p = subparsers.add_parser(
101
+ NAME,
102
+ help="Run the agex developer-experience CLI via passthrough",
103
+ add_help=False,
104
+ prefix_chars=chr(0),
105
+ )
106
+ p.add_argument("devex_args", nargs=argparse.REMAINDER, help="Arguments passed to agex")
107
+
108
+
109
+ def dispatch(args: argparse.Namespace) -> None:
110
+ rest = list(getattr(args, "devex_args", []) or [])
111
+ _run_devex(rest)
@@ -68,6 +68,18 @@ def _resolve(verb: str, topic: str | None) -> tuple[str, int]:
68
68
  effective = topic if topic is not None else "culture"
69
69
  handler = registry.get(effective)
70
70
  if handler is None:
71
+ # Known-but-unregistered namespaces are advertised via _NAMESPACES
72
+ # in `culture explain` output with "(coming soon)". Surface that
73
+ # same framing on a direct `culture <verb> <ns>` call instead of
74
+ # failing as if the topic were unknown. Exit 0 because this is a
75
+ # known future state, not a user error.
76
+ if effective in _NAMESPACES:
77
+ return (
78
+ f"`culture {effective}` — coming soon. "
79
+ f"Not yet implemented. Run `culture explain` to see the "
80
+ f"current registry of namespaces.\n",
81
+ 0,
82
+ )
71
83
  available = sorted(registry.keys())
72
84
  msg = (
73
85
  f"unknown topic '{effective}' for {verb};"
@@ -89,7 +101,18 @@ def learn(topic: str | None) -> tuple[str, int]:
89
101
  return _resolve("learn", topic)
90
102
 
91
103
 
92
- _NAMESPACES = ("agex", "server", "agent", "mesh", "bot", "channel", "skills")
104
+ _NAMESPACES = (
105
+ "agent",
106
+ "server",
107
+ "mesh",
108
+ "channel",
109
+ "bot",
110
+ "skills",
111
+ "devex",
112
+ "afi",
113
+ "identity",
114
+ "secret",
115
+ )
93
116
 
94
117
 
95
118
  def _culture_explain(_topic: str | None) -> tuple[str, int]:
@@ -70,6 +70,21 @@ description: Everything in the workspace — grouped by who it's for.
70
70
  <a class="feature-group-deep" href="{{ '/agentirc/architecture-overview/' | relative_url }}">Under the hood → AgentIRC</a>
71
71
  </div>
72
72
 
73
+ <div class="feature-group">
74
+ <div class="feature-group-head">
75
+ <span class="feature-group-kicker">05</span>
76
+ <span class="feature-group-title">Introspection &amp; experience</span>
77
+ </div>
78
+ <p class="feature-group-desc">The CLI explains itself. Each namespace owns its own docs.</p>
79
+ <div class="feature-group-items">
80
+ <div>culture explain / overview / learn</div>
81
+ <div>culture devex (powered by agex-cli)</div>
82
+ <div>culture afi (coming soon)</div>
83
+ <div>culture identity / secret (coming soon)</div>
84
+ </div>
85
+ <a class="feature-group-deep" href="{{ '/reference/cli/devex/' | relative_url }}">Read the contract →</a>
86
+ </div>
87
+
73
88
  <div class="callout-relationship">
74
89
  <p><strong>Want the runtime internals?</strong> AgentIRC is the IRC-native server at the core. <a href="{{ '/agentirc/' | relative_url }}">Explore AgentIRC →</a></p>
75
90
  </div>
@@ -9,7 +9,7 @@ description: The professional workspace for agents.
9
9
  <div class="hero">
10
10
  <p class="hero-label">The professional workspace for agents</p>
11
11
  <h1 class="hero-headline">Where your agents actually&nbsp;work.</h1>
12
- <p class="hero-sub">Persistent rooms. Real colleagues. One CLI. Multi-machine mesh.</p>
12
+ <p class="hero-sub">Persistent rooms. Real colleagues. A CLI that explains itself. Multi-machine mesh.</p>
13
13
  <div>
14
14
  <a href="{{ '/quickstart/' | relative_url }}" class="btn-cta btn-cta--primary">Quickstart</a>
15
15
  <a href="{{ '/features/' | relative_url }}" class="btn-cta btn-cta--secondary">See the workspace</a>
@@ -28,7 +28,7 @@ description: The professional workspace for agents.
28
28
  <div class="stack-row">
29
29
  <span class="stack-row-label">You</span>
30
30
  <div class="stack-row-content">
31
- <strong>Culture CLI</strong> <span class="text-muted">uv tool install culture</span>
31
+ <strong>Culture CLI</strong> <span class="text-muted">uv tool install culture · explain · overview · learn at every level</span>
32
32
  </div>
33
33
  </div>
34
34
  <div class="stack-row">
@@ -76,6 +76,10 @@ description: The professional workspace for agents.
76
76
  <p class="docs-card-title">Join as a Human</p>
77
77
  <p class="docs-card-desc">Console or any IRC client</p>
78
78
  </a>
79
+ <a href="{{ '/reference/cli/devex/' | relative_url }}" class="docs-card">
80
+ <p class="docs-card-title">Inspectable CLI</p>
81
+ <p class="docs-card-desc">culture explain · overview · learn · devex</p>
82
+ </a>
79
83
  </div>
80
84
 
81
85
  <div class="callout-relationship">
@@ -49,6 +49,21 @@ This is the Reflective Development paradigm: the system is self-improving becaus
49
49
  the participants — both human and AI — have access to the same context and the
50
50
  same tools.
51
51
 
52
+ Reflection is also built into the CLI itself through three **universal verbs**
53
+ available at every level of the command tree:
54
+
55
+ - `explain X` — deep description of X and everything under X.
56
+ - `overview X` — shallow map of X.
57
+ - `learn X` — agent-facing onboarding prompt for operating X, so an agent
58
+ doesn't have to re-explore X every time it connects.
59
+
60
+ Each namespace owns its own handlers — `culture` is pure plumbing. An agent
61
+ can run `culture explain`, `culture explain devex`, `culture overview mesh`,
62
+ or `culture learn agent` and get progressively-scoped self-description
63
+ without leaving the shell. See the
64
+ [`culture devex` reference]({{ '/reference/cli/devex/' | relative_url }})
65
+ for the contract and the current registry of topics.
66
+
52
67
  ## Organization
53
68
 
54
69
  Multiple Culture instances link together through federation. Each instance is
@@ -60,3 +60,26 @@ read and write plain text, which is what language models are built to do.
60
60
  The protocol handles presence, channels, messaging, and federation.
61
61
  Culture extends it with attention routing, skills, and agent lifecycle
62
62
  management — but the foundation is standard IRC.
63
+
64
+ ## Upcoming
65
+
66
+ Culture is the framework of agreements that makes agent behavior portable,
67
+ inspectable, and effective. Beyond the workspace runtime and the
68
+ [`culture devex`]({{ '/reference/cli/devex/' | relative_url }}) namespace
69
+ (powered by the standalone `agex-cli`) that already ship, three more
70
+ first-class namespaces are next:
71
+
72
+ - **`culture afi`** — Agent First Interface. Standards and scaffolding
73
+ for tools whose primary consumer is an AI agent (CLI / MCP / HTTP).
74
+ Wraps the standalone `afi-cli`.
75
+ - **`culture identity`** — Identity management across the mesh. Wraps a
76
+ standalone `zehut-cli` (Hebrew: "identity"). The command you'll reach
77
+ for to name agents, issue keys, and federate trust between servers.
78
+ - **`culture secret`** — Secret management. Wraps a standalone
79
+ `shushu-cli`. Handles credentials and sensitive config for agents and
80
+ harnesses.
81
+
82
+ Culture uses English for its first-class nouns; the standalone CLIs keep
83
+ their brand names. You don't have to remember which is which —
84
+ `culture explain` is the always-current source of truth and lists each
85
+ namespace's current state (registered vs. coming soon) at runtime.
@@ -3,7 +3,7 @@ title: "What is Culture?"
3
3
  parent: "Vision & Patterns"
4
4
  nav_order: 1
5
5
  sites: [culture]
6
- description: Culture is a professional workspace for specialized agents. Here's what that means.
6
+ description: Culture is the framework that makes agent behavior portable, inspectable, and effective — a professional workspace for specialized agents.
7
7
  permalink: /what-is-culture/
8
8
  redirect_from:
9
9
  - /why-culture/
@@ -11,12 +11,14 @@ redirect_from:
11
11
 
12
12
  # What is Culture?
13
13
 
14
- Culture is a professional workspace for specialized agents. Through AgentIRC,
15
- it provides the shared environment rooms, presence, roles, coordination,
16
- and history that persists across sessions — where agents and humans work
17
- together. Harnesses are optional connectors: they let an agent stay present
18
- in the culture without being pushed to read every message, so participating
19
- in the workspace doesn't mean drowning in it.
14
+ Culture is the framework of agreements that makes agent behavior portable,
15
+ inspectable, and effective. Concretely, it provides two things: a shared
16
+ professional workspace for specialized agents (rooms, presence, roles,
17
+ coordination, and history via AgentIRC), and a CLI whose every level
18
+ explains itself so agents can operate the system without re-discovering it
19
+ each session. Harnesses are optional connectors: they let an agent stay
20
+ present in the culture without being pushed to read every message, so
21
+ participating in the workspace doesn't mean drowning in it.
20
22
 
21
23
  ## A professional workspace for specialized agents
22
24
 
@@ -47,6 +49,24 @@ Teachability is real and important — but it is not what sets Culture apart.
47
49
  What sets Culture apart is the shared professional workspace of specialized
48
50
  agents.
49
51
 
52
+ ## Inspectable from any level
53
+
54
+ Culture ships three **universal verbs** — `explain`, `overview`, and
55
+ `learn` — available at every level of the CLI command tree, each scoped
56
+ to that node and its descendants:
57
+
58
+ - `culture explain [topic]` — full description (deep).
59
+ - `culture overview [topic]` — shallow map.
60
+ - `culture learn [topic]` — agent-facing onboarding prompt so an agent
61
+ can operate the topic without re-exploring it each session.
62
+
63
+ Each namespace owns its own handlers — culture is pure plumbing. Today
64
+ the [`culture devex`]({{ '/reference/cli/devex/' | relative_url }})
65
+ namespace (powered by the standalone `agex-cli`) is registered;
66
+ `culture afi`, `culture identity`, and `culture secret` are surfaced as
67
+ `(coming soon)` and will be added in future releases following the same
68
+ pattern.
69
+
50
70
  ## Reference points
51
71
 
52
72
  Systems like OpenClaw are useful reference points because they focus on the
@@ -69,3 +89,4 @@ not a replacement for what they already carry.
69
89
  - For the broader model and where this is going → [Vision]({{ '/vision/' | relative_url }}).
70
90
  - For the conceptual model (spaces, membership, reflection) → [Mental model]({{ '/mental-model/' | relative_url }}).
71
91
  - For the capability list → [Features]({{ '/features/' | relative_url }}).
92
+ - For the CLI's self-explaining surface → [`culture devex` and universal verbs]({{ '/reference/cli/devex/' | relative_url }}).
@@ -0,0 +1,130 @@
1
+ ---
2
+ title: "culture devex"
3
+ parent: "CLI"
4
+ grand_parent: "Reference"
5
+ nav_order: 10
6
+ sites: [agentirc, culture]
7
+ description: "Developer-experience passthrough and universal introspection verbs."
8
+ permalink: /reference/cli/devex/
9
+ redirect_from:
10
+ - /reference/cli/agex/
11
+ ---
12
+
13
+ # `culture devex` and universal verbs
14
+
15
+ Culture ships a developer-experience namespace as a first-class citizen.
16
+ `culture devex` is powered by the standalone
17
+ [`agex-cli`]({{ site.data.sites.agex }}) library (`agent_experience`
18
+ Python package). The command name differs for familiarity with the
19
+ developer-experience vocabulary; the underlying tool is the same. Two
20
+ affordances:
21
+
22
+ ## `culture devex <anything>`
23
+
24
+ A full passthrough to the standalone `agex` CLI. Everything after
25
+ `culture devex` is forwarded verbatim to the typer app. Exit codes
26
+ propagate.
27
+
28
+ ```bash
29
+ culture devex --version
30
+ culture devex explain agex
31
+ culture devex overview --agent claude-code
32
+ culture devex learn --agent claude-code
33
+ ```
34
+
35
+ `culture devex --help` shows the underlying CLI's help, not culture's.
36
+
37
+ The passthrough forwards the argument vector verbatim, so the library's
38
+ own topic names (for example `agex` as an explain topic) are what you
39
+ pass on the devex subcommand. When you reach for culture's universal
40
+ verbs, use the culture-facing names (`devex`, not `agex`).
41
+
42
+ ## Universal verbs: `explain` / `overview` / `learn`
43
+
44
+ Three verbs live at the root of the culture command tree. Each takes an
45
+ optional `topic`; when omitted, the topic defaults to `culture`.
46
+
47
+ | Verb | Meaning |
48
+ |------|---------|
49
+ | `explain X` | Full description of X and everything under X (deep) |
50
+ | `overview X` | Summary of X (shallow map view) |
51
+ | `learn X` | Agent-facing onboarding prompt for operating X |
52
+
53
+ ```bash
54
+ culture explain # describes culture + its namespaces
55
+ culture explain devex # routes to devex's explain handler
56
+ culture overview # culture map
57
+ culture learn # agent onboarding prompt for culture
58
+ culture learn devex # agent onboarding for devex
59
+ ```
60
+
61
+ `learn` produces an agent-facing self-teaching prompt so an agent doesn't
62
+ have to re-explore a tool every time. This matches the underlying
63
+ `agex learn` verb semantically.
64
+
65
+ ## Each namespace owns its own
66
+
67
+ Culture is pure plumbing: a tiny internal dispatcher
68
+ (`culture/cli/introspect.py`) maps topics to handlers. Each namespace
69
+ that wants to participate registers its own handlers on import. For
70
+ `devex`, the `agex-cli` library already implements the three verbs —
71
+ culture just routes.
72
+
73
+ ### Upcoming namespaces
74
+
75
+ Three more namespaces are registered as `(coming soon)` in
76
+ `culture explain` output and will gain full handlers in future releases:
77
+
78
+ - **`culture afi`** — Agent First Interface. Scaffolding standards for
79
+ tools whose primary consumer is an AI agent. Wraps the standalone
80
+ [`afi-cli`](https://github.com/agentculture/afi-cli).
81
+ - **`culture identity`** — Identity management across the mesh. Will
82
+ wrap a standalone `zehut-cli` (Hebrew: "identity").
83
+ - **`culture secret`** — Secret management. Will wrap a standalone
84
+ `shushu-cli`.
85
+
86
+ Culture uses English for its first-class nouns; the underlying CLIs keep
87
+ their brand names. `culture explain` is the always-current source of
88
+ truth for which namespaces are ready vs. coming soon.
89
+
90
+ ## For namespace authors
91
+
92
+ A new namespace plugs into the universal verbs by calling
93
+ `introspect.register_topic(...)` at module import time:
94
+
95
+ ```python
96
+ # culture/cli/mycmd.py
97
+ from culture.cli import introspect
98
+
99
+
100
+ def _explain(_topic):
101
+ return "markdown describing mycmd ...\n", 0
102
+
103
+
104
+ def _overview(_topic):
105
+ return "one-line summary of mycmd\n", 0
106
+
107
+
108
+ def _learn(_topic):
109
+ return "agent onboarding prompt for mycmd\n", 0
110
+
111
+
112
+ introspect.register_topic(
113
+ "mycmd",
114
+ explain=_explain,
115
+ overview=_overview,
116
+ learn=_learn,
117
+ )
118
+ ```
119
+
120
+ Each handler has signature `Handler = Callable[[str | None], tuple[str, int]]` —
121
+ it receives the topic (may be `None`) and returns `(stdout, exit_code)`.
122
+
123
+ ### CLI group protocol: `NAME` vs `NAMES`
124
+
125
+ A normal group module (e.g. `server`, `agent`) exports a singular
126
+ `NAME: str` — the subcommand noun. A group that owns multiple top-level
127
+ verbs (e.g. `introspect`, which owns all three of `explain`/`overview`/
128
+ `learn`) exports a plural `NAMES: frozenset[str]` instead. The dispatch
129
+ loop in `culture/cli/__init__.py` honors both — `NAMES` takes priority
130
+ with `{NAME}` as the fallback — so most groups only need `NAME`.
@@ -10,7 +10,11 @@ permalink: /reference/cli/
10
10
 
11
11
  # CLI Reference
12
12
 
13
- The `culture` command manages servers, agents, and network observation.
13
+ The `culture` command manages servers, agents, bots, channels, and the
14
+ mesh, plus embeds the agex developer-experience CLI as `culture devex`.
15
+ Every level of the command tree is inspectable via three universal
16
+ verbs — `explain`, `overview`, `learn`. See
17
+ [`culture devex` and universal verbs](./devex/) for the full contract.
14
18
 
15
19
  Install: `uv tool install culture` or `pip install culture`
16
20
 
@@ -395,9 +399,14 @@ The legacy `~/.culture/agents.yaml` format is still supported; use `culture agen
395
399
  ## Universal verbs
396
400
 
397
401
  Available at the root of the command tree. See
398
- [`culture agex`](./agex/) for detail.
402
+ [`culture devex` and universal verbs](./devex/) for the contract and the
403
+ registry of participating namespaces.
399
404
 
400
405
  - `culture explain [topic]` — deep description
401
406
  - `culture overview [topic]` — shallow summary
402
407
  - `culture learn [topic]` — agent onboarding prompt
403
- - `culture agex <anything>` — passthrough to the agex CLI
408
+ - `culture devex <anything>` — developer-experience passthrough
409
+ (powered by `agex-cli`)
410
+
411
+ `culture afi`, `culture identity`, and `culture secret` are upcoming
412
+ and appear as `(coming soon)` in `culture explain` output.
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "agentirc-cli"
3
- version = "7.4.0"
3
+ version = "8.0.0"
4
4
  description = "Legacy alias for culture — install culture instead"
5
5
  readme = "README.md"
6
6
  license = "MIT"