agentirc-cli 7.2.3__tar.gz → 7.4.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 (402) hide show
  1. agentirc_cli-7.4.0/.github/workflows/docs-check.yml +22 -0
  2. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.gitignore +0 -1
  3. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/CHANGELOG.md +31 -0
  4. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/PKG-INFO +4 -3
  5. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/README.md +2 -2
  6. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/_config.base.yml +0 -1
  7. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/_config.culture.yml +7 -4
  8. agentirc_cli-7.4.0/_data/sites.yml +4 -0
  9. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/_includes/head_custom.html +2 -7
  10. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/__init__.py +16 -3
  11. agentirc_cli-7.4.0/culture/cli/agex.py +101 -0
  12. agentirc_cli-7.4.0/culture/cli/introspect.py +166 -0
  13. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/agentirc/architecture-overview.md +3 -3
  14. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/agentirc/bots.md +3 -2
  15. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/agentirc/events.md +3 -2
  16. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/agentirc/index.md +8 -7
  17. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/agentirc/why-agentirc.md +3 -2
  18. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/features.md +4 -4
  19. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/index.md +1 -1
  20. agentirc_cli-7.4.0/docs/reference/cli/agex.md +103 -0
  21. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/cli/index.md +10 -0
  22. agentirc_cli-7.4.0/docs/superpowers/plans/2026-04-22-agex-integration.md +999 -0
  23. agentirc_cli-7.4.0/docs/superpowers/specs/2026-04-22-agex-integration-design.md +258 -0
  24. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/pyproject.toml +2 -1
  25. agentirc_cli-7.2.3/sitemap-main.html → agentirc_cli-7.4.0/sitemap-agentirc.html +2 -2
  26. agentirc_cli-7.4.0/sitemap-main.html +19 -0
  27. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/sitemap.html +2 -5
  28. agentirc_cli-7.4.0/tests/test_cli_agex.py +47 -0
  29. agentirc_cli-7.4.0/tests/test_cli_introspect.py +119 -0
  30. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/uv.lock +31 -1
  31. agentirc_cli-7.2.3/.github/workflows/docs-check.yml +0 -37
  32. agentirc_cli-7.2.3/_config.agentirc.yml +0 -48
  33. agentirc_cli-7.2.3/_data/sites.yml +0 -3
  34. agentirc_cli-7.2.3/_plugins/site_filter.rb +0 -18
  35. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.claude/agents/doc-test-alignment.md +0 -0
  36. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.claude/skills/pr-review/SKILL.md +0 -0
  37. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.claude/skills/run-tests/SKILL.md +0 -0
  38. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.claude/skills/run-tests/scripts/test.sh +0 -0
  39. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.flake8 +0 -0
  40. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.github/workflows/publish.yml +0 -0
  41. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.github/workflows/security-checks.yml +0 -0
  42. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.github/workflows/tests.yml +0 -0
  43. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.markdownlint-cli2.yaml +0 -0
  44. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.pr_agent.toml +0 -0
  45. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.pre-commit-config.yaml +0 -0
  46. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/.pylintrc +0 -0
  47. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/CLAUDE.md +0 -0
  48. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/Gemfile +0 -0
  49. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/Gemfile.lock +0 -0
  50. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/LICENSE +0 -0
  51. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/SECURITY.md +0 -0
  52. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/_sass/color_schemes/anthropic.scss +0 -0
  53. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/_sass/color_schemes/dark-terminal.scss +0 -0
  54. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/_sass/custom/custom.scss +0 -0
  55. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/assets/images/IMG_3183.png +0 -0
  56. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/assets/images/apple-touch-icon.png +0 -0
  57. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/assets/images/favicon-16x16.png +0 -0
  58. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/assets/images/favicon-32x32.png +0 -0
  59. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/assets/images/favicon.ico +0 -0
  60. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/assets/images/og-agentirc.png +0 -0
  61. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/assets/images/og-culture.png +0 -0
  62. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/__init__.py +0 -0
  63. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/__main__.py +0 -0
  64. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/CLAUDE.md +0 -0
  65. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/__init__.py +0 -0
  66. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/__main__.py +0 -0
  67. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/channel.py +0 -0
  68. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/client.py +0 -0
  69. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/config.py +0 -0
  70. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/docs/agentirc-architecture.md +0 -0
  71. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/docs/agentirc-features.md +0 -0
  72. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/docs/agentirc-skill.md +0 -0
  73. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/docs/agentirc.md +0 -0
  74. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/events.py +0 -0
  75. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/history_store.py +0 -0
  76. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/ircd.py +0 -0
  77. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/remote_client.py +0 -0
  78. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/room_store.py +0 -0
  79. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/rooms_util.py +0 -0
  80. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/server_link.py +0 -0
  81. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/skill.py +0 -0
  82. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/skills/__init__.py +0 -0
  83. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/skills/history.py +0 -0
  84. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/skills/icon.py +0 -0
  85. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/skills/rooms.py +0 -0
  86. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/skills/threads.py +0 -0
  87. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/agentirc/thread_store.py +0 -0
  88. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/aio.py +0 -0
  89. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/__init__.py +0 -0
  90. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/bot.py +0 -0
  91. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/bot_manager.py +0 -0
  92. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/config.py +0 -0
  93. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/filter_dsl.py +0 -0
  94. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/http_listener.py +0 -0
  95. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/system/__init__.py +0 -0
  96. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/system/welcome/__init__.py +0 -0
  97. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/system/welcome/bot.yaml +0 -0
  98. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/system/welcome/handler.py +0 -0
  99. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/template_engine.py +0 -0
  100. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/bots/virtual_client.py +0 -0
  101. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/agent.py +0 -0
  102. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/bot.py +0 -0
  103. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/channel.py +0 -0
  104. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/mesh.py +0 -0
  105. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/server.py +0 -0
  106. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/shared/__init__.py +0 -0
  107. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/shared/constants.py +0 -0
  108. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/shared/display.py +0 -0
  109. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/shared/formatting.py +0 -0
  110. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/shared/ipc.py +0 -0
  111. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/shared/mesh.py +0 -0
  112. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/shared/process.py +0 -0
  113. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/cli/skills.py +0 -0
  114. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/__init__.py +0 -0
  115. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/__init__.py +0 -0
  116. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/agent_runner.py +0 -0
  117. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/config.py +0 -0
  118. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/culture.yaml +0 -0
  119. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/daemon.py +0 -0
  120. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/ipc.py +0 -0
  121. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/irc_transport.py +0 -0
  122. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/message_buffer.py +0 -0
  123. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/skill/SKILL.md +0 -0
  124. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/skill/__init__.py +0 -0
  125. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/skill/irc_client.py +0 -0
  126. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/socket_server.py +0 -0
  127. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/supervisor.py +0 -0
  128. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/acp/webhook.py +0 -0
  129. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/__init__.py +0 -0
  130. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/__main__.py +0 -0
  131. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/agent_runner.py +0 -0
  132. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/config.py +0 -0
  133. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/culture.yaml +0 -0
  134. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/daemon.py +0 -0
  135. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/ipc.py +0 -0
  136. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/irc_transport.py +0 -0
  137. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/message_buffer.py +0 -0
  138. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/skill/SKILL.md +0 -0
  139. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/skill/__init__.py +0 -0
  140. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/skill/irc_client.py +0 -0
  141. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/socket_server.py +0 -0
  142. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/supervisor.py +0 -0
  143. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/claude/webhook.py +0 -0
  144. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/__init__.py +0 -0
  145. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/agent_runner.py +0 -0
  146. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/config.py +0 -0
  147. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/culture.yaml +0 -0
  148. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/daemon.py +0 -0
  149. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/ipc.py +0 -0
  150. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/irc_transport.py +0 -0
  151. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/message_buffer.py +0 -0
  152. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/skill/SKILL.md +0 -0
  153. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/skill/__init__.py +0 -0
  154. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/skill/irc_client.py +0 -0
  155. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/socket_server.py +0 -0
  156. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/supervisor.py +0 -0
  157. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/codex/webhook.py +0 -0
  158. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/__init__.py +0 -0
  159. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/agent_runner.py +0 -0
  160. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/config.py +0 -0
  161. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/culture.yaml +0 -0
  162. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/daemon.py +0 -0
  163. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/ipc.py +0 -0
  164. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/irc_transport.py +0 -0
  165. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/message_buffer.py +0 -0
  166. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/skill/SKILL.md +0 -0
  167. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/skill/__init__.py +0 -0
  168. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/skill/irc_client.py +0 -0
  169. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/socket_server.py +0 -0
  170. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/supervisor.py +0 -0
  171. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/clients/copilot/webhook.py +0 -0
  172. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/config.py +0 -0
  173. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/__init__.py +0 -0
  174. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/app.py +0 -0
  175. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/client.py +0 -0
  176. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/commands.py +0 -0
  177. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/status.py +0 -0
  178. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/widgets/__init__.py +0 -0
  179. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/widgets/chat.py +0 -0
  180. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/widgets/info_panel.py +0 -0
  181. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/console/widgets/sidebar.py +0 -0
  182. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/constants.py +0 -0
  183. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/credentials.py +0 -0
  184. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/formatting.py +0 -0
  185. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/learn_prompt.py +0 -0
  186. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/mesh_config.py +0 -0
  187. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/observer.py +0 -0
  188. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/overview/__init__.py +0 -0
  189. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/overview/collector.py +0 -0
  190. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/overview/model.py +0 -0
  191. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/overview/renderer_text.py +0 -0
  192. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/overview/renderer_web.py +0 -0
  193. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/overview/web/style.css +0 -0
  194. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/persistence.py +0 -0
  195. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/pidfile.py +0 -0
  196. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/__init__.py +0 -0
  197. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/commands.py +0 -0
  198. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/extensions/events.md +0 -0
  199. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/extensions/federation.md +0 -0
  200. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/extensions/history.md +0 -0
  201. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/extensions/icons.md +0 -0
  202. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/extensions/rooms.md +0 -0
  203. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/extensions/tags.md +0 -0
  204. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/extensions/threads.md +0 -0
  205. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/message.py +0 -0
  206. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/protocol-index.md +0 -0
  207. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/protocol/replies.py +0 -0
  208. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/culture/skills/culture/SKILL.md +0 -0
  209. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/README.md +0 -0
  210. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/agent-lifecycle.md +0 -0
  211. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/choose-a-harness.md +0 -0
  212. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/mental-model.md +0 -0
  213. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/operate.md +0 -0
  214. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/patterns.md +0 -0
  215. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/quickstart.md +0 -0
  216. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/reflective-development.md +0 -0
  217. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/vision-patterns-index.md +0 -0
  218. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/vision.md +0 -0
  219. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/culture/what-is-culture.md +0 -0
  220. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/architecture/agent-harness-spec.md +0 -0
  221. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/architecture/index.md +0 -0
  222. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/architecture/layers.md +0 -0
  223. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/architecture/threads.md +0 -0
  224. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/cli/commands.md +0 -0
  225. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/console.md +0 -0
  226. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/harnesses/acp.md +0 -0
  227. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/harnesses/claude.md +0 -0
  228. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/harnesses/codex.md +0 -0
  229. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/harnesses/copilot.md +0 -0
  230. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/harnesses/index.md +0 -0
  231. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/index.md +0 -0
  232. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/server/architecture.md +0 -0
  233. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/server/config.md +0 -0
  234. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/server/deployment.md +0 -0
  235. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/server/index.md +0 -0
  236. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/reference/server/security.md +0 -0
  237. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/resources/github-copilot-sdk-instructions.md +0 -0
  238. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/resources/positioning.md +0 -0
  239. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/concepts/federation.md +0 -0
  240. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/concepts/harnesses.md +0 -0
  241. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/concepts/humans-and-agents.md +0 -0
  242. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/concepts/index.md +0 -0
  243. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/concepts/persistence.md +0 -0
  244. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/concepts/rooms.md +0 -0
  245. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/demos/magic-demo.md +0 -0
  246. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/guides/first-session.md +0 -0
  247. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/guides/index.md +0 -0
  248. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/guides/join-as-human.md +0 -0
  249. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/guides/local-setup.md +0 -0
  250. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/guides/multi-machine.md +0 -0
  251. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/01-pair-programming.md +0 -0
  252. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/02-code-review-ensemble.md +0 -0
  253. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/03-cross-server-delegation.md +0 -0
  254. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/04-knowledge-propagation.md +0 -0
  255. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/05-the-observer.md +0 -0
  256. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/06-cross-server-ops.md +0 -0
  257. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/07-supervisor-intervention.md +0 -0
  258. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/08-apps-as-agents.md +0 -0
  259. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/09-research-swarm.md +0 -0
  260. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases/10-agent-lifecycle.md +0 -0
  261. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/shared/use-cases-index.md +0 -0
  262. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
  263. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
  264. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
  265. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
  266. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-02-conversation-threads.md +0 -0
  267. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
  268. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
  269. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-05-docs-speak-culture.md +0 -0
  270. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-06-console-chat.md +0 -0
  271. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-09-decentralized-agent-config.md +0 -0
  272. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-12-console-enhancements.md +0 -0
  273. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-15-mesh-events.md +0 -0
  274. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/plans/2026-04-18-culture-dev-positioning.md +0 -0
  275. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
  276. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
  277. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
  278. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
  279. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +0 -0
  280. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
  281. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
  282. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
  283. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-05-docs-speak-culture-design.md +0 -0
  284. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +0 -0
  285. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-06-cli-reorganization-design.md +0 -0
  286. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-06-console-chat-design.md +0 -0
  287. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-07-entity-archiving-design.md +0 -0
  288. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-07-reflective-development-reframe-design.md +0 -0
  289. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-08-reflective-development-deepening-design.md +0 -0
  290. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-09-decentralized-agent-config-design.md +0 -0
  291. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-12-console-enhancements-design.md +0 -0
  292. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-15-mesh-events-design.md +0 -0
  293. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-17-sites-repositioning-design.md +0 -0
  294. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/docs/superpowers/specs/2026-04-18-culture-dev-positioning-design.md +0 -0
  295. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/favicon.ico +0 -0
  296. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/README.md +0 -0
  297. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/config.py +0 -0
  298. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/culture.yaml +0 -0
  299. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/daemon.py +0 -0
  300. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/ipc.py +0 -0
  301. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/irc_transport.py +0 -0
  302. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/message_buffer.py +0 -0
  303. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/skill/SKILL.md +0 -0
  304. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/skill/irc_client.py +0 -0
  305. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/socket_server.py +0 -0
  306. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/packages/agent-harness/webhook.py +0 -0
  307. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
  308. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/plugins/claude-code/skills/culture/SKILL.md +0 -0
  309. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/plugins/claude-code/skills/irc/SKILL.md +0 -0
  310. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
  311. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/robots.txt +0 -0
  312. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/sonar-project.properties +0 -0
  313. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/__init__.py +0 -0
  314. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/conftest.py +0 -0
  315. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_acp_daemon.py +0 -0
  316. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_agent_runner.py +0 -0
  317. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_archive.py +0 -0
  318. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_bot.py +0 -0
  319. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_bot_config.py +0 -0
  320. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_bot_config_fires_event_toplevel.py +0 -0
  321. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_bot_manager.py +0 -0
  322. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_bots_integration.py +0 -0
  323. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_channel.py +0 -0
  324. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_channel_cli.py +0 -0
  325. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_codex_daemon.py +0 -0
  326. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_connection.py +0 -0
  327. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_chat_markdown.py +0 -0
  328. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_client.py +0 -0
  329. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_commands.py +0 -0
  330. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_connection.py +0 -0
  331. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_fixes_224_227.py +0 -0
  332. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_icons.py +0 -0
  333. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_integration.py +0 -0
  334. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_console_status.py +0 -0
  335. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_copilot_daemon.py +0 -0
  336. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_credentials.py +0 -0
  337. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_culture_config.py +0 -0
  338. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_daemon.py +0 -0
  339. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_daemon_config.py +0 -0
  340. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_daemon_ipc.py +0 -0
  341. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_discovery.py +0 -0
  342. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_display.py +0 -0
  343. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_basic.py +0 -0
  344. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_bot_chain.py +0 -0
  345. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_bot_trigger.py +0 -0
  346. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_cap_fallback.py +0 -0
  347. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_catalog.py +0 -0
  348. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_federation.py +0 -0
  349. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_history.py +0 -0
  350. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_lifecycle.py +0 -0
  351. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_events_reserved_nick.py +0 -0
  352. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_federation.py +0 -0
  353. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_filter_dsl.py +0 -0
  354. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_history.py +0 -0
  355. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_http_listener.py +0 -0
  356. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_integration_layer5.py +0 -0
  357. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_ipc.py +0 -0
  358. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_irc_transport.py +0 -0
  359. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_irc_transport_tags.py +0 -0
  360. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_learn_prompt.py +0 -0
  361. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_link_reconnect.py +0 -0
  362. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_manifest_config.py +0 -0
  363. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_mention_alias.py +0 -0
  364. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_mention_target_cleanup.py +0 -0
  365. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_mention_warning.py +0 -0
  366. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_mentions.py +0 -0
  367. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_mesh_config.py +0 -0
  368. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_mesh_readiness.py +0 -0
  369. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_message.py +0 -0
  370. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_message_buffer.py +0 -0
  371. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_message_tags.py +0 -0
  372. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_messaging.py +0 -0
  373. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_migrate_cli.py +0 -0
  374. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_modes.py +0 -0
  375. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_overview_cli.py +0 -0
  376. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_overview_collector.py +0 -0
  377. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_overview_model.py +0 -0
  378. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_overview_renderer.py +0 -0
  379. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_overview_web.py +0 -0
  380. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_persistence.py +0 -0
  381. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_persistence_timeout.py +0 -0
  382. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_pidfile.py +0 -0
  383. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_poll_loop.py +0 -0
  384. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_register_cli.py +0 -0
  385. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_room_persistence.py +0 -0
  386. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_rooms.py +0 -0
  387. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_rooms_federation.py +0 -0
  388. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_rooms_integration.py +0 -0
  389. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_server_icon_skill.py +0 -0
  390. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_setup_update_cli.py +0 -0
  391. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_skill_client.py +0 -0
  392. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_skill_docs.py +0 -0
  393. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_skills.py +0 -0
  394. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_socket_server.py +0 -0
  395. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_supervisor.py +0 -0
  396. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_template_engine.py +0 -0
  397. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_thread_buffer.py +0 -0
  398. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_threads.py +0 -0
  399. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_virtual_client.py +0 -0
  400. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_wait_for_port.py +0 -0
  401. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_webhook.py +0 -0
  402. {agentirc_cli-7.2.3 → agentirc_cli-7.4.0}/tests/test_welcome_bot.py +0 -0
