What is a digital twin?
A digital twin is a stateful clone of a real service. It keeps track of objects, relationships, and constraints the same way the real service does. Each twin:- Implements the service-appropriate MCP and/or REST surface
- Runs an in-memory state engine with typed entity relationships
- Starts from a built-in seed or auto-generated state
- Exposes the service-appropriate hosted endpoints over HTTPS
- Runs on hosted infrastructure
Available twins
| Twin | What it covers | Details |
|---|---|---|
| GitHub | Repos, issues, PRs, branches, files, commits, actions, releases, code scanning | Hundreds of REST + MCP endpoints |
| Discord | Guilds, channels, messages, reactions, threads, webhooks, commands, interaction responses | REST-first bot workflows |
| Slack | Channels, messages, threads, reactions, users, files, admin, apps platform | Full Web API surface |
| Stripe | Customers, products, prices, payments, invoices, subscriptions, disputes, connect | Core billing and payments |
| Jira | Issues, projects, boards, sprints, fields, workflows, service desk, automation | Cloud REST API v3 |
| Linear | Issues, projects, teams, cycles, initiatives, roadmaps, labels, views | GraphQL API |
| Supabase | SQL queries, tables, migrations, extensions, edge functions, branches | PostgREST + Management API |
| Google Workspace | Gmail, Calendar, Drive, Sheets, Contacts | Google APIs |
| Ramp | Cards, funds, transactions, reimbursements, bills, approvals, travel | Ramp API |
Three ways to use twins
| Workflow | When to use it |
|---|---|
archal run | Run a scenario or task against twins, get a satisfaction score |
archal twin | Start persistent twins for debugging or manual integration work |
archal/vitest | Use supported hosted twins inside your existing Vitest test suite. Route mode currently supports Discord, GitHub, Google Workspace, Jira, Slack, Stripe, and Supabase |
Session lifecycle
archal run handles sessions automatically: start twins, run your agent, tear down.
archal twin start gives you a persistent session that stays alive for 30 minutes of inactivity. You can extend it with archal twin renew or tear it down with archal twin stop.
Seeds
Twins start from a seed, which is a predefined initial state. Each twin has built-in seeds for common configurations (e.g.github:small-project, github:enterprise-repo).
You can also describe the state you want in plain English in a scenario’s ## Setup section, and Archal generates the seed dynamically.
See the seeds guide for the full list of built-in seeds and how to use them.