Skip to main content

culture-guide

Workshop and scaffolding CLI for practical AI efficiency: learn core AI concepts, build your first agents, create useful CLIs, and adopt agent-first development patterns

What you get

  • An agent-first CLI cited from teken (afi-cli) — the runtime package has no third-party dependencies.
  • A mesh identityculture.yaml (suffix + backend) and the matching prompt file for that backend (this repo ships backend: colleagueAGENTS.colleague.md; claudeCLAUDE.md, acpAGENTS.md, geminiGEMINI.md).
  • The canonical guildmaster skill kit (11 skills) under .claude/skills/, vendored cite-don't-import. See docs/skill-sources.md.
  • A build + deploy baseline — pytest, lint, the agent-first rubric gate, and PyPI Trusted Publishing wired into GitHub Actions.
  • The named paradigmdocs/culture.md names the culture every cloned agent inherits (agent-first CLI, cite-don't-import, learn→teach, the all-backends rule, converge-don't-vibe, …) and cites where each tenet is enforced. Addressable from the CLI: culture-guide explain culture.

Quickstart

uv sync
uv run pytest -n auto                 # run the test suite
uv run culture-guide whoami            # identity from culture.yaml
uv run culture-guide learn             # self-teaching prompt (add --json)
uv run teken cli doctor . --strict    # the agent-first rubric gate CI runs

CLI

Verb What it does
whoami Report this agent's nick, version, backend, and model from culture.yaml.
learn Print a structured self-teaching prompt.
explain <path> Markdown docs for any noun/verb path.
overview Read-only descriptive snapshot of the agent.
doctor Check the agent-identity invariants (prompt-file-present, backend-consistency).
cli overview Describe the CLI surface itself.

Every command supports --json. Results go to stdout, errors/diagnostics to stderr (never mixed). Exit codes: 0 success, 1 user error, 2 environment error, 3+ reserved.

Make it your own

  1. Rename the package culture_guide/ and the culture-guide CLI/dist name throughout pyproject.toml, the package, tests/, sonar-project.properties, and this README.md. The name is hard-coded in ~100 places, so list every occurrence first — see the git grep discovery command in CLAUDE.md, the authoritative rename procedure.
  2. Edit culture.yaml with your suffix and backend.
  3. Rewrite CLAUDE.md for your agent and run /init.
  4. Re-vendor only the skills you need from guildmaster (see docs/skill-sources.md).

See CLAUDE.md for the full conventions (version-bump-every-PR, the cicd PR lane, deploy setup).

Constant Colleague (Telegram responder)

A supervised, reset-surviving Telegram responder managed from the culture-guide CLI; it listens to a group and answers via an OpenAI/vLLM agent loop (strands-agents), colleague-swappable later.

Configure

Set these environment variables (via .env or your shell):

  • TELEGRAM_AGENT_BOT_TOKEN — your Telegram bot token
  • CONSTANT_COLLEAGUE_CHAT_ID — the Telegram group/chat ID to listen on
  • COLLEAGUE_BASE_URL — OpenAI-compatible endpoint (default http://localhost:8001/v1)
  • COLLEAGUE_MODEL — model name to use
  • CONSTANT_COLLEAGUE_BOT_USERNAME — the bot's display username
  • CONSTANT_COLLEAGUE_POLL_INTERVAL — seconds between getUpdates polls

Run

culture-guide listen start      # install + enable systemd --user unit (survives reboot)
culture-guide listen status     # is it live?
culture-guide listen stop
culture-guide listen restart
culture-guide listen logs       # prints the journalctl --user command

How it works

Pipeline: telegram-agent (receive getUpdates + send) → relevance gate (tag-override bypass; else reranker B → chat A cascade on the lobes vLLM endpoint; A-only fallback) → strands-agents agent loop (the mind) → reply; per-chat memory via eidetic; supervised by a systemd --user unit with lingering so it resumes after a server reset.

This added two runtime deps (telegram-agent[telegram], strands-agents[openai]) — culture-guide is no longer zero-third-party-dep.

License

Apache 2.0 — see LICENSE.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

culture_guide-0.10.0.tar.gz (293.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

culture_guide-0.10.0-py3-none-any.whl (98.0 kB view details)

Uploaded Python 3

File details

Details for the file culture_guide-0.10.0.tar.gz.

File metadata

  • Download URL: culture_guide-0.10.0.tar.gz
  • Upload date:
  • Size: 293.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for culture_guide-0.10.0.tar.gz
Algorithm Hash digest
SHA256 17981a5f3a206f82ff5818028807af1c8461bbd679442d1efac70cfe5a70f58b
MD5 6f6dba074886c20bbc0f5c2dbb252892
BLAKE2b-256 b95c248b843f20a731481c737baa6b7fbca9e46344019dd03a13a0642c1640dc

See more details on using hashes here.

File details

Details for the file culture_guide-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: culture_guide-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 98.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for culture_guide-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3aeb9ff43ea2aebac41b654cf50aae968e1277a0dc721c96ec9a66b3ece05f2b
MD5 d86dbaf4ebf81e18b1799e58bc082c64
BLAKE2b-256 dcccc4a6d7fb2b21b1131df34ae394427c1d86c32726c70968368293114b041f

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.10.0 This release

2 files

0.9.0

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page