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.
- {katvan-0.3.0 → katvan-0.3.2}/CHANGELOG.md +30 -0
- {katvan-0.3.0 → katvan-0.3.2}/PKG-INFO +1 -1
- {katvan-0.3.0 → katvan-0.3.2}/pyproject.toml +1 -1
- {katvan-0.3.0 → katvan-0.3.2}/site/_config.culture.yml +0 -2
- katvan-0.3.2/site/_data/category_titles.yml +10 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_data/landing.yml +14 -2
- {katvan-0.3.0 → katvan-0.3.2}/site/_layouts/home.html +11 -1
- {katvan-0.3.0 → katvan-0.3.2}/site/_sass/custom/custom.scss +4 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/index.md +1 -1
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/afi-cli/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/agentirc/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/agtag/index.md +4 -2
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/antoine/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/appsec/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/auntiepypi/index.md +4 -2
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/resident-culture.md +3 -3
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/code-lens-cli/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/culture/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureagent/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureflare/index.md +4 -2
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/ecosystem.md +1 -1
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/ghafi/index.md +4 -2
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/irc-lens/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/katvan/index.md +4 -2
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/landing-page/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/office-agent/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/quickstart.md +6 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/shushu/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/steward/index.md +4 -2
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/telek/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/tipalti/index.md +2 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/zehut/index.md +2 -0
- katvan-0.3.2/site/wrangler.jsonc +16 -0
- {katvan-0.3.0 → katvan-0.3.2}/uv.lock +1 -1
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/SKILL.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/_resolve-nick.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/portability-lint.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/pr-reply.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/pr-status.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/cicd/scripts/workflow.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/SKILL.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/fetch-issues.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/mesh-message.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/post-comment.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/post-issue.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/templates/skill-update-brief.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/SKILL.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/_frontmatter.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/_repos.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/doctor.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/overview.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.claude/skills/librarian/scripts/pull.sh +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.flake8 +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/docs-check.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/publish.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/reference-sync.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.github/workflows/tests.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/.gitignore +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/LICENSE +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/README.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/culture.yaml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/gsc-setup.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/skill-sources.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/audits/2026-05-17-existing-site-docs-audit.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/audits/2026-05-18-sitemap-robots-verification.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/plans/2026-05-14-culture-site-migration.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/plans/2026-05-17-culture-dev-marketing-rebuild.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/plans/2026-05-18-gsc-integration.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-14-culture-site-migration-design.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-17-culture-dev-marketing-rebuild-design.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-agentculture-coverage-audit.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-agex-docs-absorption-design.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-gsc-integration-design.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/__main__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/_errors.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/doctor.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/explain.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/gsc.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/learn.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/overview.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_commands/pull.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_errors.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/cli/_output.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/explain/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/explain/catalog.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/frontmatter.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/_sitemap_fetch.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/client.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/doctor.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/inspect.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/gsc/sitemaps.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/katvan/repos.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/scripts/sync_agex_skills.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/Gemfile +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/Gemfile.lock +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_config.base.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_data/agentculture_repos.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_data/culture_subcommands.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_data/sites.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_data/style.yml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_includes/analytics.html +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_includes/head_custom.html +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_includes/repo_table.html +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_includes/subcommand_table.html +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_sass/color_schemes/anthropic.scss +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/_sass/color_schemes/dark-terminal.scss +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/doctor.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/explain.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/gamify.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/hook.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/overview.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/commands/pr.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/getting-started.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/agex/skill-sources.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/IMG_3183.png +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/apple-touch-icon.png +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/favicon-16x16.png +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/favicon-32x32.png +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/favicon.ico +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/og-agentirc.png +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/assets/images/og-culture.png +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/afi-cli/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/afi-cli/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/agtag/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/agtag/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/antoine/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/antoine/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/agent-harness-spec.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/layers.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/shared-vs-cited.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/subsites.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/architecture/threads.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/attention.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/auntiepypi/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/auntiepypi/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/core-runtime.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/identity-secrets.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/org-site.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/resident-domain.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/categories/workspace-experience.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/code-lens-cli/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/code-lens-cli/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/coverage-baseline.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureagent/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/cultureagent/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/ghafi/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/ghafi/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/irc-lens/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/irc-lens/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/katvan/reference/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/katvan/reference/learn.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/docs/why.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/favicon.ico +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/index.md +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/robots.txt +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/sitemap-agentirc.html +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/sitemap-main.html +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/site/sitemap.html +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/sonar-project.properties +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/cli/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_doctor.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_gsc_doctor.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_gsc_inspect.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_gsc_sitemaps.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_overview.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/cli/test_pull.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/conftest.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/fake_afi_bin.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemap-flat.xml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemap-index.xml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemap-leaf-a.xml +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/sitemaps-list.json +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/url-inspection-crawl-error.json +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/url-inspection-not-indexed.json +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/fixtures/gsc/url-inspection-pass.json +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/test_cli.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/__init__.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_doctor.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_explain.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_frontmatter.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_client.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_doctor.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_inspect.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_scaffold.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_sitemap_fetch.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_gsc_sitemaps.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_learn.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_no_circular_imports.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_output.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_overview.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_pull.py +0 -0
- {katvan-0.3.0 → katvan-0.3.2}/tests/unit/test_repos.py +0 -0
- {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.
|
|
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
|
|
@@ -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
|
-
|
|
9
|
-
|
|
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 |
|
|
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; } }
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2
|
+
title: Resident Agents
|
|
3
3
|
parent: Ecosystem
|
|
4
4
|
permalink: /categories/resident-culture/
|
|
5
5
|
sites: [culture]
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Resident
|
|
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/)
|
|
@@ -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
|
|
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
|
|
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 |
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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/)
|
|
@@ -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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
title: steward
|
|
3
|
-
parent: Resident
|
|
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
|
|
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
|
+
|
|
@@ -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
|
+
}
|
|
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
|
{katvan-0.3.0 → katvan-0.3.2}/.claude/skills/communicate/scripts/templates/skill-update-brief.md
RENAMED
|
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
|
{katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/audits/2026-05-17-existing-site-docs-audit.md
RENAMED
|
File without changes
|
{katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/audits/2026-05-18-sitemap-robots-verification.md
RENAMED
|
File without changes
|
|
File without changes
|
{katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/plans/2026-05-17-culture-dev-marketing-rebuild.md
RENAMED
|
File without changes
|
|
File without changes
|
{katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-14-culture-site-migration-design.md
RENAMED
|
File without changes
|
|
File without changes
|
{katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-agentculture-coverage-audit.md
RENAMED
|
File without changes
|
{katvan-0.3.0 → katvan-0.3.2}/docs/superpowers/specs/2026-05-18-agex-docs-absorption-design.md
RENAMED
|
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
|
|
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
|
|
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
|