clone.manifest.json that
tells the CLI everything it needs to spin, migrate, health-check, and seed it.
Templates live under the templates directory (the monorepo apps/ by default;
override with ASYM_TEMPLATES_DIR). The published CLI bundles each manifest with
its compose file, so it resolves templates from its own bundle with no monorepo
present. The CLI discovers a template by reading each manifest’s name — so
apps/slack-clone/ declares the name slack, which is what you type in
hone env spin slack.
The manifest
Here’s the Slack template’sclone.manifest.json, annotated:
image (pulled and digest-pinned at spin). A service can
instead declare build for a local build context — today only Slack’s optional
frontend does.
Fields that matter
Ready-made templates
Six templates ship today. Each backend is a published image;verify scores it
against the real product’s live API documentation.
Slack
RPC Web API, MCP server, and a frontend. The
{ok} envelope, Slack-format
ids, byte-identical events. Modes: api, full.Stripe
REST API: customers, payments, invoices, subscriptions, refunds, and signed
webhooks. API-only.
Notion
REST API: databases, data sources, pages, blocks, views, comments, file
uploads, search — with Notion’s rate limits. API-only.
HubSpot
CRM REST API: generic objects, v4 associations, properties, pipelines,
owners, OAuth tokens, and HubSpot-accurate rate limiting. API-only.
GitHub
REST API: repos, issues, pull requests, comments, labels, tokens, and rate
limiting. API-only.
Linear
GraphQL API: issues, projects, teams, cycles, and webhooks. API-only.
slack 3001, linear 3002, stripe 3003,
notion 3004, hubspot 3005, github 3006; the host port for each clone is
allocated at spin time from your range (default 3000–3999).
Templates are built and maintained by Hone — you spin and use them, you
don’t author your own.