Skip to main content

protocols-cli

Maintains Culture Protocols — a workflow system in which agents, bots and humans describe how work is done, by whom, and under a verifiable contract. The intended surface is authoring, versioning and validating protocol definitions, then checking a completed run against the contract it promised.

Status: scaffold. The protocol surface described above is not built yet. What ships today is the agent-first CLI skeleton, the mesh identity, and the vendored skill kit — see What's here. Protocol verbs arrive as new noun groups under protocols/cli/_commands/.

What's here

  • An agent-first CLI cited from teken (afi-cli) — the runtime package has no third-party dependencies.
  • A mesh identity — culture.yaml (suffix: protocols-cli, backend: colleague) and the matching resident prompt file AGENTS.colleague.md.
  • 18 vendored skills under .claude/skills/, cited-not-imported from guildmaster, devague, colleague and eidetic-cli. See docs/skill-sources.md for provenance and re-sync commands.
  • A build + deploy baseline — pytest, lint, the agent-first rubric gate, and PyPI Trusted Publishing wired into GitHub Actions.

Quickstart

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

The installed command is protocols. The distribution, the argparse prog, and the CLI's own help and explain text all say protocols-cli; only [project.scripts] binds the shorter protocols. Invoke protocols, read protocols-cli in the output.

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.

Development

Every PR bumps the version — the version-check CI job fails when pyproject.toml matches main. Lint locally the way CI does:

uv run black --check protocols tests
uv run isort --check-only protocols tests
uv run flake8 protocols tests
uv run bandit -c pyproject.toml -r protocols

# markdownlint comes from npm, not the dev group — install once, pinned to the
# version CI uses:
npm install -g markdownlint-cli2@0.21.0
markdownlint-cli2 "**/*.md" "#node_modules" "#.local" "#.claude/skills" "#.teken"

See CLAUDE.md for the full conventions — the rubric obligations that shape the CLI, how to add a command, the PR lane, and the cite-don't-import rule for .claude/skills/.

License

Apache 2.0 — see LICENSE.

Metadata

Release files for protocols-cli 0.7.1

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

Source distribution (sdist)

Source distribution for protocols-cli 0.7.1
File Size Uploaded Provenance
protocols_cli-0.7.1.tar.gz 165.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for protocols-cli 0.7.1
File Interpreter ABI Platform
protocols_cli-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 188.1 kB

Release files / protocols_cli-0.7.1.tar.gz

Download URL protocols_cli-0.7.1.tar.gz
Size 165.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5b94e4939044d6ef349fb8ab3fe4dec1c746d1ecbfb6d3946b1ff9e8df97d28f
BLAKE2b-256 checksum
How to use checksums
c6d890df9d70701dae6b6059206e7e7b8df614c29c06065484ec43056345fc4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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 / protocols_cli-0.7.1-py3-none-any.whl

Download URL protocols_cli-0.7.1-py3-none-any.whl
Size 22.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
939358988c5ad97d8dee8ba32135624447f4a893c3de0bf5d791d9cf7b5cb1c7
BLAKE2b-256 checksum
How to use checksums
53e407c2f49ca440584444464017d5298f5b785854c44b8d2cf726d853b8f564
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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 protocols-cli 0.7.1

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.

Release history Release notifications | RSS feed

This release

0.7.1 This release

2 release files No provenance

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