llms.txt · git:20260830.423bbaf · 2026-08-30 · sha256 21bcca69a6f09b61
llms.txt git:20260830.423bbafA
Immutable. This exact content is served forever at /api/v1/blob/21bcca69a6f09b61.
# Pome Digital Twins
> Testing infrastructure for AI agents. Open-source, local, stateful digital twins of the APIs your agent calls — GitHub, Stripe, Slack, Gmail, and Linear — answering the same REST, GraphQL, and MCP calls as production, backed by real SQLite state. 137 MCP tools in total, all deterministic, resettable, and requiring no live infrastructure. The `pome` CLI runs your agent against a twin and captures the trace; evaluation is a hosted feature at pome.sh.
## Docs
- [Documentation](https://docs.pome.sh): full guides, CLI reference, and per-package details
- [Runtime contract](./CONTRACT.md): the frozen v1.6.0 twin contract every twin honors
- [Endpoint-tier rubric](./packages/sdk/ENDPOINT-TIERS.md): semantic / shape / 501 fidelity tiers
- [Contributor & agent conventions](./AGENTS.md): how to work in this repo
- [Internal package architecture](./packages/README.md): the twin registry, the shared `@pome-sh/wire` trace surface, and which packages are private vs. published
## Twins
- [twin-github](./packages/twin-github/FIDELITY.md): 65 MCP tools, 62 REST routes — repos, issues, PRs, reviews, merges (push-access gated)
- [twin-stripe](./packages/twin-stripe/FIDELITY.md): 26 MCP tools, 43 REST routes — card + x402 crypto PaymentIntents, refunds, charges, balance, events
- [twin-slack](./packages/twin-slack/FIDELITY.md): 11 MCP tools, 50 REST routes — channels, messages, threads, reactions, search
- [twin-gmail](./packages/twin-gmail/FIDELITY.md): 13 MCP tools — frozen Gmail v1 REST: messages, drafts, threads, labels, uploads
- [twin-linear](./packages/twin-linear/FIDELITY.md): 22 MCP tools — GraphQL + OAuth (PKCE) + signed webhooks; the first GraphQL twin
## Packages
- [@pome-sh/cli](https://www.npmjs.com/package/@pome-sh/cli): the `pome` CLI — run tasks, inspect traces, upload for evaluation. The twin engine and all five twins ship inside it; there is nothing else to install.
- [@pome-sh/adapter-claude-sdk](https://www.npmjs.com/package/@pome-sh/adapter-claude-sdk): wire a Claude Agent SDK agent to a Pome run
## Getting started
- Run an agent task with no install: `npx @pome-sh/cli init && npx @pome-sh/cli run --local tasks/01-bug-happy-path.md`
- Start a standalone twin: `npx @pome-sh/cli twin start github`
- Start one from your own world: `npx @pome-sh/cli twin new-seed github --out seed.json` then `npx @pome-sh/cli twin start github --seed seed.json` — the twin is named on the command line, not in the file. The seed file is one twin's own fields, or `{ "<twin>": { … } }` for several, and it REPLACES the twin's default state rather than merging into it. The same file seeds a hosted sandbox via `pome sandbox create --twin github --seed seed.json`, or a graded task, dropped beside it as `<task>.seed.json`. A flat single-twin file names no twin, so `twin start` and `sandbox create` both need it named on the command line.
- The hosted platform (hosted twins, grading, observability): https://pome.sh