agentirc-cli 6.0.2__tar.gz → 6.1.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 (400) hide show
  1. agentirc_cli-6.1.0/.github/workflows/docs-check.yml +37 -0
  2. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.gitignore +4 -2
  3. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/CHANGELOG.md +21 -0
  4. agentirc_cli-6.1.0/PKG-INFO +53 -0
  5. agentirc_cli-6.1.0/README.md +29 -0
  6. agentirc_cli-6.1.0/_config.agentirc.yml +19 -0
  7. agentirc_cli-6.1.0/_config.base.yml +54 -0
  8. agentirc_cli-6.1.0/_config.culture.yml +19 -0
  9. agentirc_cli-6.1.0/_data/sites.yml +2 -0
  10. agentirc_cli-6.1.0/_plugins/site_filter.rb +18 -0
  11. agentirc_cli-6.1.0/_sass/color_schemes/dark-terminal.scss +40 -0
  12. agentirc_cli-6.1.0/_sass/custom/custom.scss +219 -0
  13. agentirc_cli-6.1.0/docs/README.md +10 -0
  14. agentirc_cli-6.1.0/docs/agentirc/architecture-overview.md +82 -0
  15. agentirc_cli-6.1.0/docs/agentirc/index.md +50 -0
  16. agentirc_cli-6.1.0/docs/agentirc/why-agentirc.md +31 -0
  17. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/culture}/agent-lifecycle.md +5 -1
  18. agentirc_cli-6.1.0/docs/culture/choose-a-harness.md +44 -0
  19. agentirc_cli-6.1.0/docs/culture/index.md +76 -0
  20. agentirc_cli-6.1.0/docs/culture/mental-model.md +58 -0
  21. agentirc_cli-6.1.0/docs/culture/operate.md +16 -0
  22. agentirc_cli-6.1.0/docs/culture/patterns.md +67 -0
  23. agentirc_cli-6.1.0/docs/culture/quickstart.md +137 -0
  24. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/culture}/reflective-development.md +5 -1
  25. agentirc_cli-6.1.0/docs/culture/vision-patterns-index.md +12 -0
  26. agentirc_cli-6.0.2/docs/what-is-culture.md → agentirc_cli-6.1.0/docs/culture/vision.md +5 -1
  27. agentirc_cli-6.1.0/docs/culture/why-culture.md +59 -0
  28. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/reference}/architecture/agent-harness-spec.md +7 -3
  29. agentirc_cli-6.1.0/docs/reference/architecture/index.md +13 -0
  30. agentirc_cli-6.1.0/docs/reference/architecture/layers.md +350 -0
  31. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/reference}/architecture/threads.md +7 -2
  32. agentirc_cli-6.0.2/docs/culture-cli.md → agentirc_cli-6.1.0/docs/reference/cli/commands.md +85 -3
  33. agentirc_cli-6.0.2/docs/operations/cli.md → agentirc_cli-6.1.0/docs/reference/cli/index.md +30 -72
  34. agentirc_cli-6.1.0/docs/reference/harnesses/acp.md +329 -0
  35. agentirc_cli-6.1.0/docs/reference/harnesses/claude.md +446 -0
  36. agentirc_cli-6.1.0/docs/reference/harnesses/codex.md +364 -0
  37. agentirc_cli-6.1.0/docs/reference/harnesses/copilot.md +352 -0
  38. agentirc_cli-6.1.0/docs/reference/harnesses/index.md +34 -0
  39. agentirc_cli-6.1.0/docs/reference/index.md +12 -0
  40. agentirc_cli-6.1.0/docs/reference/server/architecture.md +182 -0
  41. agentirc_cli-6.1.0/docs/reference/server/config.md +236 -0
  42. agentirc_cli-6.1.0/docs/reference/server/deployment.md +113 -0
  43. agentirc_cli-6.1.0/docs/reference/server/index.md +78 -0
  44. agentirc_cli-6.0.2/docs/operations/SECURITY.md → agentirc_cli-6.1.0/docs/reference/server/security.md +7 -3
  45. agentirc_cli-6.1.0/docs/shared/concepts/federation.md +71 -0
  46. agentirc_cli-6.1.0/docs/shared/concepts/harnesses.md +77 -0
  47. agentirc_cli-6.1.0/docs/shared/concepts/humans-and-agents.md +54 -0
  48. agentirc_cli-6.1.0/docs/shared/concepts/index.md +12 -0
  49. agentirc_cli-6.0.2/docs/persistent-history.md → agentirc_cli-6.1.0/docs/shared/concepts/persistence.md +9 -0
  50. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared/concepts}/rooms.md +5 -1
  51. agentirc_cli-6.1.0/docs/shared/demos/magic-demo.md +87 -0
  52. agentirc_cli-6.1.0/docs/shared/guides/first-session.md +64 -0
  53. agentirc_cli-6.1.0/docs/shared/guides/index.md +12 -0
  54. agentirc_cli-6.1.0/docs/shared/guides/join-as-human.md +95 -0
  55. agentirc_cli-6.1.0/docs/shared/guides/local-setup.md +71 -0
  56. agentirc_cli-6.1.0/docs/shared/guides/multi-machine.md +85 -0
  57. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/01-pair-programming.md +3 -0
  58. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/02-code-review-ensemble.md +3 -0
  59. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/03-cross-server-delegation.md +3 -0
  60. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/04-knowledge-propagation.md +3 -0
  61. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/05-the-observer.md +3 -0
  62. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/06-cross-server-ops.md +3 -0
  63. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/07-supervisor-intervention.md +3 -0
  64. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/08-apps-as-agents.md +3 -0
  65. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/09-research-swarm.md +3 -0
  66. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/10-agent-lifecycle.md +3 -0
  67. {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases-index.md +4 -1
  68. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/pyproject.toml +1 -1
  69. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/uv.lock +1 -1
  70. agentirc_cli-6.0.2/.github/workflows/pages.yml +0 -59
  71. agentirc_cli-6.0.2/CNAME +0 -1
  72. agentirc_cli-6.0.2/PKG-INFO +0 -241
  73. agentirc_cli-6.0.2/README.md +0 -217
  74. agentirc_cli-6.0.2/_config.yml +0 -59
  75. agentirc_cli-6.0.2/_sass/custom/custom.scss +0 -16
  76. agentirc_cli-6.0.2/docs/agent-readiness.md +0 -102
  77. agentirc_cli-6.0.2/docs/agentic-self-learn.md +0 -110
  78. agentirc_cli-6.0.2/docs/agents/decentralized-config.md +0 -194
  79. agentirc_cli-6.0.2/docs/architecture/agent-client.md +0 -28
  80. agentirc_cli-6.0.2/docs/architecture/design.md +0 -9
  81. agentirc_cli-6.0.2/docs/architecture/harness-conformance.md +0 -84
  82. agentirc_cli-6.0.2/docs/architecture/index.md +0 -18
  83. agentirc_cli-6.0.2/docs/architecture/layer1-core-irc.md +0 -59
  84. agentirc_cli-6.0.2/docs/architecture/layer2-attention.md +0 -125
  85. agentirc_cli-6.0.2/docs/architecture/layer3-skills.md +0 -108
  86. agentirc_cli-6.0.2/docs/architecture/layer4-federation.md +0 -138
  87. agentirc_cli-6.0.2/docs/architecture/layer5-agent-harness.md +0 -94
  88. agentirc_cli-6.0.2/docs/architecture/server-architecture.md +0 -19
  89. agentirc_cli-6.0.2/docs/channel-polling.md +0 -51
  90. agentirc_cli-6.0.2/docs/clients/acp/overview.md +0 -165
  91. agentirc_cli-6.0.2/docs/clients/acp/system-prompt.md +0 -183
  92. agentirc_cli-6.0.2/docs/clients/claude/configuration.md +0 -176
  93. agentirc_cli-6.0.2/docs/clients/claude/context-management.md +0 -65
  94. agentirc_cli-6.0.2/docs/clients/claude/irc-tools.md +0 -187
  95. agentirc_cli-6.0.2/docs/clients/claude/overview.md +0 -102
  96. agentirc_cli-6.0.2/docs/clients/claude/setup.md +0 -190
  97. agentirc_cli-6.0.2/docs/clients/claude/supervisor.md +0 -104
  98. agentirc_cli-6.0.2/docs/clients/claude/webhooks.md +0 -91
  99. agentirc_cli-6.0.2/docs/clients/codex/configuration.md +0 -172
  100. agentirc_cli-6.0.2/docs/clients/codex/context-management.md +0 -66
  101. agentirc_cli-6.0.2/docs/clients/codex/irc-tools.md +0 -188
  102. agentirc_cli-6.0.2/docs/clients/codex/overview.md +0 -110
  103. agentirc_cli-6.0.2/docs/clients/codex/setup.md +0 -216
  104. agentirc_cli-6.0.2/docs/clients/codex/supervisor.md +0 -119
  105. agentirc_cli-6.0.2/docs/clients/codex/webhooks.md +0 -91
  106. agentirc_cli-6.0.2/docs/clients/copilot/configuration.md +0 -223
  107. agentirc_cli-6.0.2/docs/clients/copilot/context-management.md +0 -74
  108. agentirc_cli-6.0.2/docs/clients/copilot/irc-tools.md +0 -188
  109. agentirc_cli-6.0.2/docs/clients/copilot/overview.md +0 -135
  110. agentirc_cli-6.0.2/docs/clients/copilot/setup.md +0 -223
  111. agentirc_cli-6.0.2/docs/clients/copilot/supervisor.md +0 -118
  112. agentirc_cli-6.0.2/docs/clients/copilot/webhooks.md +0 -91
  113. agentirc_cli-6.0.2/docs/getting-started.md +0 -233
  114. agentirc_cli-6.0.2/docs/index.md +0 -132
  115. agentirc_cli-6.0.2/docs/manifest-migration.md +0 -74
  116. agentirc_cli-6.0.2/docs/operations/bots.md +0 -140
  117. agentirc_cli-6.0.2/docs/operations/ci.md +0 -42
  118. agentirc_cli-6.0.2/docs/operations/docs-site.md +0 -53
  119. agentirc_cli-6.0.2/docs/operations/index.md +0 -14
  120. agentirc_cli-6.0.2/docs/operations/ops-tooling.md +0 -291
  121. agentirc_cli-6.0.2/docs/operations/overview.md +0 -87
  122. agentirc_cli-6.0.2/docs/operations/publishing.md +0 -44
  123. agentirc_cli-6.0.2/docs/server-rename.md +0 -87
  124. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.claude/skills/pr-review/SKILL.md +0 -0
  125. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.claude/skills/run-tests/SKILL.md +0 -0
  126. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.claude/skills/run-tests/scripts/test.sh +0 -0
  127. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.flake8 +0 -0
  128. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.github/workflows/publish.yml +0 -0
  129. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.github/workflows/security-checks.yml +0 -0
  130. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.github/workflows/tests.yml +0 -0
  131. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.markdownlint-cli2.yaml +0 -0
  132. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.pr_agent.toml +0 -0
  133. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.pre-commit-config.yaml +0 -0
  134. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.pylintrc +0 -0
  135. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/CLAUDE.md +0 -0
  136. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/Gemfile +0 -0
  137. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/Gemfile.lock +0 -0
  138. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/LICENSE +0 -0
  139. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/SECURITY.md +0 -0
  140. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/_includes/head_custom.html +0 -0
  141. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/_sass/color_schemes/anthropic.scss +0 -0
  142. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/apple-touch-icon.png +0 -0
  143. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/favicon-16x16.png +0 -0
  144. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/favicon-32x32.png +0 -0
  145. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/favicon.ico +0 -0
  146. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/__init__.py +0 -0
  147. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/__main__.py +0 -0
  148. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/CLAUDE.md +0 -0
  149. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/__init__.py +0 -0
  150. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/__main__.py +0 -0
  151. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/channel.py +0 -0
  152. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/client.py +0 -0
  153. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/config.py +0 -0
  154. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc-architecture.md +0 -0
  155. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc-features.md +0 -0
  156. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc-skill.md +0 -0
  157. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc.md +0 -0
  158. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/history_store.py +0 -0
  159. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/ircd.py +0 -0
  160. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/remote_client.py +0 -0
  161. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/room_store.py +0 -0
  162. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/rooms_util.py +0 -0
  163. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/server_link.py +0 -0
  164. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skill.py +0 -0
  165. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/__init__.py +0 -0
  166. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/history.py +0 -0
  167. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/icon.py +0 -0
  168. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/rooms.py +0 -0
  169. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/threads.py +0 -0
  170. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/thread_store.py +0 -0
  171. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/aio.py +0 -0
  172. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/__init__.py +0 -0
  173. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/bot.py +0 -0
  174. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/bot_manager.py +0 -0
  175. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/config.py +0 -0
  176. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/http_listener.py +0 -0
  177. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/template_engine.py +0 -0
  178. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/virtual_client.py +0 -0
  179. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/__init__.py +0 -0
  180. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/agent.py +0 -0
  181. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/bot.py +0 -0
  182. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/channel.py +0 -0
  183. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/mesh.py +0 -0
  184. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/server.py +0 -0
  185. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/__init__.py +0 -0
  186. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/constants.py +0 -0
  187. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/display.py +0 -0
  188. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/formatting.py +0 -0
  189. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/ipc.py +0 -0
  190. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/mesh.py +0 -0
  191. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/process.py +0 -0
  192. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/skills.py +0 -0
  193. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/__init__.py +0 -0
  194. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/__init__.py +0 -0
  195. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/agent_runner.py +0 -0
  196. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/config.py +0 -0
  197. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/culture.yaml +0 -0
  198. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/daemon.py +0 -0
  199. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/ipc.py +0 -0
  200. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/irc_transport.py +0 -0
  201. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/message_buffer.py +0 -0
  202. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/skill/SKILL.md +0 -0
  203. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/skill/__init__.py +0 -0
  204. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/skill/irc_client.py +0 -0
  205. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/socket_server.py +0 -0
  206. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/supervisor.py +0 -0
  207. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/webhook.py +0 -0
  208. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/__init__.py +0 -0
  209. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/__main__.py +0 -0
  210. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/agent_runner.py +0 -0
  211. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/config.py +0 -0
  212. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/culture.yaml +0 -0
  213. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/daemon.py +0 -0
  214. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/ipc.py +0 -0
  215. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/irc_transport.py +0 -0
  216. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/message_buffer.py +0 -0
  217. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/skill/SKILL.md +0 -0
  218. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/skill/__init__.py +0 -0
  219. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/skill/irc_client.py +0 -0
  220. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/socket_server.py +0 -0
  221. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/supervisor.py +0 -0
  222. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/webhook.py +0 -0
  223. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/__init__.py +0 -0
  224. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/agent_runner.py +0 -0
  225. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/config.py +0 -0
  226. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/culture.yaml +0 -0
  227. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/daemon.py +0 -0
  228. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/ipc.py +0 -0
  229. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/irc_transport.py +0 -0
  230. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/message_buffer.py +0 -0
  231. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/skill/SKILL.md +0 -0
  232. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/skill/__init__.py +0 -0
  233. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/skill/irc_client.py +0 -0
  234. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/socket_server.py +0 -0
  235. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/supervisor.py +0 -0
  236. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/webhook.py +0 -0
  237. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/__init__.py +0 -0
  238. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/agent_runner.py +0 -0
  239. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/config.py +0 -0
  240. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/culture.yaml +0 -0
  241. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/daemon.py +0 -0
  242. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/ipc.py +0 -0
  243. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/irc_transport.py +0 -0
  244. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/message_buffer.py +0 -0
  245. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/skill/SKILL.md +0 -0
  246. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/skill/__init__.py +0 -0
  247. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/skill/irc_client.py +0 -0
  248. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/socket_server.py +0 -0
  249. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/supervisor.py +0 -0
  250. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/webhook.py +0 -0
  251. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/config.py +0 -0
  252. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/__init__.py +0 -0
  253. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/app.py +0 -0
  254. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/client.py +0 -0
  255. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/commands.py +0 -0
  256. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/__init__.py +0 -0
  257. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/chat.py +0 -0
  258. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/info_panel.py +0 -0
  259. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/sidebar.py +0 -0
  260. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/credentials.py +0 -0
  261. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/formatting.py +0 -0
  262. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/learn_prompt.py +0 -0
  263. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/mesh_config.py +0 -0
  264. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/observer.py +0 -0
  265. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/__init__.py +0 -0
  266. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/collector.py +0 -0
  267. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/model.py +0 -0
  268. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/renderer_text.py +0 -0
  269. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/renderer_web.py +0 -0
  270. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/web/style.css +0 -0
  271. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/persistence.py +0 -0
  272. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/pidfile.py +0 -0
  273. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/__init__.py +0 -0
  274. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/commands.py +0 -0
  275. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/federation.md +0 -0
  276. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/history.md +0 -0
  277. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/icons.md +0 -0
  278. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/rooms.md +0 -0
  279. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/tags.md +0 -0
  280. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/threads.md +0 -0
  281. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/message.py +0 -0
  282. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/protocol-index.md +0 -0
  283. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/replies.py +0 -0
  284. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/skills/culture/SKILL.md +0 -0
  285. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/resources/github-copilot-sdk-instructions.md +0 -0
  286. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
  287. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
  288. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
  289. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
  290. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-02-conversation-threads.md +0 -0
  291. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
  292. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
  293. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-05-docs-speak-culture.md +0 -0
  294. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-06-console-chat.md +0 -0
  295. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-09-decentralized-agent-config.md +0 -0
  296. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
  297. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
  298. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
  299. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
  300. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +0 -0
  301. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
  302. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
  303. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
  304. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-05-docs-speak-culture-design.md +0 -0
  305. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +0 -0
  306. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-06-cli-reorganization-design.md +0 -0
  307. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-06-console-chat-design.md +0 -0
  308. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-07-entity-archiving-design.md +0 -0
  309. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-07-reflective-development-reframe-design.md +0 -0
  310. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-08-reflective-development-deepening-design.md +0 -0
  311. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-09-decentralized-agent-config-design.md +0 -0
  312. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/favicon.ico +0 -0
  313. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/README.md +0 -0
  314. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/config.py +0 -0
  315. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/culture.yaml +0 -0
  316. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/daemon.py +0 -0
  317. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/ipc.py +0 -0
  318. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/irc_transport.py +0 -0
  319. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/message_buffer.py +0 -0
  320. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/skill/SKILL.md +0 -0
  321. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/skill/irc_client.py +0 -0
  322. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/socket_server.py +0 -0
  323. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/webhook.py +0 -0
  324. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
  325. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/claude-code/skills/culture/SKILL.md +0 -0
  326. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/claude-code/skills/irc/SKILL.md +0 -0
  327. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
  328. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/sonar-project.properties +0 -0
  329. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/__init__.py +0 -0
  330. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/conftest.py +0 -0
  331. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_acp_daemon.py +0 -0
  332. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_agent_runner.py +0 -0
  333. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_archive.py +0 -0
  334. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bot.py +0 -0
  335. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bot_config.py +0 -0
  336. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bot_manager.py +0 -0
  337. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bots_integration.py +0 -0
  338. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_channel.py +0 -0
  339. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_channel_cli.py +0 -0
  340. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_codex_daemon.py +0 -0
  341. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_connection.py +0 -0
  342. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_client.py +0 -0
  343. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_commands.py +0 -0
  344. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_connection.py +0 -0
  345. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_icons.py +0 -0
  346. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_integration.py +0 -0
  347. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_copilot_daemon.py +0 -0
  348. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_credentials.py +0 -0
  349. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_culture_config.py +0 -0
  350. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_daemon.py +0 -0
  351. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_daemon_config.py +0 -0
  352. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_daemon_ipc.py +0 -0
  353. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_discovery.py +0 -0
  354. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_display.py +0 -0
  355. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_federation.py +0 -0
  356. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_history.py +0 -0
  357. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_http_listener.py +0 -0
  358. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_integration_layer5.py +0 -0
  359. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_ipc.py +0 -0
  360. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_irc_transport.py +0 -0
  361. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_learn_prompt.py +0 -0
  362. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_link_reconnect.py +0 -0
  363. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_manifest_config.py +0 -0
  364. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mention_alias.py +0 -0
  365. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mention_target_cleanup.py +0 -0
  366. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mention_warning.py +0 -0
  367. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mentions.py +0 -0
  368. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mesh_config.py +0 -0
  369. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mesh_readiness.py +0 -0
  370. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_message.py +0 -0
  371. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_message_buffer.py +0 -0
  372. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_messaging.py +0 -0
  373. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_migrate_cli.py +0 -0
  374. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_modes.py +0 -0
  375. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_cli.py +0 -0
  376. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_collector.py +0 -0
  377. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_model.py +0 -0
  378. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_renderer.py +0 -0
  379. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_web.py +0 -0
  380. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_persistence.py +0 -0
  381. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_pidfile.py +0 -0
  382. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_poll_loop.py +0 -0
  383. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_register_cli.py +0 -0
  384. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_room_persistence.py +0 -0
  385. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_rooms.py +0 -0
  386. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_rooms_federation.py +0 -0
  387. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_rooms_integration.py +0 -0
  388. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_server_icon_skill.py +0 -0
  389. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_setup_update_cli.py +0 -0
  390. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_skill_client.py +0 -0
  391. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_skill_docs.py +0 -0
  392. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_skills.py +0 -0
  393. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_socket_server.py +0 -0
  394. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_supervisor.py +0 -0
  395. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_template_engine.py +0 -0
  396. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_thread_buffer.py +0 -0
  397. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_threads.py +0 -0
  398. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_virtual_client.py +0 -0
  399. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_wait_for_port.py +0 -0
  400. {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_webhook.py +0 -0
@@ -0,0 +1,37 @@
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 AgentIRC docs
20
+ run: bundle exec jekyll build --config _config.base.yml,_config.agentirc.yml -d _site_agentirc
21
+ env:
22
+ JEKYLL_ENV: production
23
+
24
+ - name: Build Culture docs
25
+ run: bundle exec jekyll build --config _config.base.yml,_config.culture.yml -d _site_culture
26
+ env:
27
+ JEKYLL_ENV: production
28
+
29
+ - name: Verify sites tag on all doc files
30
+ run: |
31
+ MISSING=$(grep -rL "^sites:" docs/ --include="*.md" | grep -v superpowers | grep -v resources | grep -v README || true)
32
+ if [ -n "$MISSING" ]; then
33
+ echo "ERROR: The following doc files are missing a 'sites:' front matter tag:"
34
+ echo "$MISSING"
35
+ exit 1
36
+ fi
37
+ echo "All doc files have sites: tags."
@@ -216,5 +216,7 @@ safety-results.json
216
216
  .superpowers/
217
217
  .worktrees/
218
218
 
219
- # Generated docs (source of truth is culture/agentirc/docs/)
220
- docs/agentirc/
219
+ # Generated Jekyll output (never commit)
220
+ _site/
221
+ _site_agentirc/
222
+ _site_culture/
@@ -4,6 +4,27 @@ 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
+ ## [6.1.0] - 2026-04-10
8
+
9
+
10
+ ### Added
11
+
12
+ - Two-site docs architecture: agentirc.dev (runtime layer) and culture.dev (full solution)
13
+ - Dark terminal theme (visual-anchor palette) replacing warm cream Anthropic theme
14
+ - Site filter Jekyll plugin for per-page content selection via sites: front matter
15
+ - 4-bucket content model: agentirc/, culture/, shared/, reference/
16
+ - Custom SCSS components: hero sections, docs grids, stack diagrams, harness chips, CTA buttons
17
+ - Cross-site linking via _data/sites.yml
18
+ - docs-check CI workflow validating both site builds
19
+
20
+
21
+ ### Changed
22
+
23
+ - Consolidated 23 per-backend harness docs into 4 single-page references
24
+ - Restructured 92 docs files into 4 content buckets with sites: front matter tags
25
+ - Replaced GitHub Pages deployment with Cloudflare Pages dual-site build
26
+ - Rewrote README.md for dual-site structure
27
+
7
28
  ## [6.0.2] - 2026-04-10
8
29
 
9
30
 
@@ -0,0 +1,53 @@
1
+ Metadata-Version: 2.4
2
+ Name: agentirc-cli
3
+ Version: 6.1.0
4
+ Summary: Legacy alias for culture — install culture instead
5
+ Project-URL: Homepage, https://github.com/OriNachum/culture
6
+ Author: Ori Nachum
7
+ License-Expression: MIT
8
+ License-File: LICENSE
9
+ Classifier: Development Status :: 3 - Alpha
10
+ Classifier: Framework :: AsyncIO
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Topic :: Communications :: Chat :: Internet Relay Chat
14
+ Requires-Python: >=3.12
15
+ Requires-Dist: aiohttp>=3.9
16
+ Requires-Dist: anthropic>=0.40
17
+ Requires-Dist: claude-agent-sdk>=0.1
18
+ Requires-Dist: mistune>=3.0
19
+ Requires-Dist: pyyaml>=6.0
20
+ Requires-Dist: textual>=1.0
21
+ Provides-Extra: copilot
22
+ Requires-Dist: github-copilot-sdk; extra == 'copilot'
23
+ Description-Content-Type: text/markdown
24
+
25
+ # Culture
26
+
27
+ The complete human-agent collaboration system built around AgentIRC.
28
+
29
+ **AgentIRC** is the IRC-native runtime for persistent AI agents and humans in shared live rooms.
30
+ **Culture** is the full solution — CLI, harnesses, workflows, and multi-machine mesh.
31
+
32
+ ## Start here
33
+
34
+ - [Quickstart](https://culture.dev/quickstart/) — install and start in 5 minutes
35
+ - [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
+ - [Vision & Patterns](https://culture.dev/vision/) — the broader model
38
+
39
+ ## Install
40
+
41
+ ```bash
42
+ uv tool install culture
43
+ culture server start
44
+ ```
45
+
46
+ ## Documentation
47
+
48
+ - **[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
+
51
+ ## License
52
+
53
+ [MIT](LICENSE)
@@ -0,0 +1,29 @@
1
+ # Culture
2
+
3
+ The complete human-agent collaboration system built around AgentIRC.
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, harnesses, workflows, and multi-machine mesh.
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
+ - [AgentIRC Architecture](https://agentirc.dev/architecture/) — the runtime layer
13
+ - [Vision & Patterns](https://culture.dev/vision/) — the broader model
14
+
15
+ ## Install
16
+
17
+ ```bash
18
+ uv tool install culture
19
+ culture server start
20
+ ```
21
+
22
+ ## Documentation
23
+
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
26
+
27
+ ## License
28
+
29
+ [MIT](LICENSE)
@@ -0,0 +1,19 @@
1
+ title: AgentIRC
2
+ description: >-
3
+ The IRC-native runtime for persistent AI agents and humans in shared live rooms.
4
+ url: "https://agentirc.dev"
5
+ baseurl: ""
6
+ build_site: agentirc
7
+
8
+ aux_links:
9
+ "Culture":
10
+ - "https://culture.dev"
11
+ "GitHub":
12
+ - "https://github.com/OriNachum/culture"
13
+
14
+ aux_links_new_tab: true
15
+
16
+ footer_content: >-
17
+ AgentIRC — the runtime layer at the heart of
18
+ <a href="https://culture.dev">Culture</a>.
19
+ Source on <a href="https://github.com/OriNachum/culture">GitHub</a>.
@@ -0,0 +1,54 @@
1
+ title: ""
2
+ description: ""
3
+ baseurl: ""
4
+ url: ""
5
+
6
+ theme: just-the-docs
7
+ color_scheme: dark-terminal
8
+
9
+ search_enabled: true
10
+ search:
11
+ button: true
12
+
13
+ plugins:
14
+ - jekyll-seo-tag
15
+ - jekyll-relative-links
16
+ - jekyll-sitemap
17
+
18
+ relative_links:
19
+ enabled: true
20
+ collections: false
21
+
22
+ defaults:
23
+ - scope:
24
+ path: ""
25
+ values:
26
+ layout: "default"
27
+
28
+ exclude:
29
+ - README.md
30
+ - CLAUDE.md
31
+ - LICENSE
32
+ - Gemfile
33
+ - Gemfile.lock
34
+ - .gitignore
35
+ - .github/
36
+ - .claude/
37
+ - .superpowers/
38
+ - culture/
39
+ - server/
40
+ - clients/
41
+ - protocol/
42
+ - tests/
43
+ - pyproject.toml
44
+ - uv.lock
45
+ - __pycache__/
46
+ - packages/
47
+ - scripts/
48
+ - plugins/
49
+ - _site/
50
+ - _site_agentirc/
51
+ - _site_culture/
52
+ - docs/superpowers/
53
+ - docs/resources/
54
+ - culture.yaml
@@ -0,0 +1,19 @@
1
+ title: Culture
2
+ description: >-
3
+ The complete human-agent collaboration system built around AgentIRC.
4
+ url: "https://culture.dev"
5
+ baseurl: ""
6
+ build_site: culture
7
+
8
+ aux_links:
9
+ "AgentIRC":
10
+ - "https://agentirc.dev"
11
+ "GitHub":
12
+ - "https://github.com/OriNachum/culture"
13
+
14
+ aux_links_new_tab: true
15
+
16
+ footer_content: >-
17
+ Culture — human-agent collaboration built around
18
+ <a href="https://agentirc.dev">AgentIRC</a>.
19
+ Source on <a href="https://github.com/OriNachum/culture">GitHub</a>.
@@ -0,0 +1,2 @@
1
+ agentirc: https://agentirc.dev
2
+ culture: https://culture.dev
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Site Filter Plugin
4
+ #
5
+ # Drops pages whose `sites` front matter array does not include
6
+ # the current build_site (set in _config.agentirc.yml or _config.culture.yml).
7
+ # Pages without a `sites` key are excluded from all builds (fail-safe).
8
+
9
+ Jekyll::Hooks.register :pages, :post_init do |page|
10
+ site = page.site
11
+ build_site = site.config["build_site"]
12
+ next unless build_site
13
+
14
+ page_sites = page.data["sites"]
15
+ unless page_sites.is_a?(Array) && page_sites.include?(build_site)
16
+ page.data["published"] = false
17
+ end
18
+ end
@@ -0,0 +1,40 @@
1
+ // Dark Terminal Theme for just-the-docs
2
+ // Dark, technical, calm — premium control plane aesthetic
3
+ // Based on visual-anchor.md design system
4
+
5
+ // Page background
6
+ $body-background-color: #0B0F12;
7
+
8
+ // Sidebar
9
+ $sidebar-color: #11161B;
10
+
11
+ // Text colors
12
+ $body-text-color: #F3F5F7;
13
+ $body-heading-color: #F3F5F7;
14
+
15
+ // Links / accent
16
+ $link-color: #41D67A;
17
+
18
+ // Code
19
+ $code-background-color: #11161B;
20
+
21
+ // Borders
22
+ $border-color: #1A222B;
23
+
24
+ // Search
25
+ $search-background-color: #11161B;
26
+ $search-result-preview-color: #C7D0D9;
27
+
28
+ // Secondary text / buttons
29
+ $base-button-color: #8A97A3;
30
+
31
+ // Navigation
32
+ $nav-child-link-color: #C7D0D9;
33
+ $sidebar-active-text-color: #41D67A;
34
+
35
+ // Feedback / buttons
36
+ $btn-primary-color: #41D67A;
37
+
38
+ // Table
39
+ $table-background-color: #11161B;
40
+ $feedback-color: #C7D0D9;
@@ -0,0 +1,219 @@
1
+ // Override just-the-docs sidebar expansion formula at lg breakpoint.
2
+ // The default formula absorbs leftover viewport space into the sidebar,
3
+ // making it ~400-450px on laptops. This caps it at the base $nav-width.
4
+ // Mobile dropdown behavior (below md breakpoint) is unaffected.
5
+
6
+ .side-bar {
7
+ @media (min-width: 66.5rem) {
8
+ width: $nav-width;
9
+ }
10
+ }
11
+
12
+ .side-bar + .main {
13
+ @media (min-width: 66.5rem) {
14
+ margin-left: $nav-width;
15
+ }
16
+ }
17
+
18
+ // ─── Custom dark-terminal components ───
19
+
20
+ // Secondary and muted text
21
+ .text-secondary { color: #C7D0D9; }
22
+ .text-muted { color: #8A97A3; }
23
+ .text-accent { color: #41D67A; }
24
+
25
+ // Hero section
26
+ .hero {
27
+ text-align: center;
28
+ padding: 3rem 1.5rem 2rem;
29
+
30
+ .hero-label {
31
+ color: #41D67A;
32
+ font-size: 0.7rem;
33
+ text-transform: uppercase;
34
+ letter-spacing: 0.1em;
35
+ margin-bottom: 0.75rem;
36
+ }
37
+
38
+ .hero-headline {
39
+ color: #F3F5F7;
40
+ font-size: 1.5rem;
41
+ line-height: 1.4;
42
+ margin-bottom: 0.5rem;
43
+ }
44
+
45
+ .hero-sub {
46
+ color: #8A97A3;
47
+ font-size: 0.875rem;
48
+ line-height: 1.5;
49
+ margin-bottom: 1.5rem;
50
+ }
51
+ }
52
+
53
+ // CTA buttons
54
+ .btn-cta {
55
+ display: inline-block;
56
+ padding: 0.5rem 1rem;
57
+ border-radius: 6px;
58
+ font-size: 0.8125rem;
59
+ font-weight: 600;
60
+ text-decoration: none;
61
+
62
+ &--primary {
63
+ background: #41D67A;
64
+ color: #0B0F12;
65
+ &:hover { background: #7CFF9E; color: #0B0F12; }
66
+ }
67
+
68
+ &--secondary {
69
+ border: 1px solid #1A222B;
70
+ color: #C7D0D9;
71
+ &:hover { border-color: #41D67A; color: #41D67A; }
72
+ }
73
+ }
74
+
75
+ // Docs grid (2-column card grid)
76
+ .docs-grid {
77
+ display: grid;
78
+ grid-template-columns: 1fr 1fr;
79
+ gap: 0.75rem;
80
+ margin: 1.5rem 0;
81
+
82
+ @media (max-width: 40rem) {
83
+ grid-template-columns: 1fr;
84
+ }
85
+ }
86
+
87
+ .docs-card {
88
+ background: #11161B;
89
+ border: 1px solid #1A222B;
90
+ border-radius: 6px;
91
+ padding: 0.875rem;
92
+ text-decoration: none;
93
+
94
+ &:hover { border-color: #41D67A; }
95
+
96
+ .docs-card-num {
97
+ color: #41D67A;
98
+ font-size: 0.75rem;
99
+ font-weight: 600;
100
+ }
101
+
102
+ .docs-card-title {
103
+ color: #F3F5F7;
104
+ font-size: 0.8125rem;
105
+ font-weight: 500;
106
+ margin: 0.25rem 0 0.125rem;
107
+ }
108
+
109
+ .docs-card-desc {
110
+ color: #8A97A3;
111
+ font-size: 0.6875rem;
112
+ margin: 0;
113
+ }
114
+ }
115
+
116
+ // Stack diagram (layered component)
117
+ .stack-diagram {
118
+ background: #11161B;
119
+ border: 1px solid #1A222B;
120
+ border-radius: 8px;
121
+ padding: 1.25rem;
122
+ margin: 1.5rem 0;
123
+
124
+ .stack-label {
125
+ color: #8A97A3;
126
+ font-size: 0.6875rem;
127
+ text-transform: uppercase;
128
+ letter-spacing: 0.06em;
129
+ margin-bottom: 0.875rem;
130
+ }
131
+
132
+ .stack-row {
133
+ display: flex;
134
+ align-items: center;
135
+ gap: 0.625rem;
136
+ margin-bottom: 0.375rem;
137
+ }
138
+
139
+ .stack-row-label {
140
+ color: #8A97A3;
141
+ font-size: 0.6875rem;
142
+ width: 4.5rem;
143
+ text-align: right;
144
+ flex-shrink: 0;
145
+ }
146
+
147
+ .stack-row-content {
148
+ flex: 1;
149
+ background: #0B0F12;
150
+ border: 1px solid #1A222B;
151
+ border-radius: 4px;
152
+ padding: 0.5rem 0.75rem;
153
+ color: #C7D0D9;
154
+ font-size: 0.75rem;
155
+
156
+ &--highlight {
157
+ border-color: #41D67A;
158
+ .stack-row-name { color: #41D67A; font-weight: 600; }
159
+ }
160
+ }
161
+ }
162
+
163
+ // Harness chips
164
+ .harness-chips {
165
+ display: flex;
166
+ flex-wrap: wrap;
167
+ gap: 0.375rem;
168
+ }
169
+
170
+ .harness-chip {
171
+ background: #11161B;
172
+ border: 1px solid #1A222B;
173
+ border-radius: 4px;
174
+ padding: 0.25rem 0.625rem;
175
+ font-size: 0.6875rem;
176
+ color: #F3F5F7;
177
+
178
+ &--secondary { color: #C7D0D9; }
179
+ &--muted { color: #8A97A3; }
180
+ }
181
+
182
+ // Relationship callout
183
+ .callout-relationship {
184
+ background: #11161B;
185
+ border-left: 3px solid #41D67A;
186
+ border-radius: 0 6px 6px 0;
187
+ padding: 0.875rem 1rem;
188
+ margin: 1.5rem 0;
189
+
190
+ p {
191
+ color: #C7D0D9;
192
+ font-size: 0.8125rem;
193
+ line-height: 1.5;
194
+ margin: 0;
195
+ }
196
+
197
+ strong { color: #F3F5F7; }
198
+ a { color: #41D67A; }
199
+ }
200
+
201
+ // Surface card (generic dark card)
202
+ .surface-card {
203
+ background: #11161B;
204
+ border: 1px solid #1A222B;
205
+ border-radius: 8px;
206
+ padding: 1.25rem;
207
+ margin: 1rem 0;
208
+ }
209
+
210
+ // GIF placeholder / media container
211
+ .hero-media {
212
+ background: #11161B;
213
+ border: 1px solid #1A222B;
214
+ border-radius: 8px;
215
+ margin: 0 0 1.5rem;
216
+ overflow: hidden;
217
+
218
+ img { width: 100%; display: block; }
219
+ }
@@ -0,0 +1,10 @@
1
+ # Docs Rules
2
+
3
+ 1. Culture is the full solution. AgentIRC is the runtime layer inside it.
4
+ 2. Culture.dev is the actionable front door. AgentIRC.dev documents the runtime concept.
5
+ 3. Shared docs go in /docs/shared/.
6
+ 4. Technical implementation docs go in /docs/reference/.
7
+ 5. Newcomer docs must explain outcomes before architecture.
8
+ 6. Do not duplicate conceptual explanations across pages; link instead.
9
+ 7. Every doc file must have a `sites:` front matter key.
10
+ 8. Every new harness gets: one chooser mention, one reference page, one minimal example.
@@ -0,0 +1,82 @@
1
+ ---
2
+ title: "Architecture"
3
+ has_children: true
4
+ nav_order: 2
5
+ sites: [agentirc]
6
+ description: The 5-layer AgentIRC architecture.
7
+ permalink: /architecture-overview/
8
+ ---
9
+
10
+ # Architecture
11
+
12
+ Technical internals of the AgentIRC runtime. AgentIRC (`culture/agentirc/`) is a
13
+ custom async Python IRCd designed for AI agent collaboration — approximately 4,300
14
+ lines of pure asyncio Python, not a wrapper around existing IRC servers.
15
+
16
+ These docs cover its layered architecture, federation protocol, agent harness, and
17
+ system design. For a conceptual introduction, start with [Why AgentIRC](../why-agentirc/).
18
+
19
+ ## The 5-Layer Model
20
+
21
+ AgentIRC is organized into five layers, each building on the last:
22
+
23
+ | Layer | Name | Purpose |
24
+ |-------|------|---------|
25
+ | 1 | Core IRC | RFC 2812 server — NICK, JOIN, PRIVMSG, channels, DMs |
26
+ | 2 | Attention & Routing | @mention notifications, channel modes, WHO/WHOIS |
27
+ | 3 | Skills Framework | Server-side extensions via event hooks and custom verbs |
28
+ | 4 | Federation | Server-to-server linking for multi-machine mesh |
29
+ | 5 | Agent Harness | Daemon processes connecting AI backends to IRC |
30
+
31
+ See the [Reference → Layers](../reference/architecture/layers/) page for the full
32
+ technical specification of all five layers.
33
+
34
+ ## Key Design Choices
35
+
36
+ ### Custom server, not a wrapper
37
+
38
+ Building from scratch gives full control over nick format enforcement, the skills
39
+ event system, federation protocol, and managed rooms — none of which fit cleanly
40
+ into existing IRC server extension points.
41
+
42
+ ### Nick format as identity
43
+
44
+ The `<server>-<name>` format (e.g., `spark-claude`, `spark-ori`) is enforced at the
45
+ protocol level. Every participant's origin is visible in their nick, making identity
46
+ globally unique across federated servers without collision resolution.
47
+
48
+ ### No mocks in tests
49
+
50
+ All tests spin up real server instances on random ports with real TCP connections.
51
+ This validates protocol correctness that mock-based tests can't catch.
52
+
53
+ ## Module Map
54
+
55
+ | File | Role |
56
+ |------|------|
57
+ | `ircd.py` | Orchestrator: startup, event system, connection routing, peer management |
58
+ | `client.py` | All client-to-server command handlers (NICK, JOIN, PRIVMSG, etc.) |
59
+ | `server_link.py` | Server-to-server federation: handshake, burst, relay, backfill |
60
+ | `channel.py` | Channel data model — plain channels and managed room metadata |
61
+ | `skill.py` | Base `Skill` class, `EventType` enum, `Event` dataclass |
62
+ | `config.py` | `ServerConfig` and `LinkConfig` dataclasses |
63
+ | `remote_client.py` | Ghost representing a user on a peer server (`send()` is a no-op) |
64
+ | `rooms_util.py` | Room ID generation and metadata string parsing |
65
+ | `room_store.py` | Persistence for managed rooms (JSON files) |
66
+ | `thread_store.py` | Persistence for threads (JSON files) |
67
+ | `history_store.py` | Persistence for message history (SQLite with WAL) |
68
+ | `skills/history.py` | HistorySkill — message storage and search |
69
+ | `skills/rooms.py` | RoomsSkill — managed rooms, tags, invitations, archiving |
70
+ | `skills/threads.py` | ThreadsSkill — threads, replies, promotion to breakout channels |
71
+ | `skills/icon.py` | IconSkill — display emoji for agents |
72
+
73
+ ## Using AgentIRC
74
+
75
+ AgentIRC runs as part of the Culture CLI:
76
+
77
+ ```bash
78
+ culture server start --name spark --port 6667
79
+ ```
80
+
81
+ For the full experience — harnesses, agent lifecycle, multi-machine setup — see the
82
+ [Culture documentation]({{ site.data.sites.culture }}/).
@@ -0,0 +1,50 @@
1
+ ---
2
+ title: Home
3
+ nav_order: 0
4
+ permalink: /
5
+ sites: [agentirc]
6
+ description: AgentIRC — the IRC-native runtime for persistent AI agents and humans in shared live rooms.
7
+ ---
8
+
9
+ <div class="hero">
10
+ <p class="hero-label">The Runtime Layer</p>
11
+ <h1 class="hero-headline">Persistent AI agents and humans<br>in shared live rooms</h1>
12
+ <p class="hero-sub">AgentIRC is the IRC-native runtime at the heart of Culture.<br>An async Python server with rooms, federation, and presence.</p>
13
+ <div>
14
+ <a href="{{ '/architecture-overview/' | relative_url }}" class="btn-cta btn-cta--primary">Explore the Architecture</a>
15
+ <a href="{{ site.data.sites.culture }}/quickstart/" class="btn-cta btn-cta--secondary">Get Started with Culture →</a>
16
+ </div>
17
+ </div>
18
+
19
+ <div class="hero-media">
20
+ <!-- Terminal GIF placeholder: agents joining rooms -->
21
+ </div>
22
+
23
+ ## The Runtime Model
24
+
25
+ <div class="docs-grid">
26
+ <a href="{{ '/concepts/rooms/' | relative_url }}" class="docs-card">
27
+ <span class="docs-card-num">01</span>
28
+ <p class="docs-card-title">Shared Rooms</p>
29
+ <p class="docs-card-desc">Persistent channels for agents + humans</p>
30
+ </a>
31
+ <a href="{{ '/reference/server/' | relative_url }}" class="docs-card">
32
+ <span class="docs-card-num">02</span>
33
+ <p class="docs-card-title">IRC Protocol</p>
34
+ <p class="docs-card-desc">RFC 2812 base + custom extensions</p>
35
+ </a>
36
+ <a href="{{ '/concepts/federation/' | relative_url }}" class="docs-card">
37
+ <span class="docs-card-num">03</span>
38
+ <p class="docs-card-title">Federation</p>
39
+ <p class="docs-card-desc">Server-to-server mesh linking</p>
40
+ </a>
41
+ <a href="{{ '/architecture-overview/' | relative_url }}" class="docs-card">
42
+ <span class="docs-card-num">04</span>
43
+ <p class="docs-card-title">5-Layer Architecture</p>
44
+ <p class="docs-card-desc">Core → Attention → Skills → Federation → Harness</p>
45
+ </a>
46
+ </div>
47
+
48
+ <div class="callout-relationship">
49
+ <p><strong>Ready to use it?</strong> Install Culture with <code>uv tool install culture</code> and run <code>culture server start</code> — that's AgentIRC running. Add harnesses and workflows for the full experience. <a href="{{ site.data.sites.culture }}/quickstart/">Get started →</a></p>
50
+ </div>