cmux-backend
Backend TypeScript and Cloud VM development rules for cmux. Use when editing web/app/api, web/services, backend scripts, Cloud VM lifecycle, provider integrations, Postgres, Stack Auth pricing gates, migrations, or provider image build scripts.
Оригинален текст · няма потвърден превод на българскиПърво прочетете инструкцията.
Файлът се зарежда от посочения източник само по ваше действие. Можете да го прочетете тук, да го копирате или да го запазите като .md.
GitHub хранилище- Звезди на репото
- 27 358
- Лиценз
- NOASSERTION
- Последна проверка на записа
- 20.09.2026 г.
Добавете в своя инструмент.
Командата отваря избора на skills от репозитория. Прочетете файла и условията на автора преди изпълнение.
npx skills add manaflow-ai/cmuxСтраницата копира текст. Не инсталира и не изпълнява нищо на устройството ви.
Откъс от SKILL.md
Началото на файла на автора, без превод.
cmux Backend
Core rules
- Default backend TypeScript to Effect under
web/app/api/**,web/services/**, and backend scripts touching providers, databases, auth, rate limits, retries, timeouts, or telemetry. - Keep Next route handlers thin: parse the request, run one Effect program at the boundary, map typed errors to HTTP responses, treat unexpected defects separately.
- Plain TypeScript is for trivial data shapes, constants, config files, frontend React, and small glue where Effect would add ceremony without improving failure handling.
- Cloud VM backend logic stays in Vercel route handlers and Effect services backed by Postgres. Do not reintroduce Rivet or a raw actor protocol unless a later architecture doc explicitly changes the control plane.
- Postgres is the source of truth for VM lifecycle, active VM limits, idempotency, and usage events.
- Production and staging Cloud VM Postgres use PlanetScale PostgreSQL database
cmux-prodin organizationcmux. The runtime readsDATABASE_URLwithCMUX_DB_DRIVER=url; migration jobs use the protectedDATABASE_URLsecret. AWS credentials are not database credentials. - Run production/staging migrations with
bun run cloud-vm:migrate -- stagingfollowed by-- production; never from Vercel build or route startup. Local dev keeps theCMUX_PORT-derived Docker Postgres path frombun dev. - Cloud VM create pricing gates use Stack Auth team payment items when enabled.
Secrets
Cloud VM build, test, and local dev scripts read provider secrets from ~/.secrets/cmux.env: FREESTYLE_API_KEY and the R2 upload vars web/scripts/build-cloud-vm-images.ts needs when creating Freestyle snapshots.
set -a
source ~/.secrets/cmux.env
set +a
~/.secrets/cmuxterm-dev.env holds local Stack/web env and not the provider build keys. bun dev sources ~/.secrets/cmux.env first when present, then ~/.secrets/cmuxterm-dev.env, so cmuxterm-specific Stack settings override broader cmux secrets. The web dev loader still accepts the legacy ~/.secret/cmuxterm.env and ~/.secrets/cmuxterm.env paths while machines migrate.
Detailed references
- references/effect-boundaries.md: route handlers, services, typed errors, retries, dependency injection.
- references/cloud-vm-control-plane.md: VM lifecycle, migrations, Postgres, provider idempotency, pricing gates.