Surfaces

One internal API, multiple thin ways to invoke it.

A surface translates input, invokes the API, and renders output. It must not invent orchestration policy or duplicate the business operation. racecar itself offers CLI and agent-skill transports, and generates REST and MCP surfaces for adopting repositories rather than hosting those interfaces itself. Surface declarations and implementation are checked for drift.

CLI

A declared command tree over the shared API

Agent Skills

On-demand procedures, not a second implementation

Generated REST & MCP

Additional adapters for adopting repositories