Skip to content

loomster

Typed, tiered infrastructure-as-code for awslabs/loom on chant. Six components, three tiers, generated CI, and a naming scheme that lets many Loom instances coexist in one or many AWS accounts without collision.

Typed infrastructure-as-code for running Loom, built to the same bar as a production stack. Loom’s own deploy today is a manual, multi-step SAM process behind a DEPLOYMENT.md. chant types it, lints it, dedupes the cross-stack glue, orders it, tiers it, and generates the pipeline.

Six components, deployed in dependency order (shared-foundation, loom-cognito, loom-db, loom-frontend, loom-backend, loom-agents), pinned to Loom v1.6.0.

just local-up # browsable, authenticated Loom on your laptop (Docker, no AWS account)

Floci (a local AWS emulator) provides RDS, Cognito, S3, and ECR; the app runs from a chant-generated compose, browsable at localhost:8080. The web app runs for real. Only agents need real AWS. See Run Loom on your laptop.

Where it runs today: the full stack runs on Floci, the light tier is deployed end to end to a real AWS account, and production is validated end to end on a real account — 7/7 stacks CREATE_COMPLETE, including the agents wave (the Strands assistant’s code-config Runtime reaches READY on Bedrock AgentCore, app served over HTTPS). production-ha is validated end to end on a real account too — 7/7 stacks, adding Multi-AZ RDS + a live credential rotation, and it ran as a second instance alongside production (multi-deployment). The Overview has the full picture.

Loom’s own launch post states its model plainly: no code is generated at runtime and deployed into any environment. Only configuration changes, and the control plane manages that configuration. That is chant’s pitch too, one layer beneath:

  • Loom scans the agent code once, ahead of any deployment. chant type-checks and lints a stack at author time, before anything synthesizes.
  • Loom never generates agent code at runtime. chant never generates infrastructure code at deploy time. chant build emits a CloudFormation template once, and every environment applies that same template.
  • Loom redeploys by changing config, not by hand-editing a running agent. chant redeploys by changing tier, instance, or an adoption seam’s mode.

Every physical name and cost tag traces back to one call, loomNaming(params, component), keyed {project}-{env}-{instance}-{component}-{resource}. Two axes, independent of each other:

  • Tier (light / production / production-ha) sizes one Loom. HTTP vs. HTTPS + PrivateLink, single-AZ RDS vs. Multi-AZ + RDS Proxy + rotation, one agent vs. two.
  • Instance is the tenant/boundary segment, the topology axis. Two instance values are two collision-free Looms in the same account and region.

Rule of thumb: groups inside a boundary, a new Loom per boundary. See the Tutorial’s Org topology section.

Tutorial

From a browsable local Loom to the light tier on real AWS to production. One codebase, tier and target as parameters. Start here.

Run Loom on your laptop

just local-up runs a browsable, authenticated Loom against Floci, no AWS account. What’s real, what’s a dev shortcut, and how it’s wired. The local guide.

Adoption

Every composite exposes a provision | reference-existing | omit choice where meaningful. Bring your own VPC, KMS key, ACM cert, Route53 zone, ECR repos, agent IAM role, Postgres endpoint, or Cognito pool. The full matrix.

Naming & Tagging

One shared parameter source for every physical resource name and cost-allocation tag. Segment order, per-service limits, uniqueness strategy, and lint enforcement. Read the convention.