Fixture clones

Request/response fixtures for 23 third-party vendors — GitHub, Slack, Linear, and more.

Fixture clones

Fixture clones give you curated request/response fixtures for vendors that do not have a full deep-clone state engine. Use them when you need plausible API shapes for agent workflows, smoke tests, and multi-vendor integrations — not billing-clock fidelity.

Each fixture has its own guide — browse the vendor index or jump to GitHub, Slack, Linear, Jira, Google Workspace, or Supabase.

Binary: clones-fixture (one server, all fixture kinds)

FIXTURE_DIR=./fixtures LISTEN_ADDR=:8000 go run ./cmd/clones-fixture

All 23 fixture kinds are fixtured in clones-catalog.json. Deep clones (stripe, twilio, email, auth, s3) are separate binaries.


Fixture catalog

KindGuideTypical use
apifyApifyWeb scraping actors
calcomCal.comBooking / scheduling
clickupClickUpTask management
discordDiscordBot / guild APIs
firecrawlFirecrawlCrawl and extract
githubGitHubRepos, PRs, issues
gitlabGitLabCI/CD, merge requests
google-workspaceGoogle WorkspaceDrive, Calendar, Gmail stubs
hubspotHubSpotCRM contacts/deals
jiraJiraIssues, sprints
linearLinearIssues, projects
ownerrezOwnerRezVacation rental PMS
pricelabsPriceLabsDynamic pricing
rampRampSpend management
sentrySentryError events
slackSlackMessages, channels
supabaseSupabaseManagement API stubs
tavilyTavilySearch API
telegramTelegramBot API
typeformTypeformForm responses
unipileUnipileUnified inbox
webflowWebflowCMS collections
woocommerceWooCommerceOrders, products

Per-kind seeds

Each fixture kind can ship JSON seeds under molar-clones/fixtures/{kind}/seeds/. Examples:

KindExample seed names
githubempty, small-project, ci-cd-pipeline, rate-limited
slackempty, engineering-team, incident-active
linearempty, engineering-org, busy-backlog
jiraempty, sprint-active, enterprise
supabaseempty, saas-starter, ecommerce
sentryempty, demo
rampempty, default, ramp-receipt-mismatch

Apply a seed when spawning (seed: "engineering-team") or via molar_clone_seed. Unseeded fixture sessions start from the kind's empty seed when available.


Hosted URLs

On Molar cloud, each session gets per-vendor paths:

https://{sessionId}.clones.molar.it/github/api
https://{sessionId}.clones.molar.it/slack/api
https://{sessionId}.clones.molar.it/jira/api

Spawn fixture kinds through the Molar API the same way as deep clones:

molar clones spawn github --seed small-project

MCP: molar_clone_spawn accepts any catalog kind via the kind parameter.


Deep clone vs fixture

CapabilityDeep cloneFixture clone
Stateful resourcesFull vendor stateRecorded fixture replay
Virtual clockYesShared admin clock (limited state)
Snapshot / restorePer-clone + worldPer-session seeded state
Webhook signingVendor-correctBasic / stub
Chaos injectionAdmin APILimited
Tenant isolation/t/{runId}/Session-scoped paths

Use fixtures when you need breadth (many vendors). Use deep clones when you need fidelity (payments, OTP, email capture, auth sessions, object lifecycle).

Adding fixture coverage

Fixture responses live under molar-clones/fixtures/{kind}/. If your test hits an unimplemented path, the clone returns 501 and logs the request — submit missing endpoints via the dashboard Developers → 501 request form.


Environment variables

For BYOC fixture endpoints:

MOLAR_CLONE_GITHUB_URL=https://your-fleet.example.com/github

Pattern: MOLAR_CLONE_{KIND}_URL (uppercase kind).


Agent / MCP usage

Agents commonly combine fixture clones for multi-vendor flows:

{
  "tool": "molar_clone_spawn",
  "arguments": {
    "controlUrl": "https://clones.molar.it",
    "kind": "github",
    "seed": "small-project"
  }
}

See API & SDK for the full MCP tool list.