Skip to main content

CloudFlare Agent First Interface — agent-first CLI for CloudFlare management in the AgentCulture org.

Project description

cfafi — CloudFlare Agent First Interface

Agent-first CLI for managing CloudFlare state in the AgentCulture OSS org.

Install

uv tool install cfafi
cfafi --version

Quick start

# Export credentials securely (see docs/SETUP.md)
export CLOUDFLARE_API_TOKEN=...
export CLOUDFLARE_ACCOUNT_ID=...

# Inspect
cfafi whoami
cfafi zones list
cfafi learn              # full self-teaching prompt
cfafi explain dns create # per-verb docs

# Mutate — dry-run by default
cfafi dns create culture.dev TXT _cfafi-test "hello"           # preview
cfafi dns create culture.dev TXT _cfafi-test "hello" --apply   # commit

Commands (v0.1.0)

Command Description
cfafi whoami Verify the configured API token
cfafi zones list List zones in the token's account
cfafi dns create ZONE TYPE NAME CONTENT Create a DNS record (dry-run; --apply to commit)
cfafi learn Self-teaching prompt for agents
cfafi explain <path> Markdown docs for any noun/verb path

Every command supports --json. Run cfafi learn for the full rundown.

Also available: bash skills

Every verb has a bash counterpart under .claude/skills/cfafi/scripts/ (read) and .claude/skills/cfafi-write/scripts/ (write). The Python CLI is the preferred surface for verbs that have been ported; bash scripts remain supported for everything else until each verb is migrated (tracked in docs/superpowers/specs/2026-04-24-cfafi-v0.1.0-python-cli-design.md § "Subsequent PRs").

Tests

bash tests/shellcheck.sh     # static analysis across all shell scripts
bash tests/markdownlint.sh   # lint every markdown file against .markdownlint-cli2.yaml
bats tests/bats/             # unit tests (mocked curl, real jq, no live token required)
uv run pytest -v             # Python CLI unit tests

All four run in CI on every PR (see .github/workflows/test.yml).

Required tools on the developer machine: bash, curl, jq, shellcheck, bats, markdownlint-cli2, uv.

Development

See CLAUDE.md for repo conventions and docs/SETUP.md for the token scope requirements + Trusted Publisher setup.

Project details


Download files

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

Source Distribution

cfafi-0.2.1.tar.gz (224.9 kB view details)

Uploaded Source

Built Distribution

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

cfafi-0.2.1-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

Details for the file cfafi-0.2.1.tar.gz.

File metadata

  • Download URL: cfafi-0.2.1.tar.gz
  • Upload date:
  • Size: 224.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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 cfafi-0.2.1.tar.gz
Algorithm Hash digest
SHA256 5a2c7d32d105adcac70b50ef62b249a7079a500bfc904a4bcf5439a9b4883d60
MD5 23a6833c480344719df5f40616118805
BLAKE2b-256 5f63bd954f0c3d8116ff5e02f980cb8274917d860c1f46ccd07b5dd0e7abb7f9

See more details on using hashes here.

File details

Details for the file cfafi-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: cfafi-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 33.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","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 cfafi-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 981725390f7859c1a34ae09d971a9c025d15a10cc185975e949b8d9ce6ac6e1e
MD5 333fefab154b2452d218f47abbf15d1a
BLAKE2b-256 f55f19fe9152059e8664e3aa6e6434e71e62b55d27462ee1496ed22736f1a20a

See more details on using hashes here.

Supported by

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