Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, pi-agent, and more.
ace-llm Usage Guide | ace-llm Handbook | Part of ACE
ace-llm-providers-cli extends ace-llm with provider clients that execute through installed CLI tools (Claude, Codex, OpenCode, Gemini, pi, Codex OSS) while preserving the shared command interface. Provider defaults live in versioned YAML, and a health-check command verifies local readiness.
This package intentionally does not ship a package-local docs/ directory. Public usage and operator guidance live in the shared ace-llm Usage Guide, while ace-llm-providers-cli-check --help remains the authoritative runtime help surface for local readiness checks.
How It Works
- The gem registers CLI provider clients on require, making them available to ace-llm automatically.
- Provider defaults are read from
.ace-defaults/llm/providers/*.ymland can be overridden through the ace-support-config cascade. - When ace-llm routes a model call, the matching CLI adapter executes a subprocess command and returns a normalized response.
Use Cases
Use CLI-native providers through one surface - run prompts against Claude, Codex, OpenCode, Gemini, pi, and Codex OSS via ace-llm without changing calling conventions.
Keep provider configuration in versioned YAML - tune model behavior and provider settings through ace-support-config instead of custom glue code.
Diagnose local provider readiness - run ace-llm-providers-cli-check to verify that CLI tools are installed, authenticated, and reachable before starting work.
Testing
ace-test ace-llm-providers-cliruns deterministic fast coverage fromtest/fast/.ace-test ace-llm-providers-cli featruns deterministic feature coverage fromtest/feat/.ace-test ace-llm-providers-cli allruns fast + feat deterministic coverage.ace-test-e2e ace-llm-providers-cliruns retained workflow scenarios fromtest/e2e/.- E2E provider-discovery scenarios avoid helper interception: the no-tools path uses a baseline PATH
(
/usr/bin:/bin), and success-path stubs are kept as text scripts in a dedicated sandbox stub directory.
The package no longer uses legacy test/integration naming and does not use
ace-test ace-llm-providers-cli e2e as a deterministic test path.