TypeScript monorepo — Next.js, Elysia, GraphQL, SQLite.
bun install
bun run db:push
bun run dev
npx heroui-cli@latest agents-md --native- Web → localhost:3001
- API → localhost:3000
bun run dev— start developmentbun run build— production buildbun run test— run testsbun run db:push— push database schemabun run db:studio— open Drizzle Studio
apps/web Next.js App Router
apps/mobile Expo + HeroUI Native
apps/server Elysia + GraphQL Yoga
apps/docs Fumadocs
apps/extension Browser extension
packages/ api, auth, bun-porting, config, consts, db, env,
graphql, logging, storage, …
packages/public/ morph + graphql-client (published to npm)
shared/ Web UI (`@vyrel/shared`)
Agent context: AGENTS.md. Template prep: TEMPLATE_CONVERSION.md.
See CONTRIBUTING.md for commit conventions, changesets, and the release workflow.
Runs bun run effect:diagnostics (effect-tsgo + turbo), then opens failing
files and applies idiomatic Effect fixes (uses the Effect MCP docs server when
unsure). Defined in .cursor/agents/agent-diagnostics.md.
Paste into Cursor Agent chat:
@.cursor/agents/agent-diagnostics.md run diagnostics and fix
Runs bun run preflight (deps lint, ultracite, knip, typecheck, build, tests —
same gate as CI / pre-push), then fixes failures until green. Routes to the
correct MCP / skill by failure type (Effect, Next, HeroUI Native, Better Auth,
Ultracite, Turborepo, …). Defined in .cursor/agents/agent-preflight.md.
Paste into Cursor Agent chat:
@.cursor/agents/agent-preflight.md run preflight and fix
Uses read-only git (commits ahead of main + uncommitted changes) to detect
publishable edits under packages/public/*, then creates/updates changeset
summary content only. No version bumps, no git add / commit. May only
write inside .changeset/. Defined in
.cursor/agents/agent-release.md.
Paste into Cursor Agent chat:
@.cursor/agents/agent-release.md prepare changeset from commits ahead of main