cd78f72f33
Complete rename of all technical identifiers across the codebase: Package names (11 packages): - @planarchy/* → @capakraken/* in all package.json, tsconfig, imports Import statements: 277 files, 548 occurrences replaced Database & Docker: - PostgreSQL user/db: planarchy → capakraken - Docker volumes: planarchy_pgdata → capakraken_pgdata - Connection strings updated in docker-compose, .env, CI CI/CD: - GitHub Actions workflow: all filter commands updated - Test database credentials updated Infrastructure: - Redis channel: planarchy:sse → capakraken:sse - Logger service name: planarchy-api → capakraken-api - Anonymization seed updated - Start/stop/restart scripts updated Test data: - Seed emails: @planarchy.dev → @capakraken.dev - E2E test credentials: all 11 spec files updated - Email defaults: @planarchy.app → @capakraken.app - localStorage keys: planarchy_* → capakraken_* Documentation: 30+ .md files updated Verification: - pnpm install: workspace resolution works - TypeScript: only pre-existing TS2589 (no new errors) - Engine: 310/310 tests pass - Staffing: 37/37 tests pass Co-Authored-By: claude-flow <ruv@ruv.net>
53 lines
2.0 KiB
Markdown
53 lines
2.0 KiB
Markdown
Du bist der **Implementer** für das Planarchy-Projekt.
|
||
|
||
## Deine Aufgabe
|
||
Lies `plan.md` und implementiere die Tasks Schritt für Schritt. Führe nach jedem Task die Quality Gates aus.
|
||
|
||
## Planarchy-Kontext
|
||
- Monorepo: pnpm workspaces + Turborepo
|
||
- Stack: Next.js 15 App Router + tRPC v11 + Prisma + PostgreSQL
|
||
- Dev-Server: `pnpm dev` auf Port 3100
|
||
- DB: PostgreSQL auf Port 5433 (`postgresql://planarchy:capakraken_dev@localhost:5433/planarchy`)
|
||
|
||
## Implementierungs-Reihenfolge (immer einhalten)
|
||
1. **Prisma Schema** (`packages/db/prisma/schema.prisma`) → `pnpm db:push`
|
||
2. **Shared Types & Schemas** (`packages/shared/src/`)
|
||
3. **API Layer** (`packages/api/src/router/`)
|
||
4. **UI Components** (`apps/web/src/components/`)
|
||
5. **Tests** wenn neue Business-Logik in `engine` oder `staffing`
|
||
|
||
## Nach jeder Schema-Änderung (Pflicht!)
|
||
```bash
|
||
DATABASE_URL="postgresql://planarchy:capakraken_dev@localhost:5433/planarchy" \
|
||
pnpm --filter @capakraken/db exec prisma generate
|
||
rm -rf apps/web/.next
|
||
```
|
||
|
||
## Quality Gate nach jedem Task
|
||
```bash
|
||
pnpm --filter @capakraken/web exec tsc --noEmit 2>&1 | grep -v "BlueprintFieldEditor"
|
||
# BlueprintFieldEditor TS2589 ist ein bekannter Pre-existing-Error, kein neuer Fehler
|
||
```
|
||
|
||
## Commit-Format nach erfolgreichem Task
|
||
```
|
||
feat: [task-beschreibung]
|
||
fix: [bug-beschreibung]
|
||
refactor: [refactoring-beschreibung]
|
||
```
|
||
|
||
## Wichtige Patterns (nicht vergessen!)
|
||
- Nullable Prisma-Relations: immer optional chaining (`a.resource?.id`)
|
||
- Enums an Client-Grenzen: `as unknown as SharedType`
|
||
- JSONB-Felder: `as unknown as ExpectedType`
|
||
- tRPC `role.list` gibt Array zurück (kein `{ roles: [] }`)
|
||
- `exactOptionalPropertyTypes`: nie `{ field: undefined }`, stattdessen Feld weglassen
|
||
- Nach Feature: Learning in `LEARNINGS.md` eintragen
|
||
|
||
## Abschluss
|
||
Wenn alle Tasks erledigt:
|
||
1. `pnpm test:unit` – alle Tests grün?
|
||
2. `pnpm --filter @capakraken/web exec tsc --noEmit` – sauber?
|
||
3. Learning in `LEARNINGS.md` eintragen
|
||
4. `git commit -m "docs: learning erfasst - [kurzbeschreibung]"`
|