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 identity — culture.yaml (suffix + backend) and the matching prompt file for that backend (this repo ships backend: colleague → AGENTS.colleague.md; claude → CLAUDE.md, acp → AGENTS.md, gemini → GEMINI.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 paradigm — docs/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.

Metadata

Release files for agentculture-cli 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentculture-cli 0.10.0
File Size Uploaded Provenance
agentculture_cli-0.10.0.tar.gz 293.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for agentculture-cli 0.10.0
File Interpreter ABI Platform
agentculture_cli-0.10.0-py3-none-any.whl Python 3 none any Details

Total release size: 391.0 kB

Release files / agentculture_cli-0.10.0.tar.gz

Download URL agentculture_cli-0.10.0.tar.gz
Size 293.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b65eb34c0bd4dc4a42a3cee53b827d6cb31a730cfbe0d7500e29896ce2d9b62a
BLAKE2b-256 checksum
How to use checksums
18969a9169d13e7372cce9ff407b0b533978cb000b27c606957d543926d690c8
Upload date
Uploaded using Trusted Publishing?
What is 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}

Release files / agentculture_cli-0.10.0-py3-none-any.whl

Download URL agentculture_cli-0.10.0-py3-none-any.whl
Size 98.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
95f9345570b7e32f1e7e3eff926d91374a8b8f70cd1d761d7e14bc9e1efafe8c
BLAKE2b-256 checksum
How to use checksums
d9d006b263186d23b96aea50d4097942467e5eaa66d6d5b0a105775c224f9045
Upload date
Uploaded using Trusted Publishing?
What is 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}

Security for agentculture-cli 0.10.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page