| phase |
plan |
subsystem |
tags |
dependency_graph |
tech_stack |
key_files |
decisions |
metrics |
| 01-foundation |
01 |
branding |
| vocabulary |
| package |
| vitest |
| tdd |
|
| requires |
provides |
affects |
|
|
| @paperclipai/branding |
| VOCAB constant |
| VocabKey type |
|
| phase-02 |
| phase-03 |
| phase-04 |
|
|
| added |
patterns |
|
|
| shared-package pattern (mirrors packages/shared/) |
|
|
| created |
modified |
| packages/branding/package.json |
| packages/branding/tsconfig.json |
| packages/branding/vitest.config.ts |
| packages/branding/src/vocab.ts |
| packages/branding/src/vocab.test.ts |
| packages/branding/src/index.ts |
|
|
|
| Kept @paperclipai/branding as package name (not @nexus/*) to stay upstream-compatible |
| Used as const for VOCAB to enable TypeScript literal type inference on all values |
|
| duration |
completed |
tasks_completed |
files_created |
files_modified |
| ~2 minutes |
2026-03-30 |
2 |
6 |
1 |
|
Phase 01 Plan 01: Branding Package Summary
One-liner: @paperclipai/branding package with 8-key VOCAB constant centralizing all Nexus display string renames (company→Workspace, ceo→Project Manager, appName→Nexus).
What Was Built
A new packages/branding/ workspace package that serves as the single string mutation surface for all Nexus fork display changes. Downstream phases (2, 3, 4) import VOCAB from this package to replace Paperclip terminology in UI strings, CLI output, and agent templates — without touching code identifiers, DB schema, or API routes.
Tasks Completed
| Task |
Name |
Commit |
Files |
| 1 |
Scaffold branding package with VOCAB constant and tests |
3e7848ed |
packages/branding/ (6 files), pnpm-lock.yaml |
| 2 |
Register branding package in root vitest config |
9459619d |
vitest.config.ts |
Verification Results
pnpm vitest run --project "@paperclipai/branding" — 9/9 tests pass
- All 8 VOCAB keys present with correct Nexus values
- Package exports
VOCAB and VocabKey from packages/branding/src/index.ts
packages/branding/package.json sets "name": "@paperclipai/branding", "type": "module"
- Root
vitest.config.ts includes "packages/branding" in the projects array
VOCAB Keys Verified
| Key |
Value |
| company |
Workspace |
| companies |
Workspaces |
| ceo |
Project Manager |
| board |
Owner |
| hire |
Add |
| fire |
Remove |
| appName |
Nexus |
| tagline |
Open-source orchestration for your agents |
Deviations from Plan
Auto-fixed Issues
None — plan executed exactly as written.
Notes
The plan's verify command pnpm vitest run --project packages/branding uses the directory path as filter, which does not match. Vitest 3.2.4 resolves project names from package.json names, so the correct command is pnpm vitest run --project "@paperclipai/branding". Tests pass correctly with this command. The root vitest.config.ts entry "packages/branding" is still the correct way to register the workspace project (vitest resolves the config file from the path and reads the package name).
Known Stubs
None — all VOCAB values are fully specified strings, not placeholders.
Self-Check: PASSED
- packages/branding/package.json: FOUND
- packages/branding/src/vocab.ts: FOUND
- packages/branding/src/index.ts: FOUND
- packages/branding/src/vocab.test.ts: FOUND
- packages/branding/tsconfig.json: FOUND
- packages/branding/vitest.config.ts: FOUND
- vitest.config.ts (updated): FOUND
- Commit
3e7848ed: FOUND
- Commit
9459619d: FOUND
- 9/9 tests passing: CONFIRMED