# is-cli-agentic > Cold, agent-driven scoring for developer CLIs. Every score links to the trajectory that produced it. Rubric v1.0.0 — 7 scored dimensions: - D1 Legibility (max 15): can an agent learn this tool from its own surface? - D2 Structured I/O (max 20): is the output machine-parseable? - D3 Non-blocking (max 20): does it ever hang when no human is present? - D4 Context economy (max 15): how many tokens does it cost to use? - D6 Safety rails (max 10): can an agent preview before it destroys? - D7 Error recovery (max 20): does a mistake produce an honest, actionable signal? - D9 Cold credentials (max 20): can an agent get authenticated without a human? - Human-readable rubric: `/rubric` - Machine-readable rubric: `/api/rubric` ## Reports Markdown variant: `/api/report/{ecosystem}/{package}?format=md` - [vercel](/npm/vercel) → /api/report/npm/vercel?format=md - [wrangler](/npm/wrangler) → /api/report/npm/wrangler?format=md - [netlify](/npm/netlify-cli) → /api/report/npm/netlify-cli?format=md - [flyctl](/binary/superfly/flyctl) → /api/report/binary/superfly/flyctl?format=md - [railway](/brew/railway) → /api/report/brew/railway?format=md - [render](/brew/render) → /api/report/brew/render?format=md - [heroku](/npm/heroku) → /api/report/npm/heroku?format=md - [doctl](/binary/digitalocean/doctl) → /api/report/binary/digitalocean/doctl?format=md - [aws](/binary/aws/aws-cli) → /api/report/binary/aws/aws-cli?format=md - [oci](/pypi/oci-cli) → /api/report/pypi/oci-cli?format=md - [az](/brew/azure-cli) → /api/report/brew/azure-cli?format=md - [supabase](/brew/supabase/tap/supabase) → /api/report/brew/supabase/tap/supabase?format=md - [neon](/npm/neonctl) → /api/report/npm/neonctl?format=md - [turso](/brew/tursodatabase/tap/turso) → /api/report/brew/tursodatabase/tap/turso?format=md - [pscale](/brew/planetscale/tap/pscale) → /api/report/brew/planetscale/tap/pscale?format=md - [prisma](/npm/prisma) → /api/report/npm/prisma?format=md - [psql](/brew/postgresql%4018) → /api/report/brew/postgresql%4018?format=md - [mysql](/brew/mysql-client) → /api/report/brew/mysql-client?format=md - [redis-cli](/brew/redis) → /api/report/brew/redis?format=md - [mongosh](/brew/mongosh) → /api/report/brew/mongosh?format=md - [duckdb](/brew/duckdb) → /api/report/brew/duckdb?format=md - [sqlite3](/brew/sqlite) → /api/report/brew/sqlite?format=md - [algolia](/npm/~algolia/cli) → /api/report/npm/~algolia/cli?format=md - [twilio](/npm/twilio-cli) → /api/report/npm/twilio-cli?format=md - [firebase](/npm/firebase-tools) → /api/report/npm/firebase-tools?format=md - [auth0](/brew/auth0/auth0-cli/auth0) → /api/report/brew/auth0/auth0-cli/auth0?format=md - [shopify](/npm/~shopify/cli) → /api/report/npm/~shopify/cli?format=md - [contentful](/npm/contentful-cli) → /api/report/npm/contentful-cli?format=md - [upstash](/npm/~upstash/cli) → /api/report/npm/~upstash/cli?format=md - [sanity](/npm/~sanity/cli) → /api/report/npm/~sanity/cli?format=md - [npm](/builtin/npm) → /api/report/builtin/npm?format=md - [pnpm](/npm/pnpm) → /api/report/npm/pnpm?format=md - [yarn](/npm/yarn) → /api/report/npm/yarn?format=md - [bun](/brew/oven-sh/bun/bun) → /api/report/brew/oven-sh/bun/bun?format=md - [pip3](/builtin/pip) → /api/report/builtin/pip?format=md - [uv](/binary/astral-sh/uv) → /api/report/binary/astral-sh/uv?format=md - [poetry](/pypi/poetry) → /api/report/pypi/poetry?format=md - [cargo](/binary/rust-lang/rust) → /api/report/binary/rust-lang/rust?format=md - [go](/brew/go) → /api/report/brew/go?format=md - [composer](/brew/composer) → /api/report/brew/composer?format=md - [docker](/brew/docker) → /api/report/brew/docker?format=md - [podman](/brew/podman) → /api/report/brew/podman?format=md - [kubectl](/binary/kubernetes/kubernetes) → /api/report/binary/kubernetes/kubernetes?format=md - [helm](/binary/helm/helm) → /api/report/binary/helm/helm?format=md - [kind](/binary/kubernetes-sigs/kind) → /api/report/binary/kubernetes-sigs/kind?format=md - [minikube](/brew/minikube) → /api/report/brew/minikube?format=md - [skaffold](/brew/skaffold) → /api/report/brew/skaffold?format=md - [k3d](/binary/k3d-io/k3d) → /api/report/binary/k3d-io/k3d?format=md - [nerdctl](/binary/containerd/nerdctl) → /api/report/binary/containerd/nerdctl?format=md - [crane](/binary/google/go-containerregistry) → /api/report/binary/google/go-containerregistry?format=md - [terraform](/binary/hashicorp/terraform) → /api/report/binary/hashicorp/terraform?format=md - [pulumi](/binary/pulumi/pulumi) → /api/report/binary/pulumi/pulumi?format=md - [ansible](/pypi/ansible) → /api/report/pypi/ansible?format=md - [packer](/brew/hashicorp/tap/packer) → /api/report/brew/hashicorp/tap/packer?format=md - [terragrunt](/binary/gruntwork-io/terragrunt) → /api/report/binary/gruntwork-io/terragrunt?format=md - [cdk](/npm/aws-cdk) → /api/report/npm/aws-cdk?format=md - [sst](/npm/sst) → /api/report/npm/sst?format=md - [serverless](/npm/serverless) → /api/report/npm/serverless?format=md - [git](/builtin/git) → /api/report/builtin/git?format=md - [gh](/binary/cli/cli) → /api/report/binary/cli/cli?format=md - [glab](/brew/glab) → /api/report/brew/glab?format=md - [jj](/binary/jj-vcs/jj) → /api/report/binary/jj-vcs/jj?format=md - [act](/binary/nektos/act) → /api/report/binary/nektos/act?format=md - [circleci](/binary/CircleCI-Public/circleci-cli) → /api/report/binary/CircleCI-Public/circleci-cli?format=md - [bk](/brew/buildkite/buildkite/bk%403) → /api/report/brew/buildkite/buildkite/bk%403?format=md - [dagger](/binary/dagger/dagger) → /api/report/binary/dagger/dagger?format=md - [tsc](/npm/typescript) → /api/report/npm/typescript?format=md - [eslint](/npm/eslint) → /api/report/npm/eslint?format=md - [prettier](/npm/prettier) → /api/report/npm/prettier?format=md - [biome](/npm/~biomejs/biome) → /api/report/npm/~biomejs/biome?format=md - [vite](/npm/vite) → /api/report/npm/vite?format=md - [turbo](/npm/turbo) → /api/report/npm/turbo?format=md - [nx](/npm/nx) → /api/report/npm/nx?format=md - [esbuild](/npm/esbuild) → /api/report/npm/esbuild?format=md - [swc](/npm/~swc/cli) → /api/report/npm/~swc/cli?format=md - [webpack](/npm/webpack) → /api/report/npm/webpack?format=md - [sentry-cli](/binary/getsentry/sentry-cli) → /api/report/binary/getsentry/sentry-cli?format=md - [datadog-ci](/npm/~datadog/datadog-ci) → /api/report/npm/~datadog/datadog-ci?format=md - [grafana](/brew/grafana) → /api/report/brew/grafana?format=md - [gitleaks](/binary/gitleaks/gitleaks) → /api/report/binary/gitleaks/gitleaks?format=md - [trivy](/binary/aquasecurity/trivy) → /api/report/binary/aquasecurity/trivy?format=md - [semgrep](/pypi/semgrep) → /api/report/pypi/semgrep?format=md - [syft](/binary/anchore/syft) → /api/report/binary/anchore/syft?format=md - [grype](/binary/anchore/grype) → /api/report/binary/anchore/grype?format=md - [cosign](/binary/sigstore/cosign) → /api/report/binary/sigstore/cosign?format=md - [snyk](/npm/snyk) → /api/report/npm/snyk?format=md - [claude](/npm/~anthropic-ai/claude-code) → /api/report/npm/~anthropic-ai/claude-code?format=md - [codex](/npm/~openai/codex) → /api/report/npm/~openai/codex?format=md - [gemini](/npm/~google/gemini-cli) → /api/report/npm/~google/gemini-cli?format=md - [aider](/brew/aider) → /api/report/brew/aider?format=md - [goose](/brew/block-goose-cli) → /api/report/brew/block-goose-cli?format=md - [opencode](/npm/opencode-ai) → /api/report/npm/opencode-ai?format=md - [ollama](/brew/ollama) → /api/report/brew/ollama?format=md - [crush](/npm/~charmland/crush) → /api/report/npm/~charmland/crush?format=md - [jq](/brew/jq) → /api/report/brew/jq?format=md - [yq](/binary/mikefarah/yq) → /api/report/binary/mikefarah/yq?format=md - [rg](/brew/ripgrep) → /api/report/brew/ripgrep?format=md - [fd](/binary/sharkdp/fd) → /api/report/binary/sharkdp/fd?format=md - [httpie](/pypi/httpie) → /api/report/pypi/httpie?format=md - [curl](/builtin/curl) → /api/report/builtin/curl?format=md