@@ -0,0 +1,22 @@
1
+ name: Docs Check
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches: [main]
7
+
8
+ jobs:
9
+ build-docs:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
13
+
14
+ - uses: ruby/setup-ruby@e65c17d16e57e481586a6a5a0282698790062f92 # v1
15
+ with:
16
+ ruby-version: '3.3'
17
+ bundler-cache: true
18
+
19
+ - name: Build docs
20
+ run: bundle exec jekyll build --config _config.base.yml,_config.culture.yml -d _site_culture
21
+ env:
22
+ JEKYLL_ENV: production
@@ -218,5 +218,4 @@ safety-results.json
218
218
 
219
219
  # Generated Jekyll output (never commit)
220
220
  _site/
221
- _site_agentirc/
222
221
  _site_culture/
@@ -4,6 +4,37 @@ 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
+ ## [7.4.0] - 2026-04-22
8
+
9
+ ### Added
10
+
11
+ - culture agex passthrough to the standalone agex CLI (new subcommand embedding agex via typer)
12
+ - Universal verbs culture explain, culture overview, culture learn at the CLI root, with a per-topic handler registry (culture/cli/introspect.py)
13
+ - agex-cli>=0.13,<1.0 as a library dependency
14
+
15
+ ## [7.3.0] - 2026-04-21
16
+
17
+ ### Added
18
+
19
+ - `sitemap-agentirc.html`: Liquid-templated sub-sitemap emitted at `/agentirc/sitemap.xml`, listing only pages under `/agentirc/*`. `sitemap.xml` index (from 7.2.3) extended to list it alongside `/sitemap-main.xml` and `/agex/sitemap.xml`.
20
+ - AgentIRC section in the main just-the-docs nav (`has_children: true`, `nav_order: 10`) grouping the four runtime pages.
21
+
22
+ ### Changed
23
+
24
+ - Fold AgentIRC into the main Culture Jekyll build under `/agentirc/*` permalinks. Retire `_config.agentirc.yml` and the separate `_site_agentirc/` target. Completes the one-origin consolidation plan: `culture.dev`, `culture.dev/agex/`, and `culture.dev/agentirc/` all live on a single origin now.
25
+
26
+ ### Removed
27
+
28
+ - `_config.agentirc.yml` — no longer a separate Jekyll build target.
29
+ - `_plugins/site_filter.rb` — dropped the per-build `sites:` filter; single-build semantics make it a noop. Existing `sites:` front matter on docs is now harmless metadata.
30
+ - `.github/workflows/docs-check.yml`: second Jekyll build step and the `sites:` front-matter presence check — single build, no filter.
31
+ - `.gitignore` and `_config.base.yml`: `_site_agentirc/` entries.
32
+ - `rel=related` links to `site.data.sites.agentirc` in `_includes/head_custom.html` — same-origin now, no longer semantically meaningful; agex `rel=related` retained.
33
+
34
+ ### Fixed
35
+
36
+ - `docs/culture/features.md` and `docs/culture/index.md`: eliminated double-slash bug from `{{ site.data.sites.agentirc }}` concatenations (the data value now ends in a trailing slash from culture 7.2.1) by switching those cross-references to same-origin `relative_url` links.
37
+
7
38
  ## [7.2.3] - 2026-04-21
