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.1.2.tar.gz (180.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.1.2-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cfafi-0.1.2.tar.gz
  • Upload date:
  • Size: 180.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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.1.2.tar.gz
Algorithm Hash digest
SHA256 ca39fa262f3f305e38e9e86b20785fe3239f892963cd2a8dd10ec1c1ee13e291
MD5 90d7cb42dfab5b50db19ae5455d16575
BLAKE2b-256 b6522ee952231fa57b95b2b9f96714853e8b0dbe0917028e755cec0748521bbf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cfafi-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 99e8b509e93cd9895883ea869d15327250a551dd4a1f12ce0d027f940e6b9f8b
MD5 1c9032136c53e2538e49698fd82bbf93
BLAKE2b-256 79e2d87f21413ad75ea03cf714679b52e156c256503adcf2d53c1811899faaa7

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