Parent stack — one YAML, every service
Declarative server + client stacks. server.yaml describes shared infrastructure; client.yaml describes a service that uses it. Three deployment types: cloud-compose, single-image, static.
server.yaml declares the provisioner, resources (Mongo Atlas, RDS, S3, ECR, Helm operators), and registrars. The whole platform in one place.client.yaml references the parent’s resources via ${resource:mongo.uri}. SC wires it at deploy time — no glue code.cloud-compose, single-image, or static per service. The cloud target is a template, not a rewrite.${secret:my_key} in any client.yaml. SSH-key multi-key encryption (RSA or Ed25519); ciphertext in git, plaintext at deploy.What it does
A parent stack declares what your team shares — databases, queues, container registries, DNS zone, ACM certs, secrets store. A child stack declares a service that uses some of those resources and how it runs. The whole thing is two YAML files plus an encrypted secrets.yaml.
| |
The shape of a stack
| |
| |
sc deploy -s my-service -e prod wires the resources, decrypts secrets, builds the Docker image, deploys to the chosen cloud, sets up DNS, attaches an SSL cert. One command.
How it’s different
| Tool | What it does | What SC does differently |
|---|---|---|
| Terraform | Declarative IaC; you write modules | SC describes services; the cloud template is a flag, not a module rewrite |
| Pulumi | Imperative IaC in your language | SC uses Pulumi underneath; you don’t write Pulumi code |
| Helm | k8s-shaped chart templating | SC supports Kubernetes templates (kubernetes-cloudrun, k8s Helm DB operators), but isn’t k8s-coupled |
| Heroku / Fly | Opinionated PaaS | Owned-by-you infra with PaaS-like ergonomics; resources and templates are open primitives |
Real-world: Forge
Our flagship product, Forge, is described in one parent stack at forge/.sc/stacks/infra/server.yaml plus several child stacks across multiple repos. Every Forge component — the AI gateway, the conductor, the runtime workers, the sessions store — is a client.yaml that references the parent. We dogfood the model.
Ship your infrastructure on autopilot.
Try the SC parent stack in your own repo, or see what we built on top of it — Forge, our flagship AI workflow engine for teams.