ACE - Support CLI

Shared command primitives for consistent ACE CLI behavior. ACE Logo

Gem Version Ruby License: MIT

Works with: Claude Code, Codex CLI, OpenCode, Gemini CLI, pi-agent, and more.

ace-support-cli is the foundation layer for ACE commands, providing metadata-driven command definitions, parser behavior, and execution orchestration. Packages like ace-llm, ace-review, and ace-search build their CLI surfaces on top of these shared primitives.

How It Works

  1. Package commands extend shared Command base classes and define arguments/options declaratively.
  2. Parsers normalize argv into structured Ruby types and route to a command registry.
  3. Runners execute command objects with consistent help, error, and exit semantics.

Use Cases

Build a new ACE CLI tool quickly - reuse shared conventions for command declaration, option parsing, and execution so new packages like ace-retro or ace-sim get consistent behavior from day one.

Standardize command behavior across packages - enforce predictable option parsing, help text, and exit codes for both human and agent callers.

Keep agent invocations safe - preserve a stable CLI contract so coding agents can call ace-* tools reliably in mixed human/agent workflows.

Testing

This package is fast-only in the ACE testing model.

  • Deterministic test coverage lives under test/fast/.
  • This migration does not introduce test/feat/ or test/e2e/ for this package.

Verification commands:

  • ace-test ace-support-cli
  • ace-test ace-support-cli all

Part of ACE