ACE - LLM Providers CLI
CLI-backed provider adapters that extend ace-llm with local tool execution.
<a href="https://rubygems.org/gems/ace-llm-providers-cli"><img alt="Gem Version" src="https://img.shields.io/gem/v/ace-llm-providers-cli.svg" /></a>
<a href="https://www.ruby-lang.org"><img alt="Ruby" src="https://img.shields.io/badge/Ruby-3.2+-CC342D?logo=ruby" /></a>
<a href="https://opensource.org/licenses/MIT"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-blue.svg" /></a>
Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, Antigravity 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 (Antigravity, 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 Antigravity, 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.
Antigravity contract note - the agy adapter follows Antigravity's documented headless contract as verified on August 29, 2026, including -p, --model, JSON output, and conversation resume flags forwarded through cli_args.
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.