Catalog PyPI
PACKAGE EXPLORERView in registry

agentculture-cli

PyPI

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

Versions collected1
Direct dependencies2From release 0.10.0
Last observed20 Oct, 21:46 UTC

README

Version 0.10.0 documentation

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

VerbWhat it does
whoamiReport this agent's nick, version, backend, and model from culture.yaml.
learnPrint a structured self-teaching prompt.
explain <path>Markdown docs for any noun/verb path.
overviewRead-only descriptive snapshot of the agent.
doctorCheck the agent-identity invariants (prompt-file-present, backend-consistency).
cli overviewDescribe 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.

Downloads & popularity

3downloads
1-day window · source-reported counts20 Oct 2026
24120
2026-07-23: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-23–2026-07-232026-07-24: 7 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-24–2026-07-242026-07-25: 4 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-25–2026-07-252026-07-26: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-26–2026-07-262026-07-27: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-27–2026-07-272026-07-28: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-28–2026-07-282026-07-29: 4 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-29–2026-07-292026-07-30: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-30–2026-07-302026-07-31: 11 · observed 2026-10-21T09:40:45.7071731Z · period 2026-07-31–2026-07-312026-08-01: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-01–2026-08-012026-08-02: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-02–2026-08-022026-08-03: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-03–2026-08-032026-08-04: 5 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-04–2026-08-042026-08-05: 4 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-05–2026-08-052026-08-06: 9 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-06–2026-08-062026-08-09: 8 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-09–2026-08-092026-08-14: 6 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-14–2026-08-142026-08-17: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-17–2026-08-172026-08-18: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-18–2026-08-182026-08-19: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-19–2026-08-192026-08-22: 22 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-22–2026-08-222026-08-23: 4 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-23–2026-08-232026-08-24: 5 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-24–2026-08-242026-08-26: 4 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-26–2026-08-262026-08-27: 22 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-27–2026-08-272026-08-31: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-08-31–2026-08-312026-09-03: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-03–2026-09-032026-09-04: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-04–2026-09-042026-09-06: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-06–2026-09-062026-09-07: 4 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-07–2026-09-072026-09-12: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-12–2026-09-122026-09-13: 22 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-13–2026-09-132026-09-14: 8 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-14–2026-09-142026-09-16: 6 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-16–2026-09-162026-09-17: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-17–2026-09-172026-09-18: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-18–2026-09-182026-09-20: 24 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-20–2026-09-202026-09-23: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-23–2026-09-232026-09-25: 6 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-25–2026-09-252026-09-26: 3 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-26–2026-09-262026-09-27: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-27–2026-09-272026-09-28: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-28–2026-09-282026-09-30: 3 · observed 2026-10-21T09:40:45.7071731Z · period 2026-09-30–2026-09-302026-10-02: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-02–2026-10-022026-10-05: 13 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-05–2026-10-052026-10-06: 20 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-06–2026-10-062026-10-08: 13 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-08–2026-10-082026-10-09: 3 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-09–2026-10-092026-10-10: 19 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-10–2026-10-102026-10-11: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-11–2026-10-112026-10-12: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-12–2026-10-122026-10-13: 1 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-13–2026-10-132026-10-14: 3 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-14–2026-10-142026-10-15: 3 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-15–2026-10-152026-10-16: 2 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-16–2026-10-162026-10-17: 11 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-17–2026-10-172026-10-18: 6 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-18–2026-10-182026-10-20: 3 · observed 2026-10-21T09:40:45.7071731Z · period 2026-10-20–2026-10-20
23 Jul20 Oct

