chore: full technical rename planarchy → capakraken

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>
This commit is contained in:
2026-03-27 13:18:09 +01:00
parent f46b38f457
commit cd78f72f33
303 changed files with 938 additions and 878 deletions
+2 -2
View File
@@ -22,8 +22,8 @@ export interface AppPreferences {
blinkOverbookedDays: boolean;
}
const STORAGE_KEY = "planarchy_prefs";
const CHANGE_EVENT = "planarchy-prefs-changed";
const STORAGE_KEY = "capakraken_prefs";
const CHANGE_EVENT = "capakraken-prefs-changed";
const DEFAULT: AppPreferences = {
hideCompletedProjects: true,
+1 -1
View File
@@ -1,7 +1,7 @@
"use client";
import { useMemo, useCallback, useState } from "react";
import type { ColumnDef, ColumnPreferences, ViewKey } from "@planarchy/shared";
import type { ColumnDef, ColumnPreferences, ViewKey } from "@capakraken/shared";
import { trpc } from "~/lib/trpc/client.js";
// Simple localStorage helper (no external lib needed)
+3 -3
View File
@@ -4,16 +4,16 @@ import { useState, useCallback, useEffect, useRef } from "react";
import {
type DashboardLayoutConfig,
type DashboardWidgetType,
} from "@planarchy/shared/types";
} from "@capakraken/shared/types";
import {
createDashboardWidget,
createDefaultDashboardLayout,
getNextDashboardWidgetY,
normalizeDashboardLayout,
} from "@planarchy/shared/schemas";
} from "@capakraken/shared/schemas";
import { trpc } from "~/lib/trpc/client.js";
const STORAGE_KEY = "planarchy_dashboard_v1";
const STORAGE_KEY = "capakraken_dashboard_v1";
function generateWidgetId() {
return `widget-${Date.now()}-${Math.random().toString(36).slice(2, 7)}`;
+1 -1
View File
@@ -2,7 +2,7 @@
import { useCallback, useMemo } from "react";
import { useRouter, useSearchParams, usePathname } from "next/navigation";
import type { FieldType } from "@planarchy/shared";
import type { FieldType } from "@capakraken/shared";
// Typed-routes are enabled in next.config.ts; bypass for dynamic URLs.
type PlainRouter = { replace: (url: string, opts?: { scroll?: boolean }) => void };
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import type { AllocationLike, Assignment, DemandRequirement } from "@planarchy/shared";
import type { AllocationLike, Assignment, DemandRequirement } from "@capakraken/shared";
import { trpc } from "~/lib/trpc/client.js";
/**
+1 -1
View File
@@ -10,7 +10,7 @@ export interface ThemePreferences {
accent: AccentColor;
}
const STORAGE_KEY = "planarchy_theme";
const STORAGE_KEY = "capakraken_theme";
const DEFAULT: ThemePreferences = { mode: "light", accent: "sky" };
function readStorage(): ThemePreferences {
+1 -1
View File
@@ -1,6 +1,6 @@
"use client";
import { SSE_EVENT_TYPES } from "@planarchy/shared";
import { SSE_EVENT_TYPES } from "@capakraken/shared";
import { useQueryClient } from "@tanstack/react-query";
import { useEffect, useRef } from "react";
+1 -1
View File
@@ -11,7 +11,7 @@
*/
import { useState, useCallback, useRef } from "react";
import type { ViewKey } from "@planarchy/shared";
import type { ViewKey } from "@capakraken/shared";
import { trpc } from "~/lib/trpc/client.js";
interface SavedSort {