Monorepo de finanzas personales con dos aplicaciones:
frontend— Vite + React + TypeScript, puerto5173.backend— Next.js API Routes + Prisma/PostgreSQL, puerto3001.
Cada entorno se levanta por separado. npm --prefix frontend run dev ya no inicia el backend.
npm --prefix backend install
npm --prefix frontend installnpm run db:up
npm run db:migratedb:up levanta PostgreSQL desde compose.yaml en 127.0.0.1:5433. db:migrate aplica migraciones existentes con prisma migrate deploy.
npm run dev:backend
npm run dev:frontenddev:backend levanta PostgreSQL local si hace falta, aplica migraciones existentes y luego inicia Next.js en 3001. El script propio del backend solo genera Prisma Client e inicia Next.
También se puede ejecutar desde cada carpeta:
npm --prefix backend run dev
npm --prefix frontend run devnpm run devEste comando solo orquesta procesos; el frontend y backend siguen teniendo scripts independientes.
Levanta PostgreSQL, aplica migraciones existentes, backend y frontend:
npm run docker:upServicios publicados:
- Frontend:
http://127.0.0.1:5173 - Backend:
http://127.0.0.1:3001 - PostgreSQL:
127.0.0.1:5433
Para crear/aplicar nuevas migraciones durante desarrollo:
npm run docker:migratePara apagar el stack:
npm run docker:down- Backend: copiar
backend/.env.exampleabackend/.envpara desarrollo nativo. - Frontend:
VITE_API_PROXY_TARGETes opcional y por defecto apunta ahttp://127.0.0.1:3001. - Los scripts raíz
db:*,devydev:backendfuerzan laDATABASE_URLlocal para evitar aplicar migraciones accidentalmente sobre una DB remota configurada enbackend/.env. - Docker sobreescribe
DATABASE_URL,DIRECT_URLyVITE_API_PROXY_TARGETpara usar la red interna de Compose. No se versionan API keys en Compose.
npm --prefix frontend test
npm --prefix frontend run build
npm --prefix backend run buildInicio de tarea (crea rama codex/<english-kebab> y worktree aislado):
~/.codex/tools/codex-task-start.sh "improve investments ui" --parent origin/mainCierre de tarea (solo post-merge, cleanup seguro + self-delete del thread):
~/.codex/tools/codex-task-finish.sh --branch codex/improve-investments-ui --parent origin/main --yesEse cierre ahora también aplica preflight fail-fast de self-destruction antes de mutar Git y scrub residual seguro en ~/.codex (JSONL remanentes, backups de state y carpetas vacías de worktrees).
Validación sin mutar:
~/.codex/tools/codex-task-finish.sh --branch codex/improve-investments-ui --parent origin/main --dry-run