pypistats · 58 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-20 – 2026-10-2032026-10-21T09:40:45.7071731Z
2026-10-18 – 2026-10-1862026-10-21T09:40:45.7071731Z
2026-10-17 – 2026-10-17112026-10-21T09:40:45.7071731Z
2026-10-16 – 2026-10-1622026-10-21T09:40:45.7071731Z
2026-10-15 – 2026-10-1532026-10-21T09:40:45.7071731Z
2026-10-14 – 2026-10-1432026-10-21T09:40:45.7071731Z
2026-10-13 – 2026-10-1312026-10-21T09:40:45.7071731Z
2026-10-12 – 2026-10-1222026-10-21T09:40:45.7071731Z
2026-10-11 – 2026-10-1112026-10-21T09:40:45.7071731Z
2026-10-10 – 2026-10-10192026-10-21T09:40:45.7071731Z
2026-10-09 – 2026-10-0932026-10-21T09:40:45.7071731Z
2026-10-08 – 2026-10-08132026-10-21T09:40:45.7071731Z
2026-10-06 – 2026-10-06202026-10-21T09:40:45.7071731Z
2026-10-05 – 2026-10-05132026-10-21T09:40:45.7071731Z
2026-10-02 – 2026-10-0222026-10-21T09:40:45.7071731Z
2026-09-30 – 2026-09-3032026-10-21T09:40:45.7071731Z
2026-09-28 – 2026-09-2822026-10-21T09:40:45.7071731Z
2026-09-27 – 2026-09-2712026-10-21T09:40:45.7071731Z
2026-09-26 – 2026-09-2632026-10-21T09:40:45.7071731Z
2026-09-25 – 2026-09-2562026-10-21T09:40:45.7071731Z
2026-09-23 – 2026-09-2312026-10-21T09:40:45.7071731Z
2026-09-20 – 2026-09-20242026-10-21T09:40:45.7071731Z
2026-09-18 – 2026-09-1812026-10-21T09:40:45.7071731Z
2026-09-17 – 2026-09-1712026-10-21T09:40:45.7071731Z
2026-09-16 – 2026-09-1662026-10-21T09:40:45.7071731Z
2026-09-14 – 2026-09-1482026-10-21T09:40:45.7071731Z
2026-09-13 – 2026-09-13222026-10-21T09:40:45.7071731Z
2026-09-12 – 2026-09-1212026-10-21T09:40:45.7071731Z
2026-09-07 – 2026-09-0742026-10-21T09:40:45.7071731Z
2026-09-06 – 2026-09-0612026-10-21T09:40:45.7071731Z
2026-09-04 – 2026-09-0412026-10-21T09:40:45.7071731Z
2026-09-03 – 2026-09-0312026-10-21T09:40:45.7071731Z
2026-08-31 – 2026-08-3122026-10-21T09:40:45.7071731Z
2026-08-27 – 2026-08-27222026-10-21T09:40:45.7071731Z
2026-08-26 – 2026-08-2642026-10-21T09:40:45.7071731Z
2026-08-24 – 2026-08-2452026-10-21T09:40:45.7071731Z
2026-08-23 – 2026-08-2342026-10-21T09:40:45.7071731Z
2026-08-22 – 2026-08-22222026-10-21T09:40:45.7071731Z
2026-08-19 – 2026-08-1912026-10-21T09:40:45.7071731Z
2026-08-18 – 2026-08-1812026-10-21T09:40:45.7071731Z
2026-08-17 – 2026-08-1722026-10-21T09:40:45.7071731Z
2026-08-14 – 2026-08-1462026-10-21T09:40:45.7071731Z
2026-08-09 – 2026-08-0982026-10-21T09:40:45.7071731Z
2026-08-06 – 2026-08-0692026-10-21T09:40:45.7071731Z
2026-08-05 – 2026-08-0542026-10-21T09:40:45.7071731Z
2026-08-04 – 2026-08-0452026-10-21T09:40:45.7071731Z
2026-08-03 – 2026-08-0322026-10-21T09:40:45.7071731Z
2026-08-02 – 2026-08-0212026-10-21T09:40:45.7071731Z
2026-08-01 – 2026-08-0122026-10-21T09:40:45.7071731Z
2026-07-31 – 2026-07-31112026-10-21T09:40:45.7071731Z
2026-07-30 – 2026-07-3022026-10-21T09:40:45.7071731Z
2026-07-29 – 2026-07-2942026-10-21T09:40:45.7071731Z
2026-07-28 – 2026-07-2812026-10-21T09:40:45.7071731Z
2026-07-27 – 2026-07-2722026-10-21T09:40:45.7071731Z
2026-07-26 – 2026-07-2622026-10-21T09:40:45.7071731Z
2026-07-25 – 2026-07-2542026-10-21T09:40:45.7071731Z
2026-07-24 – 2026-07-2472026-10-21T09:40:45.7071731Z
2026-07-23 – 2026-07-2322026-10-21T09:40:45.7071731Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.10.011 Jul 20262

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
agentculture/culture-guide

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 21:46 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:27a86c3f0973a16cb04a4916180ff475220bfbd0664757b3f4bb608c87c9a46a