Sprint 001 전체 구현: Foundation: - package.json (pnpm + Node 22 + TypeScript strict) - tsconfig.json (strict + noUncheckedIndexedAccess) - .env.example (DATABASE_URL, DISCORD_TOKEN, etc.) - vitest.config.ts Core: - src/env.ts — Zod 환경변수 검증 - src/logger.ts — pino 구조화 로거 - src/orchestrator/events.ts — Zod discriminated union 이벤트 스키마 - src/orchestrator/context.ts — PipelineContext 타입 + 팩토리 - src/orchestrator/machine.ts — XState v5 결정론적 FSM States: idle → planning → implementing → reviewing → deploying → done + retrying (exponential backoff 준비) + escalated + aborted - src/orchestrator/persist.ts — Prisma 기반 상태 영속화 - prisma/schema.prisma — MariaDB 스키마 (pipelines, state_transitions, actor_spawns, contracts) CLI (citty): - rails start <project> — 파이프라인 생성 - rails status [id] — 상태 조회 + 타임라인 - rails serve — 오케스트레이터 서버 (Sprint 004 에서 완성) Tests (9/9 pass): - happy path (idle → done) - REQUEST_CHANGES 재작업 루프 + max review round escalation - retryable/non-retryable 에러 분기 - RESUME / ABORT - context 추적 검증: pnpm tsc --noEmit ✓ | pnpm vitest run 9/9 ✓ | pnpm build ✓ | rails --help ✓ Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
44 lines
1.0 KiB
JSON
44 lines
1.0 KiB
JSON
{
|
|
"name": "hanarang-rails",
|
|
"version": "0.1.0",
|
|
"description": "Deterministic multi-agent pipeline orchestrator",
|
|
"type": "module",
|
|
"engines": {
|
|
"node": ">=22"
|
|
},
|
|
"bin": {
|
|
"rails": "dist/cli/index.js"
|
|
},
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"dev": "tsc --watch",
|
|
"start": "node dist/cli/index.js serve",
|
|
"rails": "node dist/cli/index.js",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "tsc --noEmit",
|
|
"prisma:migrate": "prisma migrate dev",
|
|
"prisma:generate": "prisma generate",
|
|
"prisma:push": "prisma db push"
|
|
},
|
|
"dependencies": {
|
|
"@prisma/client": "^6.6.0",
|
|
"citty": "^0.1.6",
|
|
"neverthrow": "^8.2.0",
|
|
"pino": "^9.6.0",
|
|
"pino-pretty": "^13.0.0",
|
|
"ulid": "^2.3.0",
|
|
"xstate": "^5.19.0",
|
|
"yaml": "^2.7.0",
|
|
"zod": "^3.24.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"prisma": "^6.6.0",
|
|
"typescript": "^5.8.0",
|
|
"vitest": "^3.1.0"
|
|
},
|
|
"packageManager": "pnpm@9.15.0"
|
|
}
|