Skip to content

Adoption seams

llms.txt lists every page for a coding agent.

Each row is a seam: a piece of infrastructure you can let loomster create, point at one you already have, or leave out. Why it works this way is in Provision, reference or omit; the variables are in Build parameters.

CompositeSeamModesDefaultReplacing it needs
shared-foundationnetworkprovision, reference-existingprovision on light; the production tiers require reference-existingLOOM_VPC_ID, LOOM_PUBLIC_SUBNET_IDS (two or more, across two AZs), LOOM_PRIVATE_SUBNET_IDS (needed with PrivateLink)
shared-foundationkmsprovision, reference-existing, omitprovisionLOOM_KMS_KEY_ARN, a key that encrypts the two ECR repositories; LOOM_KMS=omit drops it
shared-foundationecrprovision, reference-existing, omitprovisionAll four of LOOM_FRONTEND_REPOSITORY_URI, _ARN, LOOM_BACKEND_REPOSITORY_URI, _ARN (a partial set is ignored); LOOM_ECR=omit drops the repositories
shared-foundationroute53provision, reference-existing, omitprovision on the production tiers; unused on lightLOOM_HOSTED_ZONE_ID; loomster adds the alias record and creates no zone. LOOM_ROUTE53=omit drops DNS
shared-foundationacmprovision, reference-existing, omitprovision on the production tiersLOOM_CERTIFICATE_ARN, already DNS-validated; LOOM_ACM=omit drops HTTPS
shared-foundationagentRoleprovision, reference-existing, omitprovisionLOOM_AGENT_ROLE_ARN, an AgentCore execution role your security team built; LOOM_AGENT_ROLE=omit drops it
shared-foundationloggingBucketNamereference-existing, or unsetunset (no access logs)LOOM_LOGGING_BUCKET_NAME, an existing bucket for ALB, NLB and artifact bucket access logs
shared-foundationprivateLinkprovision, omitprovision on the production tiers, omit on lightLOOM_PRIVATELINK; provision with private subnets adds it on any tier
loom-dbdataprovision, reference-existing, omitprovisionLOOM_DB_MODE=reference-existing with LOOM_DB_ENDPOINT, LOOM_DB_CREDENTIALS_SECRET_ARN, and optionally LOOM_DB_CONNECTION_SECRET_ARN, LOOM_DB_PORT, LOOM_DB_NAME: any Postgres endpoint
loom-dbdbIngress (provision only)cidr, security-groupcidr, 10.0.0.0/8 as in Loom’s templateLOOM_DB_ALLOWED_CIDR, or LOOM_DB_SOURCE_SG=true for the ECS task security group
loom-cognitoidentityprovision, reference-existing, omitprovisionLOOM_COGNITO_MODE=reference-existing with LOOM_COGNITO_USER_POOL_ID, LOOM_COGNITO_DOMAIN, LOOM_COGNITO_RESOURCE_SERVER_ID, LOOM_COGNITO_M2M_CLIENT_ID; ARN, end-user client, issuer and URLs are derived when unset
loom-cognitogroups and demo usersopt-in onlynoneLOOM_COGNITO_RESOURCE_GROUPS_JSON, LOOM_COGNITO_DEMO_SEED_USERS_JSON. Loom’s upstream 12 groups and 22 demo users are never added by default
loom-backendexecution and task IAM rolesprovision, reference-existingprovisionBoth LOOM_BACKEND_EXECUTION_ROLE_ARN and LOOM_BACKEND_TASK_ROLE_ARN; the task role needs what Loom calls (Security)
loom-frontendexecution IAM roleprovision, reference-existingprovisionLOOM_FRONTEND_EXECUTION_ROLE_ARN, with ECR pull and log write; there is no task role, as in Loom’s template
loom-backend, loom-frontendcross-stack inputs (cluster, target groups, database secret, pool, image)composite propsfrom stackOutput(...)Any value from any source: the components use stackOutput(...), src/examples/byo/ uses literals
loom-agentsagent execution rolethrough shared-foundation’s agentRoleprovisionedagentRoleArn, from the agentRole row
CIthe generated pipelinegenerated, or your own CIgeneratedPoint your CI at the synthesized templates instead (Deploy without chant)

The seams decide the infrastructure. What Loom’s own database holds after a deploy (the registered role, the authorizer, demo content) comes from loom-seed, through Loom’s API (Screens). The groups and demo users row above is about the Cognito pool, which loom-seed never touches.

src/examples/byo/ deploys shared-foundation, loom-db, loom-cognito twice (as two instances), loom-backend and loom-frontend with every seam set to reference-existing, against one set of platform-owned resources, and no file under src/composites/ changed. Bring your own everything walks it.