A production-ready multi-agent workflow engine that turns a simple prompt like “Start building Reflector...” into 🌟 App Store listings, 🎯 marketing copy, 🗓️ launch calendars, and 🛡️ compliance artifacts. The system coordinates typed agents, external tool adapters, and robust persistence to deliver end-to-end launch orchestration with cosmic style. 🌠
launch-constellation/
├── apps/ # 🚀 TypeScript orchestrator service
│ └── orchestrator/
├── packages/
│ ├── prompts/ # 🧠 Prompt strings shared across agents
│ └── schemas/ # 🔐 Zod schemas & agent contracts
├── prisma/ # 🗄️ Prisma schema and migrations
├── policies/ # 📋 Brand and store compliance policies
├── infra/
│ ├── docker/ # 🐳 Docker assets (see docker-compose.yml at root)
│ └── terraform/ # 🏗️ AWS infrastructure baseline
├── scripts/ # 🛠️ Operational scripts (e.g., seed demo intent)
└── artifacts/ # 💾 Generated artifacts (gitignored)
- Install prerequisites 🧰
- 🟢 Node.js 20+
- 📦 pnpm 10+
- 🐘 Postgres 15+
- 🟥 Redis 7+
- Install dependencies 📥
pnpm install
- Configure environment 🔑
cp .env.example .env # update DATABASE_URL, REDIS_URL, and any API credentials - Prepare the database 🗃️
pnpm --filter orchestrator migrate:dev
- Run the orchestrator 🏃♀️
The service listens on
pnpm dev
http://localhost:4000. You can trigger a workflow with:curl -X POST http://localhost:4000/intents \ -H 'Content-Type: application/json' \ -d '{ "appName": "Reflector", "description": "Guided team journaling", "targetAudience": "product-led teams", "keyFeatures": ["Guided prompts", "Mood analytics", "Team insights"], "tone": "professional", "differentiators": ["AI generated prompts"], "distributionPlan": ["newsletter", "product hunt"], "dryRun": true }'
- Running tests ✅
pnpm --filter orchestrator test - Seed demo data 🌱
pnpm exec tsx scripts/seed.ts
A production-like stack is available via Compose:
docker compose up --buildThis provisions Postgres, Redis, and the orchestrator container—all humming in formation orbit. 🛰️
The infra/terraform directory contains an AWS baseline that provisions:
- 🐘 RDS Postgres with per-service security groups
- 🔁 Elasticache Redis (TLS enabled)
- ☁️ ECS Fargate service behind an ALB
Variables let you wire the stack into existing VPC/subnets. Review and tailor
before running terraform apply. 🧾
Agents implement a plan → act → verify contract enforced by shared Zod
schemas. They operate with strong typing and produce structured artifacts while
running guard rails:
- 🧽 Content lint & profanity filters to block placeholder or unsafe copy
- 🏁 Store policy checks prior to creating App Store / Google Play drafts
- 🛡️ PII scrubbing before persisting or exporting user-visible text
All publish-adjacent actions (e.g., calendar scheduling) open an approval gate
that creates an Approval record and a GitHub PR with generated assets. ✅📝
The orchestrator ships with mockable clients for:
- 🍎 App Store Connect and 🤖 Google Play Console (dry-run by default)
- 🎨 Figma, 🗒️ Notion, 📆 Google Calendar
- 🌍 Translator shim for multi-lingual copy
Populate the following environment variables to enable live integrations:
| Integration | Variables |
|---|---|
| 🍎 Apple App Store Connect | APPSTORE_CONNECT_KEY_ID, APPSTORE_CONNECT_ISSUER_ID, APPSTORE_CONNECT_PRIVATE_KEY (JWT key) |
| 🤖 Google Play Console | GOOGLE_PLAY_SERVICE_ACCOUNT (JSON), GOOGLE_PLAY_SUBJECT |
| 📆 Google Calendar | GOOGLE_CALENDAR_ID (target calendar) |
| 🎨 Figma | FIGMA_TOKEN |
| 🗒️ Notion | NOTION_TOKEN |
| 🐙 GitHub approvals | GITHUB_APP_ID, GITHUB_PRIVATE_KEY |
Follow Apple’s App Store Connect API key guide and Google’s Play Console API service accounts documentation to obtain credentials. 🔐
.github/workflows/ci.yml runs type-checks, unit/E2E tests, verifies Prisma
migrations, and builds the Docker image on every PR & push to main. ✅🛠️
| Command | Description |
|---|---|
pnpm dev |
🔁 Start orchestrator with hot-reload |
pnpm --filter orchestrator build |
🧱 Type-check & compile orchestrator |
pnpm --filter orchestrator test |
🧪 Run unit/contract/E2E tests |
pnpm --filter orchestrator migrate:dev |
🗄️ Apply Prisma migrations locally |
pnpm exec tsx scripts/seed.ts |
🌱 Seed demo intent & artifact |
- ✅ Ensure Postgres has the
vectorextension installed (see migration). - 🔁 Redis Streams and BullMQ require persistence; in production use Elasticache or Redis with AOF enabled.
- 🐛 Set
LOG_LEVEL=debugfor verbose per-agent traces includingintent_idandtask_idcontext. - 💽 Artifacts are written to
./artifacts/<intent-slug>and referenced in the DB.
Happy launching! 🚀🌟🛰️