./.agents/skills/rig/engines/anthropic.ts |
Implements an anthropicEngine AgentFactory that wraps the Anthropic SDK to send prompts and handle tool-use loops. This is the agent-managed copy (under .agents/) of the same engine found in skills/rig/engines/anthropic.ts. |
./.agents/skills/rig/engines/codex.ts |
Implements a codexEngine AgentFactory that wraps the OpenAI Codex SDK to manage threaded conversations. This is the agent-managed copy of skills/rig/engines/codex.ts. |
./.agents/skills/rig/engines/gemini.ts |
Implements a geminiEngine AgentFactory that spawns a gemini CLI subprocess and communicates via stdin/stdout JSON to run Gemini-powered agents. This is the agent-managed copy of the same engine in skills/rig/. |
./.agents/skills/rig/engines/pi.ts |
Implements a piEngine AgentFactory that uses the @earendil-works/pi-agent-core library to drive models from multiple providers with tool support. This is the agent-managed copy of skills/rig/engines/pi.ts. |
./.agents/skills/rig/engines/utils.ts |
Provides two small utility functions shared by engine implementations: objectToolSchema (validates and casts a tool's parameter schema to an object schema) and toolResultText (serializes tool results to strings). |
./.agents/skills/rig/globals.ts |
Exposes ambient module-level helpers (call, pipeline, parallel) that delegate to the currently active workflow run via currentWorkflow(), enabling rig programs to be written without threading context explicitly. This is the agent-managed copy of skills/rig/globals.ts. |
./.agents/skills/rig/rig.ts |
Agent-managed copy of the core rig harness (skills/rig/rig.ts), providing the full typed multi-agent orchestration framework including schemas, agent/tool definitions, workflow execution, addons, prompt intents, and Copilot SDK integration. |
./project-summarizer.ts |
A rig sample program that defines two agents — summarizeFile (summarizes a single TS file in 1-2 sentences) and projectSummarizer (lists TS files, calls summarizeFile for each, then produces a global project summary) — and exports the latter as default. |
./scripts/haiku.integration.test.ts |
Integration tests that actually spawn the rig launcher as a subprocess (using a real Copilot token or SDK URI) to run several sample programs end-to-end, asserting on their stdout output. Tests are skipped automatically when no credentials are available. |
./scripts/run-project-summarizer.test.ts |
A vitest test that runs the project-summarizer.ts sample using a stub Copilot SDK client that auto-generates schema-conforming outputs, verifying the summarizer pipeline executes correctly without real API calls. |
./scripts/run-sample.test.ts |
A vitest test harness that can run any numbered rig sample (e.g. 02) via a stub Copilot SDK, verifying the sample completes and optionally asserting on output shape — also includes tests that exec actual TypeScript files for type-check validation. |
./skills/rig/engines/anthropic.ts |
The canonical source implementation of anthropicEngine, an AgentFactory that drives the Anthropic beta tool-use API, managing a conversation loop with multi-turn tool calls until a final text response is produced. |
./skills/rig/engines/codex.ts |
The canonical source implementation of codexEngine, an AgentFactory that wraps the OpenAI Codex SDK's threaded conversation model, forwarding system messages and accumulating conversation history across turns. |
./skills/rig/engines/gemini.ts |
The canonical source implementation of geminiEngine, an AgentFactory that communicates with a gemini CLI process over stdin/stdout using newline-delimited JSON, supporting configurable approval modes. |
./skills/rig/engines/pi.ts |
The canonical source implementation of piEngine, an AgentFactory integrating the pi-agent-core library to run agents on arbitrary provider/model combinations with optional tool support. |
./skills/rig/engines/utils.ts |
Shared utility helpers for engine implementations: enforces that tool parameter schemas are object-typed and converts tool return values to plain strings. |
./skills/rig/globals.ts |
Re-exports call, pipeline, and parallel as top-level functions bound to the ambient current workflow, providing a convenient import path (rig/globals) for rig programs that prefer implicit context over explicit threading. |
./skills/rig/rig.ts |
The core of the rig framework: a minimal TypeScript multi-agent harness offering typed input/output schemas, declarative agent specs, prompt intents (bash, file read/write, glob, env), sub-agent delegation, workflow orchestration with call/pipeline/parallel, addon middleware, and a Copilot SDK CLI launcher (runLauncherCli). |
./src/engines/anthropic.test.ts |
Unit tests for anthropicEngine using vitest with mocked Anthropic SDK, verifying correct client construction, multi-turn conversation management, tool registration and invocation, and session cleanup. |
./src/engines/codex.test.ts |
Unit tests for codexEngine using vitest with a mocked Codex SDK, verifying thread creation, conversation persistence across turns, abort signal propagation, and error handling. |
Global Summary
Rig is a TypeScript multi-agent orchestration framework built around the GitHub Copilot SDK. It provides a typed, declarative API for defining agents with structured input/output schemas, composing them into workflows (with
call,pipeline, andparallel), and connecting them to multiple LLM backends (Anthropic Claude, OpenAI Codex, Google Gemini CLI, and pi-agent). The repository contains the core framework (skills/rig/rig.ts), pluggable engine adapters, a suite of sample programs, unit and integration tests, and a self-referentialproject-summarizer.tsthat uses rig itself to summarize the repository's TypeScript files.Individual File Summaries
./.agents/skills/rig/engines/anthropic.tsanthropicEngineAgentFactory that wraps the Anthropic SDK to send prompts and handle tool-use loops. This is the agent-managed copy (under.agents/) of the same engine found inskills/rig/engines/anthropic.ts../.agents/skills/rig/engines/codex.tscodexEngineAgentFactory that wraps the OpenAI Codex SDK to manage threaded conversations. This is the agent-managed copy ofskills/rig/engines/codex.ts../.agents/skills/rig/engines/gemini.tsgeminiEngineAgentFactory that spawns ageminiCLI subprocess and communicates via stdin/stdout JSON to run Gemini-powered agents. This is the agent-managed copy of the same engine inskills/rig/../.agents/skills/rig/engines/pi.tspiEngineAgentFactory that uses the@earendil-works/pi-agent-corelibrary to drive models from multiple providers with tool support. This is the agent-managed copy ofskills/rig/engines/pi.ts../.agents/skills/rig/engines/utils.tsobjectToolSchema(validates and casts a tool's parameter schema to an object schema) andtoolResultText(serializes tool results to strings)../.agents/skills/rig/globals.tscall,pipeline,parallel) that delegate to the currently active workflow run viacurrentWorkflow(), enabling rig programs to be written without threading context explicitly. This is the agent-managed copy ofskills/rig/globals.ts../.agents/skills/rig/rig.tsskills/rig/rig.ts), providing the full typed multi-agent orchestration framework including schemas, agent/tool definitions, workflow execution, addons, prompt intents, and Copilot SDK integration../project-summarizer.tssummarizeFile(summarizes a single TS file in 1-2 sentences) andprojectSummarizer(lists TS files, callssummarizeFilefor each, then produces a global project summary) — and exports the latter as default../scripts/haiku.integration.test.ts./scripts/run-project-summarizer.test.tsproject-summarizer.tssample using a stub Copilot SDK client that auto-generates schema-conforming outputs, verifying the summarizer pipeline executes correctly without real API calls../scripts/run-sample.test.ts02) via a stub Copilot SDK, verifying the sample completes and optionally asserting on output shape — also includes tests that exec actual TypeScript files for type-check validation../skills/rig/engines/anthropic.tsanthropicEngine, an AgentFactory that drives the Anthropic beta tool-use API, managing a conversation loop with multi-turn tool calls until a final text response is produced../skills/rig/engines/codex.tscodexEngine, an AgentFactory that wraps the OpenAI Codex SDK's threaded conversation model, forwarding system messages and accumulating conversation history across turns../skills/rig/engines/gemini.tsgeminiEngine, an AgentFactory that communicates with ageminiCLI process over stdin/stdout using newline-delimited JSON, supporting configurable approval modes../skills/rig/engines/pi.tspiEngine, an AgentFactory integrating the pi-agent-core library to run agents on arbitrary provider/model combinations with optional tool support../skills/rig/engines/utils.ts./skills/rig/globals.tscall,pipeline, andparallelas top-level functions bound to the ambient current workflow, providing a convenient import path (rig/globals) for rig programs that prefer implicit context over explicit threading../skills/rig/rig.tscall/pipeline/parallel, addon middleware, and a Copilot SDK CLI launcher (runLauncherCli)../src/engines/anthropic.test.tsanthropicEngineusing vitest with mocked Anthropic SDK, verifying correct client construction, multi-turn conversation management, tool registration and invocation, and session cleanup../src/engines/codex.test.tscodexEngineusing vitest with a mocked Codex SDK, verifying thread creation, conversation persistence across turns, abort signal propagation, and error handling.