Agent First Interface — scaffold CLI, MCP, and HTTP interfaces for agent-first tools.
Project description
afi-cli
Agent First Interface — scaffold tools whose primary consumer is an AI agent, not a human.
From a single source of truth, afi-cli generates three interface surfaces, each shaped by a different agent-ergonomic principle:
- CLI — with a
learnaffordance so an agent can introspect the tool and author its own usage skill (not just read--help). - MCP server — a deliberately minimal menu, tuned for low surface area over maximal API coverage.
- HTTP site — markdown pages plus a sitemap, navigable by any agent with a fetch tool.
Part of the AgentCulture OSS org — see docs/agentculture.md for the org, its paradigm, and how afi-cli is foundational to it. The design brief is in docs/agent-first.md.
Install
uv tool install afi-cli
Then afi --version should work on your PATH. uv tool install is the supported path — not pip install.
Usage
afi learn # self-description for an agent reader
afi --help # subcommand listing
Feature commands (scaffold generators for CLI / MCP / HTTP) are not implemented yet — the learn stub is a placeholder that demonstrates the agent-learnability principle.
Develop
uv sync # install + dev deps
uv run pytest -n auto -v # tests
uv run afi learn # run the CLI from source
uv run pre-commit install # enable lint hooks
See CLAUDE.md for design intent and full command reference.
License
MIT. © 2026 Ori Nachum / AgentCulture.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file afi_cli-0.1.2.tar.gz.
File metadata
- Download URL: afi_cli-0.1.2.tar.gz
- Upload date:
- Size: 46.0 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1ca96bca0d3eefdeabe85dc5be2ed01fde17937d5a8669b713246c366077a35
|
|
| MD5 |
0e98248d6febd9bbb7c5ce0c5174de56
|
|
| BLAKE2b-256 |
270c1912551c0e04dec3332f48c4a7b45162d78e741d6b149c5c82ee9ef7ae55
|
File details
Details for the file afi_cli-0.1.2-py3-none-any.whl.
File metadata
- Download URL: afi_cli-0.1.2-py3-none-any.whl
- Upload date:
- Size: 4.5 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da22c0f264a477c103ff73d9d4c376f2cf7c6b7696fb48533e2a9ea7dce7ccdf
|
|
| MD5 |
3170c3b962e18313cb0b71f8a2eb5f75
|
|
| BLAKE2b-256 |
e194c1a53b582fa0c1be59e2e2d004dbe4e8156384a8f311d03e5d1ba871f163
|