doctl-axi
v0.3.0
Published
Agent-ergonomic CLI for DigitalOcean — one AXI wrapping doctl → TOON
Readme
🧪 Proof of Concept - AXI Experiment built with AI
This is an experimental proof-of-concept AXI (Agent Experience Interface) - an AI-built wrapper around
doctlas an alternative to 21 fragmented MCP services. Not production-hardened; expect sharp edges, token truncation at 8k, and10 MBmaxBuffer limits. Use for evaluation and feedback, not critical deploys.
doctl-axi
Agent-ergonomic CLI for DigitalOcean - one AXI wrapping doctl --output json → TOON.
Replaces 21 fragmented MCP services (*.mcp.digitalocean.com) with a single doctl-axi <noun> <verb> surface. No global install required - the skill is the primary entry point.
Quick start - skill is the intended usage
Requires doctl authenticated (doctl auth init or DIGITALOCEAN_ACCESS_TOKEN).
You don't need doctl-axi installed globally. The agent discovers it via its skill:
npx skills add doctl-axi --skill doctl-axi # one-time: registers the skill (hermes devops, user-invocable: false)Then just mention DigitalOcean jargon - droplet, Kubernetes/k8s, App Platform, database, registry, network/VPC, Spaces, docs - the agent auto-loads skills/doctl-axi/SKILL.md on keyword match and runs:
npx -y doctl-axi droplet list
npx -y doctl-axi droplet list --fields id,name
npx -y doctl-axi kubernetes cluster list
npx -y doctl-axi app list
npx -y doctl-axi database list
npx -y doctl-axi network domain list
npx -y doctl-axi docs search "droplet resize"
npx -y doctl-axi --help
npx -y doctl-axi droplet list --helpBare npx -y doctl-axi (no args) prints the TOON dashboard - account, balance, and counts - on demand only. No per-session pre-fetch.
Install alternatives (optional)
# ad-hoc, zero install - what the skill does under the hood
npx -y doctl-axi droplet list
# global, if you prefer a bare binary
npm i -g doctl-axi # or pnpm add -g doctl-axi
doctl-axi droplet listSetup hooks - opt-in with performance penalty
By default nothing runs at SessionStart - clean sessions have zero overhead (skill stays on-demand via keyword).
If you want ambient inventory before the first turn, opt in explicitly:
doctl-axi setup hooks # writes ~/.claude/settings.json + ~/.codex/hooks.json+config.toml + ~/.config/opencode/plugins/axi-doctl-axi.js
doctl-axi setup hooks --check # TOON OK vs DRIFTPenalty: every new Claude/Codex/OpenCode SessionStart spawns doctl-axi (bare dashboard → 8 parallel doctl --output json for account, balance, and counts for droplets, apps, databases, Kubernetes clusters, registry, domains). Typically 1–3s depending on fleet size (10s timeout, degrades to — on failure). Skip it and the skill remains keyword-discoverable with no per-session cost.
See skills/doctl-axi/SKILL.md for the agent-facing workflow (When to use → Workflow → Commands → Tips).
Development
pnpm build # tsc + tsx scripts/build-skill.ts → dist/ + dist/skills
pnpm test # pnpm build && vitest run - 131 CLI-seam tests (fake doctl on PATH)Node >=20 required.
License
MIT
