katvan 0.3.0__tar.gz → 0.3.2__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 (202) hide show
  1. {katvan-0.3.0 → katvan-0.3.2}/CHANGELOG.md +30 -0
  2. {katvan-0.3.0 → katvan-0.3.2}/PKG-INFO +1 -1
  3. {katvan-0.3.0 → katvan-0.3.2}/pyproject.toml +1 -1
  4. {katvan-0.3.0 → katvan-0.3.2}/site/_config.culture.yml +0 -2
  5. katvan-0.3.2/site/_data/category_titles.yml +10 -0
  6. {katvan-0.3.0 → katvan-0.3.2}/site/_data/landing.yml +14 -2
  7. {katvan-0.3.0 → katvan-0.3.2}/site/_layouts/home.html +11 -1
  8. {katvan-0.3.0 → katvan-0.3.2}/site/_sass/custom/custom.scss +4 -0
  9. {katvan-0.3.0 → katvan-0.3.2}/site/agex/index.md +1 -1
  10. {katvan-0.3.0 → katvan-0.3.2}/site/docs/afi-cli/index.md +2 -0
  11. {katvan-0.3.0 → katvan-0.3.2}/site/docs/agentirc/index.md +2 -0
  12. {katvan-0.3.0 → katvan-0.3.2}/site/docs/agtag/index.md +4 -2
  13. {katvan-0.3.0 → katvan-0.3.2}/site/docs/antoine/index.md +2 -0
  14. {katvan-0.3.0 → katvan-0.3.2}/site/docs/appsec/index.md +2 -0
  15. {katvan-0.3.0 → katvan-0.3.2}/site/docs/auntiepypi/index.md +4 -2
  16. {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/resident-culture.md +3 -3
  17. {katvan-0.3.0 → katvan-0.3.2}/site/docs/code-lens-cli/index.md +2 -0
  18. {katvan-0.3.0 → katvan-0.3.2}/site/docs/culture/index.md +2 -0
  19. {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureagent/index.md +2 -0
  20. {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureflare/index.md +4 -2
  21. {katvan-0.3.0 → katvan-0.3.2}/site/docs/ecosystem.md +1 -1
  22. {katvan-0.3.0 → katvan-0.3.2}/site/docs/ghafi/index.md +4 -2
  23. {katvan-0.3.0 → katvan-0.3.2}/site/docs/irc-lens/index.md +2 -0
  24. {katvan-0.3.0 → katvan-0.3.2}/site/docs/katvan/index.md +4 -2
  25. {katvan-0.3.0 → katvan-0.3.2}/site/docs/landing-page/index.md +2 -0
  26. {katvan-0.3.0 → katvan-0.3.2}/site/docs/office-agent/index.md +2 -0
  27. {katvan-0.3.0 → katvan-0.3.2}/site/docs/quickstart.md +6 -0
  28. {katvan-0.3.0 → katvan-0.3.2}/site/docs/shushu/index.md +2 -0
  29. {katvan-0.3.0 → katvan-0.3.2}/site/docs/steward/index.md +4 -2
  30. {katvan-0.3.0 → katvan-0.3.2}/site/docs/telek/index.md +2 -0
  31. {katvan-0.3.0 → katvan-0.3.2}/site/docs/tipalti/index.md +2 -0
  32. {katvan-0.3.0 → katvan-0.3.2}/site/docs/zehut/index.md +2 -0
  33. katvan-0.3.2/site/wrangler.jsonc +16 -0
  34. {katvan-0.3.0 → katvan-0.3.2}/uv.lock +1 -1
  35. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/SKILL.md +0 -0
  36. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
  37. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
  38. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
  39. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
  40. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/workflow.sh +0 -0
  41. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/SKILL.md +0 -0
  42. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
  43. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
  44. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
  45. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
  46. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
  47. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/SKILL.md +0 -0
  48. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/_frontmatter.py +0 -0
  49. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/_repos.sh +0 -0
  50. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/doctor.sh +0 -0
  51. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/overview.sh +0 -0
  52. {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/pull.sh +0 -0
  53. {katvan-0.3.0 → katvan-0.3.2}/.flake8 +0 -0
  54. {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/docs-check.yml +0 -0
  55. {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/publish.yml +0 -0
  56. {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/reference-sync.yml +0 -0
  57. {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/tests.yml +0 -0
  58. {katvan-0.3.0 → katvan-0.3.2}/.gitignore +0 -0
  59. {katvan-0.3.0 → katvan-0.3.2}/LICENSE +0 -0
  60. {katvan-0.3.0 → katvan-0.3.2}/README.md +0 -0
  61. {katvan-0.3.0 → katvan-0.3.2}/culture.yaml +0 -0
  62. {katvan-0.3.0 → katvan-0.3.2}/docs/gsc-setup.md +0 -0
  63. {katvan-0.3.0 → katvan-0.3.2}/docs/skill-sources.md +0 -0
  64. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/audits/2026-05-17-existing-site-docs-audit.md +0 -0
  65. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/audits/2026-05-18-sitemap-robots-verification.md +0 -0
  66. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/plans/2026-05-14-culture-site-migration.md +0 -0
  67. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/plans/2026-05-17-culture-dev-marketing-rebuild.md +0 -0
  68. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/plans/2026-05-18-gsc-integration.md +0 -0
  69. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-14-culture-site-migration-design.md +0 -0
  70. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-17-culture-dev-marketing-rebuild-design.md +0 -0
  71. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-agentculture-coverage-audit.md +0 -0
  72. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-agex-docs-absorption-design.md +0 -0
  73. {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-gsc-integration-design.md +0 -0
  74. {katvan-0.3.0 → katvan-0.3.2}/katvan/__init__.py +0 -0
  75. {katvan-0.3.0 → katvan-0.3.2}/katvan/__main__.py +0 -0
  76. {katvan-0.3.0 → katvan-0.3.2}/katvan/_errors.py +0 -0
  77. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/__init__.py +0 -0
  78. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/__init__.py +0 -0
  79. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/doctor.py +0 -0
  80. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/explain.py +0 -0
  81. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/gsc.py +0 -0
  82. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/learn.py +0 -0
  83. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/overview.py +0 -0
  84. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/pull.py +0 -0
  85. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_errors.py +0 -0
  86. {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_output.py +0 -0
  87. {katvan-0.3.0 → katvan-0.3.2}/katvan/explain/__init__.py +0 -0
  88. {katvan-0.3.0 → katvan-0.3.2}/katvan/explain/catalog.py +0 -0
  89. {katvan-0.3.0 → katvan-0.3.2}/katvan/frontmatter.py +0 -0
  90. {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/__init__.py +0 -0
  91. {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/_sitemap_fetch.py +0 -0
  92. {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/client.py +0 -0
  93. {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/doctor.py +0 -0
  94. {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/inspect.py +0 -0
  95. {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/sitemaps.py +0 -0
  96. {katvan-0.3.0 → katvan-0.3.2}/katvan/repos.py +0 -0
  97. {katvan-0.3.0 → katvan-0.3.2}/scripts/sync_agex_skills.py +0 -0
  98. {katvan-0.3.0 → katvan-0.3.2}/site/Gemfile +0 -0
  99. {katvan-0.3.0 → katvan-0.3.2}/site/Gemfile.lock +0 -0
  100. {katvan-0.3.0 → katvan-0.3.2}/site/_config.base.yml +0 -0
  101. {katvan-0.3.0 → katvan-0.3.2}/site/_data/agentculture_repos.yml +0 -0
  102. {katvan-0.3.0 → katvan-0.3.2}/site/_data/culture_subcommands.yml +0 -0
  103. {katvan-0.3.0 → katvan-0.3.2}/site/_data/sites.yml +0 -0
  104. {katvan-0.3.0 → katvan-0.3.2}/site/_data/style.yml +0 -0
  105. {katvan-0.3.0 → katvan-0.3.2}/site/_includes/analytics.html +0 -0
  106. {katvan-0.3.0 → katvan-0.3.2}/site/_includes/head_custom.html +0 -0
  107. {katvan-0.3.0 → katvan-0.3.2}/site/_includes/repo_table.html +0 -0
  108. {katvan-0.3.0 → katvan-0.3.2}/site/_includes/subcommand_table.html +0 -0
  109. {katvan-0.3.0 → katvan-0.3.2}/site/_sass/color_schemes/anthropic.scss +0 -0
  110. {katvan-0.3.0 → katvan-0.3.2}/site/_sass/color_schemes/dark-terminal.scss +0 -0
  111. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/doctor.md +0 -0
  112. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/explain.md +0 -0
  113. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/gamify.md +0 -0
  114. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/hook.md +0 -0
  115. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/index.md +0 -0
  116. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/learn.md +0 -0
  117. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/overview.md +0 -0
  118. {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/pr.md +0 -0
  119. {katvan-0.3.0 → katvan-0.3.2}/site/agex/getting-started.md +0 -0
  120. {katvan-0.3.0 → katvan-0.3.2}/site/agex/skill-sources.md +0 -0
  121. {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/IMG_3183.png +0 -0
  122. {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/apple-touch-icon.png +0 -0
  123. {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/favicon-16x16.png +0 -0
  124. {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/favicon-32x32.png +0 -0
  125. {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/favicon.ico +0 -0
  126. {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/og-agentirc.png +0 -0
  127. {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/og-culture.png +0 -0
  128. {katvan-0.3.0 → katvan-0.3.2}/site/docs/afi-cli/reference/index.md +0 -0
  129. {katvan-0.3.0 → katvan-0.3.2}/site/docs/afi-cli/reference/learn.md +0 -0
  130. {katvan-0.3.0 → katvan-0.3.2}/site/docs/agtag/reference/index.md +0 -0
  131. {katvan-0.3.0 → katvan-0.3.2}/site/docs/agtag/reference/learn.md +0 -0
  132. {katvan-0.3.0 → katvan-0.3.2}/site/docs/antoine/reference/index.md +0 -0
  133. {katvan-0.3.0 → katvan-0.3.2}/site/docs/antoine/reference/learn.md +0 -0
  134. {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/agent-harness-spec.md +0 -0
  135. {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/index.md +0 -0
  136. {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/layers.md +0 -0
  137. {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/shared-vs-cited.md +0 -0
  138. {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/subsites.md +0 -0
  139. {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/threads.md +0 -0
  140. {katvan-0.3.0 → katvan-0.3.2}/site/docs/attention.md +0 -0
  141. {katvan-0.3.0 → katvan-0.3.2}/site/docs/auntiepypi/reference/index.md +0 -0
  142. {katvan-0.3.0 → katvan-0.3.2}/site/docs/auntiepypi/reference/learn.md +0 -0
  143. {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/core-runtime.md +0 -0
  144. {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/identity-secrets.md +0 -0
  145. {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/org-site.md +0 -0
  146. {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/resident-domain.md +0 -0
  147. {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/workspace-experience.md +0 -0
  148. {katvan-0.3.0 → katvan-0.3.2}/site/docs/code-lens-cli/reference/index.md +0 -0
  149. {katvan-0.3.0 → katvan-0.3.2}/site/docs/code-lens-cli/reference/learn.md +0 -0
  150. {katvan-0.3.0 → katvan-0.3.2}/site/docs/coverage-baseline.md +0 -0
  151. {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureagent/reference/index.md +0 -0
  152. {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureagent/reference/learn.md +0 -0
  153. {katvan-0.3.0 → katvan-0.3.2}/site/docs/ghafi/reference/index.md +0 -0
  154. {katvan-0.3.0 → katvan-0.3.2}/site/docs/ghafi/reference/learn.md +0 -0
  155. {katvan-0.3.0 → katvan-0.3.2}/site/docs/irc-lens/reference/index.md +0 -0
  156. {katvan-0.3.0 → katvan-0.3.2}/site/docs/irc-lens/reference/learn.md +0 -0
  157. {katvan-0.3.0 → katvan-0.3.2}/site/docs/katvan/reference/index.md +0 -0
  158. {katvan-0.3.0 → katvan-0.3.2}/site/docs/katvan/reference/learn.md +0 -0
  159. {katvan-0.3.0 → katvan-0.3.2}/site/docs/why.md +0 -0
  160. {katvan-0.3.0 → katvan-0.3.2}/site/favicon.ico +0 -0
  161. {katvan-0.3.0 → katvan-0.3.2}/site/index.md +0 -0
  162. {katvan-0.3.0 → katvan-0.3.2}/site/robots.txt +0 -0
  163. {katvan-0.3.0 → katvan-0.3.2}/site/sitemap-agentirc.html +0 -0
  164. {katvan-0.3.0 → katvan-0.3.2}/site/sitemap-main.html +0 -0
  165. {katvan-0.3.0 → katvan-0.3.2}/site/sitemap.html +0 -0
  166. {katvan-0.3.0 → katvan-0.3.2}/sonar-project.properties +0 -0
  167. {katvan-0.3.0 → katvan-0.3.2}/tests/__init__.py +0 -0
  168. {katvan-0.3.0 → katvan-0.3.2}/tests/cli/__init__.py +0 -0
  169. {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_doctor.py +0 -0
  170. {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_gsc_doctor.py +0 -0
  171. {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_gsc_inspect.py +0 -0
  172. {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_gsc_sitemaps.py +0 -0
  173. {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_overview.py +0 -0
  174. {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_pull.py +0 -0
  175. {katvan-0.3.0 → katvan-0.3.2}/tests/conftest.py +0 -0
  176. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/__init__.py +0 -0
  177. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/fake_afi_bin.py +0 -0
  178. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemap-flat.xml +0 -0
  179. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemap-index.xml +0 -0
  180. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemap-leaf-a.xml +0 -0
  181. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemaps-list.json +0 -0
  182. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/url-inspection-crawl-error.json +0 -0
  183. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/url-inspection-not-indexed.json +0 -0
  184. {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/url-inspection-pass.json +0 -0
  185. {katvan-0.3.0 → katvan-0.3.2}/tests/test_cli.py +0 -0
  186. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/__init__.py +0 -0
  187. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_doctor.py +0 -0
  188. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_explain.py +0 -0
  189. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_frontmatter.py +0 -0
  190. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_client.py +0 -0
  191. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_doctor.py +0 -0
  192. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_inspect.py +0 -0
  193. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_scaffold.py +0 -0
  194. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_sitemap_fetch.py +0 -0
  195. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_sitemaps.py +0 -0
  196. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_learn.py +0 -0
  197. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_no_circular_imports.py +0 -0
  198. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_output.py +0 -0
  199. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_overview.py +0 -0
  200. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_pull.py +0 -0
  201. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_repos.py +0 -0
  202. {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_sync_agex_skills.py +0 -0
@@ -9,6 +9,36 @@ artifacts.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.3.2] — 2026-05-24
13
+
14
+ ### Added
15
+
16
+ - Cloudflare Workers deployment config (`site/wrangler.jsonc`) generated by
17
+ Wrangler autoconfig — serves the built `site/` output (`_site_culture`) as
18
+ static assets, enabling version-controlled, faster deploys of the
19
+ culture.dev front door.
20
+
21
+ ## [0.3.1] — 2026-05-18
22
+
23
+ ### Changed
24
+
25
+ - Site front door (`site/`): hero now leads with the "function call vs
26
+ coworker" framing; new "The Loop" homepage section between the
27
+ capability pills and the ecosystem grid; Quickstart has an explicit
28
+ Prerequisites block (uv, Python, `ANTHROPIC_API_KEY`); each component
29
+ page gains a "How to reach it" line distinguishing direct CLIs from
30
+ tools accessed through `culture` or vended skills (#34).
31
+ - Ecosystem category headings now read correctly ("Identity & Secrets",
32
+ "Resident Agents", etc.) via a new `_data/category_titles.yml` lookup;
33
+ prior `capitalize` filter only touched the first letter and produced
34
+ "Identity secrets" / "Resident culture" in the rendered preview.
35
+ - "Resident Culture" category renamed to **Resident Agents** for outsider
36
+ legibility; URL slug `/categories/resident-culture/` unchanged.
37
+ - `agex` demoted from sidebar peer to a nested child under
38
+ `Workspace Experience`; "Agent Experience" removed from the top
39
+ navigation. Agex enters the site through the Ecosystem like every
40
+ other tool.
41
+
12
42
  ## [0.3.0] — 2026-05-18
13
43
 
14
44
  ### Added
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: katvan
3
- Version: 0.3.0
3
+ Version: 0.3.2
4
4
  Summary: Maintain sibling-repo docs under one roof on the culture.dev site.
5
5
  Project-URL: Homepage, https://github.com/agentculture/katvan
6
6
  Project-URL: Issues, https://github.com/agentculture/katvan/issues
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "katvan"
3
- version = "0.3.0"
3
+ version = "0.3.2"
4
4
  description = "Maintain sibling-repo docs under one roof on the culture.dev site."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -43,8 +43,6 @@ aux_links:
43
43
  - "/ecosystem/"
44
44
  "AgentIRC":
45
45
  - "/agentirc/"
46
- "Agent Experience":
47
- - "https://culture.dev/agex/"
48
46
  "GitHub":
49
47
  - "https://github.com/agentculture/culture"
50
48
 
@@ -0,0 +1,10 @@
1
+ # site/_data/category_titles.yml
2
+ # Display names for ecosystem category slugs. Used by templates that would
3
+ # otherwise downcase multi-word categories via Liquid's `capitalize` filter
4
+ # (which only touches the first character).
5
+ workspace-experience: "Workspace Experience"
6
+ core-runtime: "Core Runtime"
7
+ identity-secrets: "Identity & Secrets"
8
+ resident-culture: "Resident Agents"
9
+ resident-domain: "Resident Domain"
10
+ org-site: "Org Site"
@@ -5,8 +5,9 @@
5
5
  hero:
6
6
  headline: "The professional workspace for humans and AI agents."
7
7
  supporting: >-
8
- Persistent agents that join your channels, share your stack,
9
- and stay between sessions.
8
+ Most AI tooling treats an agent as a function call.
9
+ Culture treats it as a coworker in the room — persistent agents
10
+ that join your channels, share your stack, and stay between sessions.
10
11
  install_command: "uv tool install culture"
11
12
  start_command: "culture start"
12
13
  asciinema_cast: "/assets/casts/landing.cast"
@@ -27,6 +28,17 @@ pills:
27
28
  Bring Claude, GPT, or a local model. Bring your own keys. Bring your
28
29
  shell, your editor, your git workflow. Culture sits next to all of it.
29
30
 
31
+ loop:
32
+ heading: "The loop"
33
+ intro: >-
34
+ What actually happens when you run Culture.
35
+ steps:
36
+ - "Start a local mesh."
37
+ - "Join the room as a human."
38
+ - "Add one or more agents."
39
+ - "Let them stay between sessions."
40
+ - "Inspect everything through IRC, CLI, and logs."
41
+
30
42
  why_band:
31
43
  paragraph: >-
32
44
  Organic Development is the idea that agents become useful by being
@@ -20,6 +20,16 @@ layout: default
20
20
  {% endfor %}
21
21
  </section>
22
22
 
23
+ <section class="band band--loop">
24
+ <h2>{{ site.data.landing.loop.heading }}</h2>
25
+ {% if site.data.landing.loop.intro %}<p class="loop-intro">{{ site.data.landing.loop.intro }}</p>{% endif %}
26
+ <ol class="loop-steps">
27
+ {% for step in site.data.landing.loop.steps %}
28
+ <li>{{ step }}</li>
29
+ {% endfor %}
30
+ </ol>
31
+ </section>
32
+
23
33
  <section class="band band--ecosystem">
24
34
  <h2>The ecosystem</h2>
25
35
  {% assign cats = "workspace-experience,core-runtime,identity-secrets,resident-culture,resident-domain,org-site" | split: "," %}
@@ -27,7 +37,7 @@ layout: default
27
37
  {% assign repos_in_cat = site.data.agentculture_repos | where: "category", cat %}
28
38
  {% if repos_in_cat.size > 0 %}
29
39
  <article class="cat-card">
30
- <h3>{{ cat | replace: "-", " " | capitalize }}</h3>
40
+ <h3>{{ site.data.category_titles[cat] | default: cat }}</h3>
31
41
  <ul>
32
42
  {% for r in repos_in_cat %}
33
43
  {% if r.site_path %}{% assign r_path = r.site_path %}{% else %}{% assign r_path = r.id | prepend: "/" | append: "/" %}{% endif %}
@@ -363,4 +363,8 @@
363
363
  .home-content .band--ecosystem .cat-card ul { list-style: none; padding: 0; }
364
364
  .home-content .band--ecosystem .cat-card li { padding: 0.25rem 0; }
365
365
  .home-content .band--why .cta { font-weight: 600; }
366
+ .home-content .band--loop h2 { margin: 0 0 1rem; }
367
+ .home-content .band--loop .loop-intro { opacity: 0.75; margin: 0 0 1rem; }
368
+ .home-content .band--loop .loop-steps { padding-left: 1.25rem; margin: 0; }
369
+ .home-content .band--loop .loop-steps li { padding: 0.25rem 0; }
366
370
  @media (max-width: 720px) { .home-content .band--pills { grid-template-columns: 1fr; } }
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  title: agex
3
+ parent: "Workspace Experience"
3
4
  has_children: true
4
- nav_order: 1
5
5
  sites: [culture]
6
6
  permalink: /agex/
7
7
  description: Agent-operated developer-experience CLI for autonomous coding agents.
@@ -21,4 +21,6 @@ alias is planned.
21
21
  **Where it sits.** *Workspace Experience.* The contract layer the lens
22
22
  tools read from. Related: [culture](/culture/), [code-lens-cli](/code-lens-cli/).
23
23
 
24
+ **How to reach it.** Reached through `culture afi` today; the spec is also installable standalone.
25
+
24
26
  [Reference →](/docs/afi-cli/reference/)
@@ -20,3 +20,5 @@ wire. Bring your own client. Bring your own bot.
20
20
  **Where it sits.** *Core Runtime.* The protocol layer the rest of the stack
21
21
  depends on. Related: [culture](/culture/), [irc-lens](/irc-lens/).
22
22
 
23
+ **How to reach it.** Reached through `culture server start`. Can also run as a standalone daemon.
24
+
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: agtag
3
- parent: Resident Culture
3
+ parent: "Resident Agents"
4
4
  nav_order: 1
5
5
  permalink: /agtag/
6
6
  sites: [culture]
@@ -17,7 +17,9 @@ on the target repo, polls for replies, and gives both sides a stable
17
17
  thread to work from. The same binary backs the cross-repo verbs in the
18
18
  `communicate` skill.
19
19
 
20
- **Where it sits.** *Resident Culture.* The mesh's cross-repo message bus.
20
+ **Where it sits.** *Resident Agents.* The mesh's cross-repo message bus.
21
21
  Related: [steward](/steward/), [ghafi](/ghafi/).
22
22
 
23
+ **How to reach it.** Direct entry point, and the engine behind the `communicate` skill that ships in sibling repos.
24
+
23
25
  [Reference →](/docs/agtag/reference/)
@@ -20,5 +20,7 @@ project is early; expect the shape to move.
20
20
  **Where it sits.** *Workspace Experience.* Pattern capture for agent
21
21
  workflows. Related: [agex](/agex/), [culture](/culture/).
22
22
 
23
+ **How to reach it.** Direct entry point (experimental).
24
+
23
25
  [Reference →](/docs/antoine/reference/)
24
26
 
@@ -19,3 +19,5 @@ Early-stage; treat output as a second opinion, not a gate.
19
19
  **Where it sits.** *Resident Domain.* A domain-serving agent — the
20
20
  security domain. Related: [ghafi](/ghafi/), [steward](/steward/).
21
21
 
22
+ **How to reach it.** Reached as a resident agent — start it from `culture`, not as a one-off CLI.
23
+
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: auntiepypi
3
- parent: Resident Culture
3
+ parent: "Resident Agents"
4
4
  nav_order: 2
5
5
  permalink: /auntiepypi/
6
6
  sites: [culture]
@@ -17,7 +17,9 @@ version-bump conventions every other package in the org uses.
17
17
  `auntiepypi` owns the mechanical steps so each repo doesn't reinvent
18
18
  them. Early-stage; the API will move.
19
19
 
20
- **Where it sits.** *Resident Culture.* The org's release plumbing.
20
+ **Where it sits.** *Resident Agents.* The org's release plumbing.
21
21
  Related: [ghafi](/ghafi/), [steward](/steward/).
22
22
 
23
+ **How to reach it.** Direct entry point (early-stage; API will move).
24
+
23
25
  [Reference →](/docs/auntiepypi/reference/)
@@ -1,13 +1,13 @@
1
1
  ---
2
- title: Resident Culture
2
+ title: Resident Agents
3
3
  parent: Ecosystem
4
4
  permalink: /categories/resident-culture/
5
5
  sites: [culture]
6
6
  ---
7
7
 
8
- # Resident Culture
8
+ # Resident Agents
9
9
 
10
- **What this category is for.** The agents and tooling that maintain the org itself — its docs, its CI, its packages, its edge, its GitHub.
10
+ **What this category is for.** The agents and tooling that maintain the org itself — its docs, its CI, its packages, its edge, its GitHub. (Formerly "Resident Culture"; URL slug unchanged.)
11
11
 
12
12
  **When you'd care.** You are landing a change that touches more than one repo and want the docs on culture.dev to follow. You are cutting a release and need PyPI mechanics handled. You are reviewing a sibling-repo PR and want a resident agent to file the cross-repo follow-up. These are the residents that keep the AgentCulture surface coherent: docs sync, PR ergonomics, package publishing, DNS and edge delivery, agent-to-agent messaging. They are run by the org, for the org — the workspace agents that maintain the workspace.
13
13
 
@@ -19,4 +19,6 @@ than ripgrep, narrower than reading the whole tree.
19
19
  **Where it sits.** *Workspace Experience.* The read-side companion to the
20
20
  afi contract. Related: [afi-cli](/afi-cli/), [irc-lens](/irc-lens/).
21
21
 
22
+ **How to reach it.** Direct entry point — agents call it from the command line like ripgrep.
23
+
22
24
  [Reference →](/docs/code-lens-cli/reference/)
@@ -21,3 +21,5 @@ as a human. One install, one start, one room.
21
21
  of the registry composes underneath it. Related: [agentirc](/agentirc/),
22
22
  [afi-cli](/afi-cli/).
23
23
 
24
+ **How to reach it.** Direct entry point — and the umbrella every other tool composes under.
25
+
@@ -20,4 +20,6 @@ that rule is enforced, not aspirational.
20
20
  **Where it sits.** *Core Runtime.* The bridge between a model provider and
21
21
  a room. Related: [culture](/culture/), [agentirc](/agentirc/).
22
22
 
23
+ **How to reach it.** Reached through `culture start <agent-name>`.
24
+
23
25
  [Reference →](/docs/cultureagent/reference/)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: cultureflare
3
- parent: Resident Culture
3
+ parent: "Resident Agents"
4
4
  nav_order: 3
5
5
  permalink: /cultureflare/
6
6
  sites: [culture]
@@ -17,6 +17,8 @@ change should be reviewable rather than clicked through a dashboard.
17
17
  `cultureflare` keeps the org's edge config in code and applies it from a
18
18
  single agent. Early-stage; expect rough edges.
19
19
 
20
- **Where it sits.** *Resident Culture.* The org's edge plumbing.
20
+ **Where it sits.** *Resident Agents.* The org's edge plumbing.
21
21
  Related: [katvan](/katvan/), [landing-page](/landing-page/).
22
22
 
23
+ **How to reach it.** Direct entry point (early-stage; expect to run it as an org agent rather than ad-hoc).
24
+
@@ -12,7 +12,7 @@ sites: [culture]
12
12
  {% assign repos_in_cat = site.data.agentculture_repos | where: "category", cat %}
13
13
  {% if repos_in_cat.size > 0 %}
14
14
 
15
- ## {{ cat | replace: "-", " " | capitalize }}
15
+ ## {{ site.data.category_titles[cat] | default: cat }}
16
16
 
17
17
  [Read the category overview →](/categories/{{ cat }}/)
18
18
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: ghafi
3
- parent: Resident Culture
3
+ parent: "Resident Agents"
4
4
  nav_order: 4
5
5
  permalink: /ghafi/
6
6
  sites: [culture]
@@ -17,7 +17,9 @@ extra, and fixes the mechanical pieces — labels, branch protection,
17
17
  description lines, topics. A rename is in flight, so pin the version you
18
18
  depend on.
19
19
 
20
- **Where it sits.** *Resident Culture.* The org's GitHub plumbing.
20
+ **Where it sits.** *Resident Agents.* The org's GitHub plumbing.
21
21
  Related: [steward](/steward/), [agtag](/agtag/).
22
22
 
23
+ **How to reach it.** Direct entry point. Rename in flight — pin the version you depend on.
24
+
23
25
  [Reference →](/docs/ghafi/reference/)
@@ -20,4 +20,6 @@ know whether the silence is the room or the protocol.
20
20
  **Where it sits.** *Core Runtime.* The read-side companion to the daemon.
21
21
  Related: [agentirc](/agentirc/), [code-lens-cli](/code-lens-cli/).
22
22
 
23
+ **How to reach it.** Direct entry point.
24
+
23
25
  [Reference →](/docs/irc-lens/reference/)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: katvan
3
- parent: Resident Culture
3
+ parent: "Resident Agents"
4
4
  nav_order: 5
5
5
  permalink: /katvan/
6
6
  sites: [culture]
@@ -18,7 +18,9 @@ syncs reference content via the sibling's AFI binary, and `katvan
18
18
  doctor` fails CI when a registered repo is missing its page. Runs as a
19
19
  CLI; also drives the docs-check workflow.
20
20
 
21
- **Where it sits.** *Resident Culture.* The site's resident docs agent.
21
+ **Where it sits.** *Resident Agents.* The site's resident docs agent.
22
22
  Related: [steward](/steward/), [cultureflare](/cultureflare/).
23
23
 
24
+ **How to reach it.** Direct entry point; also drives the `docs-check` CI workflow.
25
+
24
26
  [Reference →](/docs/katvan/reference/)
@@ -20,3 +20,5 @@ sibling docs.
20
20
  **Where it sits.** *Org Site.* The only entry in this category.
21
21
  Related: [culture](/culture/), [katvan](/katvan/).
22
22
 
23
+ **How to reach it.** Visit agentculture.com (the org site) — culture.dev is the product site.
24
+
@@ -21,3 +21,5 @@ system of record.
21
21
  **Where it sits.** *Resident Domain.* A domain-serving agent — the
22
22
  office-logistics domain. Related: [telek](/telek/), [tipalti](/tipalti/).
23
23
 
24
+ **How to reach it.** Reached as a resident agent — start it from `culture`.
25
+
@@ -9,6 +9,12 @@ sites: [culture]
9
9
 
10
10
  Install, start a server, join the mesh, talk to an agent. About two minutes.
11
11
 
12
+ ## Prerequisites
13
+
14
+ - [`uv`](https://docs.astral.sh/uv/) on your `PATH`
15
+ - Python 3.10 or newer (uv will install one if you don't have it)
16
+ - An `ANTHROPIC_API_KEY` exported in your shell — the default agent backend is Claude via the Agent SDK. You can swap backends later, but the steps below assume Claude.
17
+
12
18
  ## 1. Install
13
19
 
14
20
  ```bash
@@ -20,3 +20,5 @@ is planned but not yet shipped.
20
20
  **Where it sits.** *Identity & Secrets.* The secret side of mesh identity.
21
21
  Related: [zehut](/zehut/), [culture](/culture/).
22
22
 
23
+ **How to reach it.** Direct entry point today; a `culture secret` wrapper is planned.
24
+
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: steward
3
- parent: Resident Culture
3
+ parent: "Resident Agents"
4
4
  nav_order: 6
5
5
  permalink: /steward/
6
6
  sites: [culture]
@@ -17,6 +17,8 @@ stale within a week. `steward` is the source of truth: skills are
17
17
  authored there, vendored out to siblings, and re-pulled when steward
18
18
  cuts a new version. The repo also owns registry hygiene as a remit.
19
19
 
20
- **Where it sits.** *Resident Culture.* The skill source-of-truth.
20
+ **Where it sits.** *Resident Agents.* The skill source-of-truth.
21
21
  Related: [katvan](/katvan/), [agtag](/agtag/).
22
22
 
23
+ **How to reach it.** Reached through the skills it vends — `cicd`, `communicate`, and the rest — installed into sibling repos.
24
+
@@ -21,3 +21,5 @@ call. Early-stage; rate limits and policy are your responsibility.
21
21
  Telegram-community domain. Related: [office-agent](/office-agent/),
22
22
  [appsec](/appsec/).
23
23
 
24
+ **How to reach it.** Reached as a resident agent — start it from `culture`.
25
+
@@ -22,3 +22,5 @@ read-only by default.
22
22
  external-finance-API domain. Related: [shushu](/shushu/),
23
23
  [office-agent](/office-agent/).
24
24
 
25
+ **How to reach it.** Reached as a resident agent — start it from `culture`.
26
+
@@ -20,3 +20,5 @@ wrapper is planned but not yet shipped.
20
20
  **Where it sits.** *Identity & Secrets.* The identity side of mesh
21
21
  identity. Related: [shushu](/shushu/), [agentirc](/agentirc/).
22
22
 
23
+ **How to reach it.** Direct entry point today; a `culture identity` wrapper is planned.
24
+
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "katvan",
3
+ "compatibility_date": "2026-05-17",
4
+ "observability": {
5
+ "enabled": true
6
+ },
7
+ // Relative to this config file's directory (site/), so this resolves to
8
+ // site/_site_culture — the Jekyll build output (docs-check.yml builds with
9
+ // working-directory: site, -d _site_culture).
10
+ "assets": {
11
+ "directory": "_site_culture"
12
+ },
13
+ "compatibility_flags": [
14
+ "nodejs_compat"
15
+ ]
16
+ }
@@ -582,7 +582,7 @@ wheels = [
582
582
 
583
583
  [[package]]
584
584
  name = "katvan"
585
- version = "0.3.0"
585
+ version = "0.3.2"
586
586
  source = { editable = "." }
587
587
  dependencies = [
588
588
  { name = "defusedxml" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes