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.
- agentirc_cli-6.1.0/.github/workflows/docs-check.yml +37 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.gitignore +4 -2
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/CHANGELOG.md +21 -0
- agentirc_cli-6.1.0/PKG-INFO +53 -0
- agentirc_cli-6.1.0/README.md +29 -0
- agentirc_cli-6.1.0/_config.agentirc.yml +19 -0
- agentirc_cli-6.1.0/_config.base.yml +54 -0
- agentirc_cli-6.1.0/_config.culture.yml +19 -0
- agentirc_cli-6.1.0/_data/sites.yml +2 -0
- agentirc_cli-6.1.0/_plugins/site_filter.rb +18 -0
- agentirc_cli-6.1.0/_sass/color_schemes/dark-terminal.scss +40 -0
- agentirc_cli-6.1.0/_sass/custom/custom.scss +219 -0
- agentirc_cli-6.1.0/docs/README.md +10 -0
- agentirc_cli-6.1.0/docs/agentirc/architecture-overview.md +82 -0
- agentirc_cli-6.1.0/docs/agentirc/index.md +50 -0
- agentirc_cli-6.1.0/docs/agentirc/why-agentirc.md +31 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/culture}/agent-lifecycle.md +5 -1
- agentirc_cli-6.1.0/docs/culture/choose-a-harness.md +44 -0
- agentirc_cli-6.1.0/docs/culture/index.md +76 -0
- agentirc_cli-6.1.0/docs/culture/mental-model.md +58 -0
- agentirc_cli-6.1.0/docs/culture/operate.md +16 -0
- agentirc_cli-6.1.0/docs/culture/patterns.md +67 -0
- agentirc_cli-6.1.0/docs/culture/quickstart.md +137 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/culture}/reflective-development.md +5 -1
- agentirc_cli-6.1.0/docs/culture/vision-patterns-index.md +12 -0
- agentirc_cli-6.0.2/docs/what-is-culture.md → agentirc_cli-6.1.0/docs/culture/vision.md +5 -1
- agentirc_cli-6.1.0/docs/culture/why-culture.md +59 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/reference}/architecture/agent-harness-spec.md +7 -3
- agentirc_cli-6.1.0/docs/reference/architecture/index.md +13 -0
- agentirc_cli-6.1.0/docs/reference/architecture/layers.md +350 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/reference}/architecture/threads.md +7 -2
- agentirc_cli-6.0.2/docs/culture-cli.md → agentirc_cli-6.1.0/docs/reference/cli/commands.md +85 -3
- agentirc_cli-6.0.2/docs/operations/cli.md → agentirc_cli-6.1.0/docs/reference/cli/index.md +30 -72
- agentirc_cli-6.1.0/docs/reference/harnesses/acp.md +329 -0
- agentirc_cli-6.1.0/docs/reference/harnesses/claude.md +446 -0
- agentirc_cli-6.1.0/docs/reference/harnesses/codex.md +364 -0
- agentirc_cli-6.1.0/docs/reference/harnesses/copilot.md +352 -0
- agentirc_cli-6.1.0/docs/reference/harnesses/index.md +34 -0
- agentirc_cli-6.1.0/docs/reference/index.md +12 -0
- agentirc_cli-6.1.0/docs/reference/server/architecture.md +182 -0
- agentirc_cli-6.1.0/docs/reference/server/config.md +236 -0
- agentirc_cli-6.1.0/docs/reference/server/deployment.md +113 -0
- agentirc_cli-6.1.0/docs/reference/server/index.md +78 -0
- agentirc_cli-6.0.2/docs/operations/SECURITY.md → agentirc_cli-6.1.0/docs/reference/server/security.md +7 -3
- agentirc_cli-6.1.0/docs/shared/concepts/federation.md +71 -0
- agentirc_cli-6.1.0/docs/shared/concepts/harnesses.md +77 -0
- agentirc_cli-6.1.0/docs/shared/concepts/humans-and-agents.md +54 -0
- agentirc_cli-6.1.0/docs/shared/concepts/index.md +12 -0
- agentirc_cli-6.0.2/docs/persistent-history.md → agentirc_cli-6.1.0/docs/shared/concepts/persistence.md +9 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared/concepts}/rooms.md +5 -1
- agentirc_cli-6.1.0/docs/shared/demos/magic-demo.md +87 -0
- agentirc_cli-6.1.0/docs/shared/guides/first-session.md +64 -0
- agentirc_cli-6.1.0/docs/shared/guides/index.md +12 -0
- agentirc_cli-6.1.0/docs/shared/guides/join-as-human.md +95 -0
- agentirc_cli-6.1.0/docs/shared/guides/local-setup.md +71 -0
- agentirc_cli-6.1.0/docs/shared/guides/multi-machine.md +85 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/01-pair-programming.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/02-code-review-ensemble.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/03-cross-server-delegation.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/04-knowledge-propagation.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/05-the-observer.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/06-cross-server-ops.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/07-supervisor-intervention.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/08-apps-as-agents.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/09-research-swarm.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases/10-agent-lifecycle.md +3 -0
- {agentirc_cli-6.0.2/docs → agentirc_cli-6.1.0/docs/shared}/use-cases-index.md +4 -1
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/pyproject.toml +1 -1
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/uv.lock +1 -1
- agentirc_cli-6.0.2/.github/workflows/pages.yml +0 -59
- agentirc_cli-6.0.2/CNAME +0 -1
- agentirc_cli-6.0.2/PKG-INFO +0 -241
- agentirc_cli-6.0.2/README.md +0 -217
- agentirc_cli-6.0.2/_config.yml +0 -59
- agentirc_cli-6.0.2/_sass/custom/custom.scss +0 -16
- agentirc_cli-6.0.2/docs/agent-readiness.md +0 -102
- agentirc_cli-6.0.2/docs/agentic-self-learn.md +0 -110
- agentirc_cli-6.0.2/docs/agents/decentralized-config.md +0 -194
- agentirc_cli-6.0.2/docs/architecture/agent-client.md +0 -28
- agentirc_cli-6.0.2/docs/architecture/design.md +0 -9
- agentirc_cli-6.0.2/docs/architecture/harness-conformance.md +0 -84
- agentirc_cli-6.0.2/docs/architecture/index.md +0 -18
- agentirc_cli-6.0.2/docs/architecture/layer1-core-irc.md +0 -59
- agentirc_cli-6.0.2/docs/architecture/layer2-attention.md +0 -125
- agentirc_cli-6.0.2/docs/architecture/layer3-skills.md +0 -108
- agentirc_cli-6.0.2/docs/architecture/layer4-federation.md +0 -138
- agentirc_cli-6.0.2/docs/architecture/layer5-agent-harness.md +0 -94
- agentirc_cli-6.0.2/docs/architecture/server-architecture.md +0 -19
- agentirc_cli-6.0.2/docs/channel-polling.md +0 -51
- agentirc_cli-6.0.2/docs/clients/acp/overview.md +0 -165
- agentirc_cli-6.0.2/docs/clients/acp/system-prompt.md +0 -183
- agentirc_cli-6.0.2/docs/clients/claude/configuration.md +0 -176
- agentirc_cli-6.0.2/docs/clients/claude/context-management.md +0 -65
- agentirc_cli-6.0.2/docs/clients/claude/irc-tools.md +0 -187
- agentirc_cli-6.0.2/docs/clients/claude/overview.md +0 -102
- agentirc_cli-6.0.2/docs/clients/claude/setup.md +0 -190
- agentirc_cli-6.0.2/docs/clients/claude/supervisor.md +0 -104
- agentirc_cli-6.0.2/docs/clients/claude/webhooks.md +0 -91
- agentirc_cli-6.0.2/docs/clients/codex/configuration.md +0 -172
- agentirc_cli-6.0.2/docs/clients/codex/context-management.md +0 -66
- agentirc_cli-6.0.2/docs/clients/codex/irc-tools.md +0 -188
- agentirc_cli-6.0.2/docs/clients/codex/overview.md +0 -110
- agentirc_cli-6.0.2/docs/clients/codex/setup.md +0 -216
- agentirc_cli-6.0.2/docs/clients/codex/supervisor.md +0 -119
- agentirc_cli-6.0.2/docs/clients/codex/webhooks.md +0 -91
- agentirc_cli-6.0.2/docs/clients/copilot/configuration.md +0 -223
- agentirc_cli-6.0.2/docs/clients/copilot/context-management.md +0 -74
- agentirc_cli-6.0.2/docs/clients/copilot/irc-tools.md +0 -188
- agentirc_cli-6.0.2/docs/clients/copilot/overview.md +0 -135
- agentirc_cli-6.0.2/docs/clients/copilot/setup.md +0 -223
- agentirc_cli-6.0.2/docs/clients/copilot/supervisor.md +0 -118
- agentirc_cli-6.0.2/docs/clients/copilot/webhooks.md +0 -91
- agentirc_cli-6.0.2/docs/getting-started.md +0 -233
- agentirc_cli-6.0.2/docs/index.md +0 -132
- agentirc_cli-6.0.2/docs/manifest-migration.md +0 -74
- agentirc_cli-6.0.2/docs/operations/bots.md +0 -140
- agentirc_cli-6.0.2/docs/operations/ci.md +0 -42
- agentirc_cli-6.0.2/docs/operations/docs-site.md +0 -53
- agentirc_cli-6.0.2/docs/operations/index.md +0 -14
- agentirc_cli-6.0.2/docs/operations/ops-tooling.md +0 -291
- agentirc_cli-6.0.2/docs/operations/overview.md +0 -87
- agentirc_cli-6.0.2/docs/operations/publishing.md +0 -44
- agentirc_cli-6.0.2/docs/server-rename.md +0 -87
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.claude/skills/pr-review/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.claude/skills/run-tests/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.claude/skills/run-tests/scripts/test.sh +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.flake8 +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.github/workflows/publish.yml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.github/workflows/security-checks.yml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.github/workflows/tests.yml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.markdownlint-cli2.yaml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.pr_agent.toml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.pre-commit-config.yaml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/.pylintrc +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/CLAUDE.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/Gemfile +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/Gemfile.lock +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/LICENSE +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/SECURITY.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/_includes/head_custom.html +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/_sass/color_schemes/anthropic.scss +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/apple-touch-icon.png +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/favicon-16x16.png +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/favicon-32x32.png +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/assets/images/favicon.ico +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/__main__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/CLAUDE.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/__main__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/channel.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc-architecture.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc-features.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc-skill.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/docs/agentirc.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/history_store.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/ircd.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/remote_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/room_store.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/rooms_util.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/server_link.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skill.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/history.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/icon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/rooms.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/skills/threads.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/agentirc/thread_store.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/aio.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/bot.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/bot_manager.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/http_listener.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/template_engine.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/bots/virtual_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/agent.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/bot.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/channel.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/mesh.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/server.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/constants.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/display.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/formatting.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/mesh.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/shared/process.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/cli/skills.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/agent_runner.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/culture.yaml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/irc_transport.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/message_buffer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/skill/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/skill/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/skill/irc_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/socket_server.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/supervisor.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/acp/webhook.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/__main__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/agent_runner.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/culture.yaml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/irc_transport.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/message_buffer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/skill/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/skill/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/skill/irc_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/socket_server.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/supervisor.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/claude/webhook.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/agent_runner.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/culture.yaml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/irc_transport.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/message_buffer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/skill/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/skill/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/skill/irc_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/socket_server.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/supervisor.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/codex/webhook.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/agent_runner.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/culture.yaml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/irc_transport.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/message_buffer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/skill/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/skill/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/skill/irc_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/socket_server.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/supervisor.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/clients/copilot/webhook.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/app.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/commands.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/chat.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/info_panel.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/console/widgets/sidebar.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/credentials.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/formatting.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/learn_prompt.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/mesh_config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/observer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/collector.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/model.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/renderer_text.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/renderer_web.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/overview/web/style.css +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/persistence.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/pidfile.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/commands.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/federation.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/history.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/icons.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/rooms.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/tags.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/extensions/threads.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/message.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/protocol-index.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/protocol/replies.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/culture/skills/culture/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/resources/github-copilot-sdk-instructions.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-19-layer1-core-irc.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-21-layer5-agent-harness.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-30-overview.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-03-30-rooms-management.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-02-conversation-threads.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-02-ops-tooling.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-04-culture-rename.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-05-docs-speak-culture.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-06-console-chat.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/plans/2026-04-09-decentralized-agent-config.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-19-agentirc-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-21-layer5-agent-harness-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-30-overview-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-03-30-rooms-management-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-02-conversation-threads-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-02-ops-tooling-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-03-bots-webhooks-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-04-culture-rename-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-05-docs-speak-culture-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-05-lifecycle-reframe-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-06-cli-reorganization-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-06-console-chat-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-07-entity-archiving-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-07-reflective-development-reframe-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-08-reflective-development-deepening-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/docs/superpowers/specs/2026-04-09-decentralized-agent-config-design.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/favicon.ico +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/README.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/culture.yaml +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/irc_transport.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/message_buffer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/skill/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/skill/irc_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/socket_server.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/packages/agent-harness/webhook.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/claude-code/skills/culture/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/claude-code/skills/irc/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/plugins/codex/skills/culture-irc/SKILL.md +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/sonar-project.properties +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/__init__.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/conftest.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_acp_daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_agent_runner.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_archive.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bot.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bot_config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bot_manager.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_bots_integration.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_channel.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_channel_cli.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_codex_daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_connection.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_commands.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_connection.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_icons.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_console_integration.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_copilot_daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_credentials.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_culture_config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_daemon.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_daemon_config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_daemon_ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_discovery.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_display.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_federation.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_history.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_http_listener.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_integration_layer5.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_ipc.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_irc_transport.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_learn_prompt.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_link_reconnect.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_manifest_config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mention_alias.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mention_target_cleanup.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mention_warning.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mentions.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mesh_config.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_mesh_readiness.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_message.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_message_buffer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_messaging.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_migrate_cli.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_modes.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_cli.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_collector.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_model.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_renderer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_overview_web.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_persistence.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_pidfile.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_poll_loop.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_register_cli.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_room_persistence.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_rooms.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_rooms_federation.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_rooms_integration.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_server_icon_skill.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_setup_update_cli.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_skill_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_skill_docs.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_skills.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_socket_server.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_supervisor.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_template_engine.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_thread_buffer.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_threads.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_virtual_client.py +0 -0
- {agentirc_cli-6.0.2 → agentirc_cli-6.1.0}/tests/test_wait_for_port.py +0 -0
- {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."
|
|
@@ -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,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>
|