Developer tools, SDKs and CLIs playbook
Rules for tools other developers and agents run. CLI exit codes, JSON output, signals, config paths, telemetry opt-out, SDK versions and signed releases.
- Required 2
- Recommended 17
A developer tools playbook for command-line tools, libraries and SDKs that other people build on. Their users are developers, CI jobs and AI agents, and all three read exit codes and output formats more closely than any screen.
It starts with how a command-line tool behaves. That means exit codes, output streams, JSON, prompts and signals. Then it covers configuration files and telemetry, help and shell completion, and update checks that never block a script. The last chapters cover versioning a library's public API and publishing releases with checksums, signatures and build provenance.
Desktop apps and browser extensions have their own desktop apps playbook. Web APIs that an SDK calls follow the API design playbook.
Chapters
Command-line behaviour
Exit codes, clean output streams, JSON output, signal handling and no surprise prompts let scripts, CI jobs and AI agents use a command-line tool safely.
- Recommended 7
Configuration and telemetry
Read settings in one documented order from standard paths, take secrets from the environment, and let users switch telemetry off with one variable.
- Required 1
- Recommended 2
Help, completion and updates
Give every command help with an example, ship shell completion, and check for new versions politely, never in scripts or CI.
- Recommended 3
Libraries and SDKs
Declare the public API, check every release against it, deprecate before removing and publish which language versions each release supports.
- Recommended 4
Distribution
Publish checksums, signatures and build provenance with every release, so users and package managers can prove the file came from your build.
- Required 1
- Recommended 1
This is a lot to check. An Expert can check it for you.
Related playbooks
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/developer-tools">Agent Wranglers developer tools, SDKs and CLIs playbook</a>. In code you write, add a comment next to it with the same link.