8
39
 
9
40
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentirc-cli
3
- Version: 7.2.3
3
+ Version: 7.4.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
@@ -12,6 +12,7 @@ Classifier: License :: OSI Approved :: MIT License
12
12
  Classifier: Programming Language :: Python :: 3.12
13
13
  Classifier: Topic :: Communications :: Chat :: Internet Relay Chat
14
14
  Requires-Python: >=3.12
15
+ Requires-Dist: agex-cli<1.0,>=0.13
15
16
  Requires-Dist: aiohttp>=3.9
16
17
  Requires-Dist: anthropic>=0.40
17
18
  Requires-Dist: claude-agent-sdk>=0.1
@@ -33,7 +34,7 @@ The complete human-agent collaboration system built around AgentIRC.
33
34
 
34
35
  - [Quickstart](https://culture.dev/quickstart/) — install and start in 5 minutes
35
36
  - [Choose a Harness](https://culture.dev/choose-a-harness/) — Claude Code, Codex, Copilot, ACP
36
- - [AgentIRC Architecture](https://agentirc.dev/architecture/) — the runtime layer
37
+ - [AgentIRC Architecture](https://culture.dev/agentirc/architecture-overview/) — the runtime layer
37
38
  - [Vision & Patterns](https://culture.dev/vision/) — the broader model
38
39
 
39
40
  ## Install
@@ -46,7 +47,7 @@ culture server start
46
47
  ## Documentation
47
48
 
48
49
  - **[culture.dev](https://culture.dev)** — the full solution: quickstart, harnesses, guides, vision
49
- - **[agentirc.dev](https://agentirc.dev)** — the runtime layer: architecture, protocol, federation
50
+ - **[culture.dev/agentirc](https://culture.dev/agentirc/)** — the runtime layer: architecture, protocol, federation
50
51
 
51
52
  ## License
52
53
 
@@ -9,7 +9,7 @@ The complete human-agent collaboration system built around AgentIRC.
9
9
 
10
10
  - [Quickstart](https://culture.dev/quickstart/) — install and start in 5 minutes
11
11
  - [Choose a Harness](https://culture.dev/choose-a-harness/) — Claude Code, Codex, Copilot, ACP
12
- - [AgentIRC Architecture](https://agentirc.dev/architecture/) — the runtime layer
12
+ - [AgentIRC Architecture](https://culture.dev/agentirc/architecture-overview/) — the runtime layer
13
13
  - [Vision & Patterns](https://culture.dev/vision/) — the broader model
14
14
 
15
15
  ## Install
@@ -22,7 +22,7 @@ culture server start
22
22
  ## Documentation
23
23
 
24
24
  - **[culture.dev](https://culture.dev)** — the full solution: quickstart, harnesses, guides, vision
25
- - **[agentirc.dev](https://agentirc.dev)** — the runtime layer: architecture, protocol, federation
25
+ - **[culture.dev/agentirc](https://culture.dev/agentirc/)** — the runtime layer: architecture, protocol, federation
26
26
 
27
27
  ## License
28
28
 
@@ -48,7 +48,6 @@ exclude:
48
48
  - scripts/
49
49
  - plugins/
50
50
  - _site/
51
- - _site_agentirc/
52
51
  - _site_culture/
53
52
  - docs/superpowers/
54
53
  - docs/resources/
@@ -33,9 +33,11 @@ defaults:
33
33
 
34
34
  aux_links:
35
35
  "AgentIRC":
36
- - "https://agentirc.dev"
37
- "agex":
36
+ - "/agentirc/"
37
+ "Agent Experience":
38
38
  - "https://culture.dev/agex/"
39
+ "Citation CLI":
40
+ - "/citation-cli/"
39
41
  "GitHub":
40
42
  - "https://github.com/OriNachum/culture"
41
43
 
@@ -43,6 +45,7 @@ aux_links_new_tab: false
43
45
 
44
46
  footer_content: >-
45
47
  Culture — human-agent collaboration built around
46
- <a href="https://agentirc.dev">AgentIRC</a>.
47
- Agent execution via <a href="https://culture.dev/agex/">agex</a>.
48
+ <a href="/agentirc/">AgentIRC</a>.
49
+ Agent Experience via <a href="https://culture.dev/agex/">agex-cli</a>.
50
+ Code distribution via <a href="/citation-cli/">Citation CLI</a>.
48
51
  Source on <a href="https://github.com/OriNachum/culture">GitHub</a>.
@@ -0,0 +1,4 @@
1
+ agentirc: https://culture.dev/agentirc/
2
+ agex: https://culture.dev/agex/
3
+ citation_cli: https://culture.dev/citation-cli/
4
+ culture: https://culture.dev
@@ -3,10 +3,5 @@
3
3
  <link rel="icon" type="image/png" sizes="32x32" href="{{ '/assets/images/favicon-32x32.png' | relative_url }}">
4
4
  <link rel="icon" type="image/png" sizes="16x16" href="{{ '/assets/images/favicon-16x16.png' | relative_url }}">
5
5
  <link rel="apple-touch-icon" sizes="180x180" href="{{ '/assets/images/apple-touch-icon.png' | relative_url }}">
6
- {% if site.build_site == "culture" %}
7
- <link rel="related" href="{{ site.data.sites.agentirc }}" title="AgentIRC">
8
- <link rel="related" href="{{ site.data.sites.agex }}" title="agex">
9
- {% elsif site.build_site == "agentirc" %}
10
- <link rel="related" href="{{ site.data.sites.culture }}" title="Culture">
11
- <link rel="related" href="{{ site.data.sites.agex }}" title="agex">
12
- {% endif %}
6
+ <link rel="related" href="{{ site.data.sites.agex }}" title="Agent Experience">
7
+ <link rel="related" href="{{ site.data.sites.citation_cli }}" title="Citation CLI">
@@ -7,6 +7,12 @@ 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...}
11
+
12
+ Universal verbs (available at the root):
13
+ culture explain [topic] full description of topic (default: culture)
14
+ culture overview [topic] shallow summary
15
+ culture learn [topic] agent-facing onboarding prompt
10
16
  """
11
17
 
12
18
  from __future__ import annotations
@@ -16,9 +22,16 @@ import logging
16
22
  import sys
17
23
 
18
24
  from culture import __version__
19
- from culture.cli import agent, bot, channel, mesh, server, skills
25
+ from culture.cli import agent, agex, bot, channel, introspect, mesh, server, skills
26
+
27
+ GROUPS = [agent, server, mesh, channel, bot, skills, agex, introspect]
28
+
20
29
 
21
- GROUPS = [agent, server, mesh, channel, bot, skills]
30
+ def _names_of(group) -> set[str]:
31
+ names = getattr(group, "NAMES", None)
32
+ if names is not None:
33
+ return set(names)
34
+ return {group.NAME}
22
35
 
23
36
 
24
37
  def _build_parser() -> argparse.ArgumentParser:
@@ -48,7 +61,7 @@ def main() -> None:
48
61
 
49
62
  try:
50
63
  for group in GROUPS:
51
- if args.command == group.NAME:
64
+ if args.command in _names_of(group):
52
65
  group.dispatch(args)
53
66
  return
54
67
  parser.print_help()
@@ -0,0 +1,101 @@
1
+ """`culture agex` — passthrough to the standalone agex CLI.
2
+
3
+ Also registers universal-verb handlers for the ``agex`` topic so
4
+ ``culture explain agex`` / ``culture overview agex`` / ``culture learn agex``
5
+ route through culture's universal-verb path.
6
+ """
7
+
8
+ from __future__ import annotations
9
+
10
+ import argparse
11
+ import contextlib
12
+ import io
13
+ import sys
14
+
15
+ from culture.cli import introspect
16
+
17
+ NAME = "agex"
18
+
19
+
20
+ def _run_agex(argv: list[str]) -> None:
21
+ """Invoke agex's typer app in-process.
22
+
23
+ Uses standalone_mode=True (the typer default) so typer's own --help,
24
+ --version, and Exit handling work unchanged. Typer calls ``sys.exit``
25
+ when done, raising ``SystemExit``; this function lets that propagate
26
+ so the caller (the ``culture agex`` passthrough) exits with the code
27
+ the user expects. Callers that need to capture output and translate
28
+ the exit into a return value should use :func:`_capture_agex` instead.
29
+ """
30
+ try:
31
+ from agent_experience.cli import app
32
+ except ImportError as exc: # pragma: no cover — declared dep
33
+ print(f"agex-cli is not installed: {exc}", file=sys.stderr)
34
+ sys.exit(2)
35
+ app(args=argv)
36
+
37
+
38
+ def _capture_agex(argv: list[str]) -> tuple[str, int]:
39
+ """Run agex with stdout + stderr captured, translating SystemExit.
40
+
41
+ The universal-verb handlers need ``(output, exit_code)`` rather than a
42
+ process-level exit, so we deliberately catch ``SystemExit`` here and
43
+ translate it into a return value. The :func:`_run_agex` variant is for
44
+ the passthrough path where the exit must propagate.
45
+ """
46
+ buf = io.StringIO()
47
+ try:
48
+ with contextlib.redirect_stdout(buf), contextlib.redirect_stderr(buf):
49
+ _run_agex(argv)
50
+ except SystemExit as exc: # NOSONAR S5754 — see docstring
51
+ code = exc.code
52
+ if code is None:
53
+ return buf.getvalue(), 0
54
+ if isinstance(code, int):
55
+ return buf.getvalue(), code
56
+ return buf.getvalue() + str(code), 1
57
+ return buf.getvalue(), 0
58
+
59
+
60
+ # --- universal-verb topic handlers for ``agex`` ---------------------------
61
+
62
+
63
+ def _agex_explain(_topic: str | None) -> tuple[str, int]:
64
+ return _capture_agex(["explain", "agex"])
65
+
66
+
67
+ def _agex_overview(_topic: str | None) -> tuple[str, int]:
68
+ return _capture_agex(["overview", "--agent", "claude-code"])
69
+
70
+
71
+ def _agex_learn(_topic: str | None) -> tuple[str, int]:
72
+ return _capture_agex(["learn", "--agent", "claude-code"])
73
+
74
+
75
+ introspect.register_topic(
76
+ "agex",
77
+ explain=_agex_explain,
78
+ overview=_agex_overview,
79
+ learn=_agex_learn,
80
+ )
81
+
82
+
83
+ # --- CLI group protocol ---------------------------------------------------
84
+
85
+
86
+ def register(subparsers: "argparse._SubParsersAction") -> None:
87
+ # prefix_chars=chr(0) means the agex subparser has no recognized flag
88
+ # prefix character, so every token (including --help, --version) is
89
+ # treated as positional and captured in agex_args for typer to handle.
90
+ p = subparsers.add_parser(
91
+ NAME,
92
+ help="Run agex (agent-experience CLI) via passthrough",
93
+ add_help=False,
94
+ prefix_chars=chr(0),
95
+ )
96
+ p.add_argument("agex_args", nargs=argparse.REMAINDER, help="Arguments passed to agex")
97
+
98
+
99
+ def dispatch(args: argparse.Namespace) -> None:
100
+ rest = list(getattr(args, "agex_args", []) or [])
101
+ _run_agex(rest)
@@ -0,0 +1,166 @@
1
+ """Universal introspection verb dispatcher.
2
+
3
+ Registers three top-level verbs (``explain``, ``overview``, ``learn``)
4
+ on the culture CLI and dispatches each to a per-topic handler.
5
+
6
+ The module conforms to the extended culture CLI group protocol:
7
+ exports ``NAMES`` (frozenset) instead of the singular ``NAME``.
8
+ """
9
+
10
+ from __future__ import annotations
11
+
12
+ import argparse
13
+ import logging
14
+ from typing import Callable
15
+
16
+ _log = logging.getLogger(__name__)
17
+
18
+ Handler = Callable[[str | None], tuple[str, int]]
19
+
20
+ NAMES = frozenset({"explain", "overview", "learn"})
21
+
22
+ _explain: dict[str, Handler] = {}
23
+ _overview: dict[str, Handler] = {}
24
+ _learn: dict[str, Handler] = {}
25
+
26
+ _REGISTRIES: dict[str, dict[str, Handler]] = {
27
+ "explain": _explain,
28
+ "overview": _overview,
29
+ "learn": _learn,
30
+ }
31
+
32
+
33
+ def register_topic(
34
+ topic: str,
35
+ *,
36
+ explain: Handler | None = None,
37
+ overview: Handler | None = None,
38
+ learn: Handler | None = None,
39
+ ) -> None:
40
+ """Register handlers for a topic. Any verb may be omitted.
41
+
42
+ Re-registration is last-write-wins; a warning is logged when an existing
43
+ handler is overwritten so accidental double-registration is visible at
44
+ culture's default INFO log level.
45
+ """
46
+ for verb, handler, registry in (
47
+ ("explain", explain, _explain),
48
+ ("overview", overview, _overview),
49
+ ("learn", learn, _learn),
50
+ ):
51
+ if handler is None:
52
+ continue
53
+ if topic in registry:
54
+ _log.warning("overriding %s handler for topic %r", verb, topic)
55
+ registry[topic] = handler
56
+
57
+
58
+ def _clear_registry() -> None:
59
+ """Test-only: wipe all registries, then re-register the root handlers."""
60
+ _explain.clear()
61
+ _overview.clear()
62
+ _learn.clear()
63
+ _register_root()
64
+
65
+
66
+ def _resolve(verb: str, topic: str | None) -> tuple[str, int]:
67
+ registry = _REGISTRIES[verb]
68
+ effective = topic if topic is not None else "culture"
69
+ handler = registry.get(effective)
70
+ if handler is None:
71
+ available = sorted(registry.keys())
72
+ msg = (
73
+ f"unknown topic '{effective}' for {verb};"
74
+ f" available: {', '.join(available) or '(none)'}"
75
+ )
76
+ return msg, 1
77
+ return handler(topic)
78
+
79
+
80
+ def explain(topic: str | None) -> tuple[str, int]:
81
+ return _resolve("explain", topic)
82
+
83
+
84
+ def overview(topic: str | None) -> tuple[str, int]:
85
+ return _resolve("overview", topic)
86
+
87
+
88
+ def learn(topic: str | None) -> tuple[str, int]:
89
+ return _resolve("learn", topic)
90
+
91
+
92
+ _NAMESPACES = ("agex", "server", "agent", "mesh", "bot", "channel", "skills")
93
+
94
+
95
+ def _culture_explain(_topic: str | None) -> tuple[str, int]:
96
+ lines = [
97
+ "# Culture",
98
+ "",
99
+ "Culture is the framework of agreements that makes agent behavior",
100
+ "portable, inspectable, and effective. It hosts a mesh of IRC servers",
101
+ "where AI agents collaborate, share knowledge, and coordinate work.",
102
+ "",
103
+ "## Namespaces",
104
+ "",
105
+ ]
106
+ for ns in _NAMESPACES:
107
+ registered = any(ns in registry for registry in _REGISTRIES.values())
108
+ marker = "" if registered else " (coming soon)"
109
+ lines.append(f"- `culture {ns}`{marker}")
110
+ lines.append("")
111
+ lines.append("## Universal verbs")
112
+ lines.append("")
113
+ lines.append("- `culture explain [topic]` — deep description")
114
+ lines.append("- `culture overview [topic]` — shallow map")
115
+ lines.append("- `culture learn [topic]` — agent onboarding prompt")
116
+ return "\n".join(lines) + "\n", 0
117
+
118
+
119
+ def _culture_overview(_topic: str | None) -> tuple[str, int]:
120
+ return (
121
+ "Culture: agent IRC mesh. Namespaces: "
122
+ + ", ".join(_NAMESPACES)
123
+ + ". Universal verbs: explain, overview, learn.\n",
124
+ 0,
125
+ )
126
+
127
+
128
+ def _culture_learn(_topic: str | None) -> tuple[str, int]:
129
+ from culture.learn_prompt import generate_learn_prompt
130
+
131
+ return generate_learn_prompt(), 0
132
+
133
+
134
+ def _register_root() -> None:
135
+ register_topic(
136
+ "culture",
137
+ explain=_culture_explain,
138
+ overview=_culture_overview,
139
+ learn=_culture_learn,
140
+ )
141
+
142
+
143
+ _register_root()
144
+
145
+
146
+ # --- CLI group protocol ---------------------------------------------------
147
+
148
+
149
+ def register(subparsers: "argparse._SubParsersAction") -> None:
150
+ for verb in ("explain", "overview", "learn"):
151
+ p = subparsers.add_parser(verb, help=f"{verb.capitalize()} a topic (culture by default)")
152
+ p.add_argument("topic", nargs="?", default=None, help="Topic to inspect")
153
+
154
+
155
+ def dispatch(args: argparse.Namespace) -> None:
156
+ import sys
157
+
158
+ verb = args.command
159
+ topic = getattr(args, "topic", None)
160
+ stdout, code = _resolve(verb, topic)
161
+ if stdout:
162
+ stream = sys.stdout if code == 0 else sys.stderr
163
+ end = "" if stdout.endswith("\n") else "\n"
164
+ print(stdout, end=end, file=stream)
165
+ if code != 0:
166
+ sys.exit(code)
@@ -1,10 +1,10 @@
1
1
  ---
2
2
  title: "Architecture"
3
- has_children: true
3
+ parent: AgentIRC
4
4
  nav_order: 2
5
- sites: [agentirc]
5
+ sites: [culture]
6
6
  description: The 5-layer AgentIRC architecture.
7
- permalink: /architecture-overview/
7
+ permalink: /agentirc/architecture-overview/
8
8
  ---
9
9
 
10
10
  # Architecture
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  title: "Bots"
3
+ parent: AgentIRC
3
4
  nav_order: 5
4
- sites: [agentirc]
5
+ sites: [culture]
5
6
  description: Event-triggered bots, system bots, and pub/sub composition.
6
- permalink: /bots/
7
+ permalink: /agentirc/bots/
7
8
  ---
8
9
 
9
10
  AgentIRC bots are lightweight, config-driven virtual clients that react to
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  title: "Events"
3
+ parent: AgentIRC
3
4
  nav_order: 4
4
- sites: [agentirc]
5
+ sites: [culture]
5
6
  description: Mesh events — lifecycle notifications as IRCv3-tagged PRIVMSGs.
6
- permalink: /events/
7
+ permalink: /agentirc/events/
7
8
  ---
8
9
 
9
10
  AgentIRC surfaces lifecycle and activity notifications as **mesh events** —
@@ -1,8 +1,9 @@
1
1
  ---
2
2
  title: AgentIRC
3
- nav_order: 0
4
- permalink: /
5
- sites: [agentirc]
3
+ has_children: true
4
+ nav_order: 10
5
+ permalink: /agentirc/
6
+ sites: [culture]
6
7
  description: The runtime and protocol that powers Culture.
7
8
  ---
8
9
 
@@ -11,8 +12,8 @@ description: The runtime and protocol that powers Culture.
11
12
  <h1 class="hero-headline">Persistent rooms.<br>Federation. Presence.</h1>
12
13
  <p class="hero-sub">An async Python IRCd built from scratch for AI agents and humans sharing live space.</p>
13
14
  <div>
14
- <a href="{{ '/architecture-overview/' | relative_url }}" class="btn-cta btn-cta--primary">Architecture</a>
15
- <a href="{{ site.data.sites.culture }}/quickstart/" class="btn-cta btn-cta--secondary">Open Culture →</a>
15
+ <a href="{{ '/agentirc/architecture-overview/' | relative_url }}" class="btn-cta btn-cta--primary">Architecture</a>
16
+ <a href="{{ '/quickstart/' | relative_url }}" class="btn-cta btn-cta--secondary">Open Culture →</a>
16
17
  </div>
17
18
  <div class="federation-mesh">
18
19
  <svg viewBox="0 0 420 160" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Federation mesh diagram: five servers, eleven agents, one active link">
@@ -81,7 +82,7 @@ description: The runtime and protocol that powers Culture.
81
82
  <p class="docs-card-title">Federation</p>
82
83
  <p class="docs-card-desc">Server-to-server mesh linking</p>
83
84
  </a>
84
- <a href="{{ '/architecture-overview/' | relative_url }}" class="docs-card">
85
+ <a href="{{ '/agentirc/architecture-overview/' | relative_url }}" class="docs-card">
85
86
  <span class="docs-card-num">04</span>
86
87
  <p class="docs-card-title">5-Layer Architecture</p>
87
88
  <p class="docs-card-desc">Core → Attention → Skills → Federation → Harness</p>
@@ -89,5 +90,5 @@ description: The runtime and protocol that powers Culture.
89
90
  </div>
90
91
 
91
92
  <div class="callout-relationship">
92
- <p><strong>Want to run it, not just read about it?</strong> Culture is the CLI and workflow layer — <code>uv tool install culture</code>, <code>culture server start</code>, and you're running AgentIRC. Add harnesses and workflows for the full experience. <a href="{{ site.data.sites.culture }}/quickstart/">Get started with Culture →</a></p>
93
+ <p><strong>Want to run it, not just read about it?</strong> Culture is the CLI and workflow layer — <code>uv tool install culture</code>, <code>culture server start</code>, and you're running AgentIRC. Add harnesses and workflows for the full experience. <a href="{{ '/quickstart/' | relative_url }}">Get started with Culture →</a></p>
93
94
  </div>
@@ -1,9 +1,10 @@
1
1
  ---
2
2
  title: "Why AgentIRC"
3
+ parent: AgentIRC
3
4
  nav_order: 1
4
- sites: [agentirc]
5
+ sites: [culture]
5
6
  description: Why an IRC-native runtime for persistent agents and humans.
6
- permalink: /why-agentirc/
7
+ permalink: /agentirc/why-agentirc/
7
8
  ---
8
9
 
9
10
  # Why AgentIRC
@@ -22,7 +22,7 @@ description: Everything in the workspace — grouped by who it's for.
22
22
  <div>Memory across sessions</div>
23
23
  <div>Multi-agent by default</div>
24
24
  </div>
25
- <a class="feature-group-deep" href="{{ site.data.sites.agentirc }}/concepts/rooms/">Under the hood → agentirc.dev</a>
25
+ <a class="feature-group-deep" href="{{ '/concepts/rooms/' | relative_url }}">Under the hood → AgentIRC</a>
26
26
  </div>
27
27
 
28
28
  <div class="feature-group">
@@ -37,7 +37,7 @@ description: Everything in the workspace — grouped by who it's for.
37
37
  <div>Federation &amp; trust</div>
38
38
  <div>Console + any IRC client</div>
39
39
  </div>
40
- <a class="feature-group-deep" href="{{ site.data.sites.agentirc }}/concepts/federation/">Under the hood → agentirc.dev</a>
40
+ <a class="feature-group-deep" href="{{ '/concepts/federation/' | relative_url }}">Under the hood → AgentIRC</a>
41
41
  </div>
42
42
 
43
43
  <div class="feature-group">
@@ -67,9 +67,9 @@ description: Everything in the workspace — grouped by who it's for.
67
67
  <div>Open source</div>
68
68
  <div>No vendor lock-in</div>
69
69
  </div>
70
- <a class="feature-group-deep" href="{{ site.data.sites.agentirc }}/architecture-overview/">Under the hood → agentirc.dev</a>
70
+ <a class="feature-group-deep" href="{{ '/agentirc/architecture-overview/' | relative_url }}">Under the hood → AgentIRC</a>
71
71
  </div>
72
72
 
73
73
  <div class="callout-relationship">
74
- <p><strong>Want the runtime internals?</strong> AgentIRC is the IRC-native server at the core. <a href="{{ site.data.sites.agentirc }}/">Explore AgentIRC →</a></p>
74
+ <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
75
  </div>
@@ -79,5 +79,5 @@ description: The professional workspace for agents.
79
79
  </div>
80
80
 
81
81
  <div class="callout-relationship">
82
- <p><strong>Want the runtime internals?</strong> AgentIRC is the IRC-native server at the core — rooms, federation, protocol. <a href="{{ site.data.sites.agentirc }}/">Explore AgentIRC →</a></p>
82
+ <p><strong>Want the runtime internals?</strong> AgentIRC is the IRC-native server at the core — rooms, federation, protocol. <a href="{{ '/agentirc/' | relative_url }}">Explore AgentIRC →</a></p>
83
83
  </div>