Your infrastructure, woven together.

Give Loomplane your monorepo, or an application split across several repositories. It reads the code (never runs it), finds the services and the databases they need, drafts a loomplane.yaml and shows you the exact plan. Approve it, and a Next.js app goes to Vercel, a Go API to Cloud Run, a worker to ECS on Fargate and Postgres to Cloud SQL, wired together.

$docker pull ghcr.io/xraph/loomplane:latestServer
$brew install xraph/tap/loomctlCLI
Install guide
VercelGoogle CloudAWSRenderDigitalOceanAzureDockerKubernetesPostgreSQLMySQLMariaDBRedisGitHub
6+clouds for services, plus your own servers and clusters
6language ecosystems read without running a line
5database and cache engines you can deploy in one click
30mbetween drift checks by default, so live matches deployed
How it works

From repository to running services, one reviewed plan at a time.

Every deployment goes through the same six steps. Nothing is provisioned until someone with the Admin role approves the exact plan you reviewed.

synced
# The same flow from a terminal or CI$ loomctl login --url https://loom.acme.dev --key -$ loomctl analyze mono  found 3 services, 2 resources, 1 shared package$ loomctl manifest save mono -f loomplane.yaml  saved revision 14$ loomctl plan mono --env production  plan 7f3a2c · 7 actions · 0 blocking  + provision db       cloud-sql    postgres 17  + provision cache    memorystore  redis  + build     api      cloud-build  + deploy    api      cloud-run    us-central1  + deploy    worker   ecs-fargate  + deploy    web      vercel  + route     edge     /api, /$ loomctl approve 7f3a2c  approved · deploying revision 14
zsh · loomctlexit 0
Variables and secrets

Set a value once. Override it exactly where it differs.

Variables come in layers: organization, project, service, and each environment. Secrets go to Vault first and then to Secret Manager, AWS Secrets Manager or Key Vault. After you save one, nobody sees it again, including you.

  • Services find each other through variables Loomplane writes for you
  • Generated database passwords never leave Vault and the target cloud
  • Viewers read everything except secret values
api · productionresolved variables
LOG_LEVELorganization · info, overridden
warn
SENTRY_DSNproject · secret
••••••••
DATABASE_URLgenerated · from db
••••••••
REDIS_URLgenerated · from cache
••••••••
PORTservice
8080
WEB_URLgenerated · from web
https://acme.dev
Questions

What people ask first.

Do my applications need Forge or Go?

No. Loomplane itself is built on Go and the Forge ecosystem, but it deploys Go, Rust, TypeScript, JavaScript, Python and JVM applications. It reads your code to understand it and builds each service on its cloud's own builder.

Does Loomplane run my code during analysis?

Never. Analysis is static. It reads package manifests, Dockerfiles, Compose files and source layout, and every service it finds links to the line that gave it away. Examples, fixtures, test data and scripts are left out of the default graph.

Where do my workloads run?

In your own cloud accounts. Loomplane holds credentials for the clouds you connect, plans the changes and drives each provider's API. Builds run on Cloud Build, CodeBuild, Vercel, Render, App Platform and ACR Tasks, in your accounts.

What happens if someone changes something in the console?

A drift check runs every 30 minutes by default. It compares what's deployed with what's live, and the next plan puts it back. You review that plan like any other before it runs.

Can I deploy to my own servers?

Yes. Connect an SSH server with Docker or a Kubernetes namespace. For anything else, write a provider plugin and point Loomplane at it without changing Loomplane itself.

Can an AI agent deploy for me?

loomctl mcp gives an agent tools to analyze, draft manifests, plan and follow deployments. Approving a plan or retrying a deployment needs --allow-deploy, so it only happens if you let it.

Get started

Deploy your monorepo to your own clouds this afternoon.

Open source and self-hosted. Your applications don't need Forge, or Go.

$docker pull ghcr.io/xraph/loomplane:latestServer
$brew install xraph/tap/loomctlCLI
Read the install guide