rename(phase 1): CapaKraken → Nexus across code, UI, docs, CI #61
Reference in New Issue
Block a user
Delete Branch "rename/nexus-code"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
First PR of a 4-phase rename. Touches 941 files: package scopes, source identifiers, brand strings, docs, CI workflow content. Does NOT touch the running infrastructure (DB name, compose project/volumes, db-guard default, env-var name) — that comes in Phase 3.
What changed
@capakraken/*→@nexus/*across 12 packages (root + 11 workspaces), 1551 import lines migrated"CapaKraken"→"Nexus"inapps/web/src/server/auth.ts+packages/api/src/router/user-self-service-procedure-support.ts(3 sites). Existing secrets still work; re-enrollment relabels them in users' authenticator appsassertCapaKrakenDbTarget→assertNexusDbTarget(7 files)apps/web/src/app/layout.tsxcopiescapakraken_*→nexus_*on first load, guarded bynexus_migrated_v1sentinel. Also delegatescaches.delete('capakraken-v2')for the SW cache. Removable in Phase 4.@capakraken.{dev,app}→@nexus.{dev,app}in seed data, e2e specs, SMTP default fallbackDockerfile.dev/Dockerfile.prod/ all.github/workflows/*.ymlupdatedpnpm --filter @capakraken/*pathsdocs/*.md,.env.example,tooling/deploy/.env.production.examplebrand sweepWhat's intentionally left for Phase 3
capakraken+ POSTGRES_USERcapakrakencapakraken_pgdataetc.)db-target-guard.mjsdefaultexpectedDatabase(still"capakraken")CAPAKRAKEN_EXPECTED_DB_NAMEdocker-compose.ci.ymltooling/deploy/deploy.env.exampleimage refs (capakraken-app/capakraken-migrator)Quality gates (all green locally)
pnpm typecheck— 7/7 packagespnpm test:unit— 7/7 packagespnpm lint— 0 errorspnpm check:exports,check:imports,check:architecture— all passTest plan
docker compose --profile full up -dboots cleanly (DB still namedcapakraken— verify auth/login works)capakraken_*localStorage: page loads, keys silently migrated, sentinel setRelated plan
/home/hartmut/.claude/plans/expressive-tickling-feigenbaum.md— full 4-phase rename design.🤖 Generated with Claude Code
- @capakraken/* → @nexus/* across 12 packages (root + 11 workspaces), 1551 import lines migrated via codemod - User-visible brand strings renamed (emails, page titles, PWA manifest, mobile header, MFA backup-codes header, tooltips, signin page, invite page, weekly digest, install prompt) - TOTP issuer "CapaKraken" → "Nexus" (existing secrets still valid; re-enrollment relabels them in users' authenticator apps) - Function rename: assertCapaKrakenDbTarget → assertNexusDbTarget - LocalStorage migration shim in apps/web/src/app/layout.tsx copies capakraken_* → nexus_* on first load (guarded by nexus_migrated_v1 sentinel; runs once per browser, then never again) - Service-worker cache name capakraken-v2 → nexus-v2 with one-time caches.delete('capakraken-v2') from the same shim - Email-domain fixtures @capakraken.{dev,app} → @nexus.{dev,app} in seed data, e2e specs, SMTP default fallback - Dockerfile.dev / Dockerfile.prod / all .github/workflows/*.yml pnpm --filter @capakraken/* → @nexus/* - README, CLAUDE.md, LEARNINGS.md, all docs/*.md, .env.example, tooling/deploy/.env.production.example brand sweep Phase 1 deliberately leaves untouched (handled in Phase 3 cutover): - PostgreSQL DB name "capakraken" and POSTGRES_USER "capakraken" - Volume names capakraken_pgdata etc. - Compose project name "capakraken" / "capakraken-prod" - db-target-guard default expectedDatabase - env-var CAPAKRAKEN_EXPECTED_DB_NAME - Container DNS names in docker-compose.ci.yml Quality gates green: pnpm typecheck (7/7), pnpm test:unit (7/7), pnpm lint (0 errors), check:exports/imports/architecture all pass. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>The Phase 1 codemod only scanned .ts/.tsx/.js/.mjs/.cjs/.json, so two shell scripts that reference workspace packages stayed pointing at the old `@capakraken/*` names. The dev container's entrypoint then printed "No projects matched the filters in /app" on every pnpm --filter call, the app never bound to port 3100, and Fresh-Linux Docker Deploy red on run 154. - tooling/docker/app-dev-start.sh: pnpm --filter @capakraken/{db,web} → @nexus/{db,web} (5 occurrences); /tmp/capakraken-dev-home → /tmp/ nexus-dev-home - scripts/stop.sh: /tmp/capakraken-dev.pid → /tmp/nexus-dev.pid Deferred to Phase 3 (these reference live infrastructure, not package names): scripts/harden-postgres.sh DB_USER/DB_NAME defaults, restart.sh volume names capakraken_node_modules/_next, scripts/start.sh pg_isready -U capakraken -d capakraken. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>