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.0.tar.gz (223.3 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.0-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cfafi-0.2.0.tar.gz
  • Upload date:
  • Size: 223.3 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.0.tar.gz
Algorithm Hash digest
SHA256 1bac4b5512f540767f0e11f513ffa3bf0d39e3c6d943a3851b69fb573d9a51f2
MD5 300449021e04b683cbbac26cc1f7dd92
BLAKE2b-256 777e3b1227e934e8dfc2865a3052c040d19d5fb8065254967c61d3ff7a5e6024

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cfafi-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.7 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 933b73935872751e258a3935446c18e0a3005b2cefc208dbabf9f8e254410d63
MD5 903e50cd42afc47905b670042afc6d4d
BLAKE2b-256 6bfbe07e37f0832ea982fdf7b482243c2640dec2e288d08f819c0fbae1bdcfaf

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