rebranding

This commit is contained in:
2026-05-25 22:49:37 -04:00
parent b62ab77fbe
commit 3d246af3f7
210 changed files with 1307 additions and 712 deletions

View File

@@ -0,0 +1,65 @@
# 01. Project Foundation — Root Config & Directory Cleanup
meta:
id: kordant-unified-restructure-01
feature: kordant-unified-restructure
priority: P0
depends_on: []
tags: [infrastructure, cleanup, foundation]
objective:
- Establish a clean project root with unified tooling, removing the fragmented packages/ + services/ split and preparing the workspace for a single monolithic web app plus native mobile projects.
deliverables:
- Updated root `package.json` with single workspace entry `web/`
- Updated `pnpm-workspace.yaml` to include `web/`, `iOS/Kordant`, `android/`, `browser-ext/`
- Updated `turbo.json` with tasks for web, browser-ext
- Remove or archive legacy `packages/`, `services/`, `server/` directories
- Ensure `web/` is the primary application workspace
- Root-level shared config files (`.nvmrc`, `.editorconfig`, `tsconfig.base.json` cleanup)
steps:
1. Backup `packages/`, `services/`, `server/` to a dated archive branch or tar.gz before removal.
2. Update root `package.json`:
- Remove `workspaces` field referencing `packages/*` and `services/*`
- Add `workspaces: ["web", "browser-ext"]` or use pnpm workspace syntax
- Update scripts to reference `web/` directly (e.g., `"dev": "pnpm --filter web dev"`)
3. Update `pnpm-workspace.yaml`:
```yaml
packages:
- "web"
- "browser-ext"
```
4. Update `turbo.json`:
- Remove package-specific build outputs that no longer apply
- Ensure `web#build`, `web#dev`, `web#test` are defined
- Add `browser-ext#build` if needed
5. Clean root of obsolete files:
- `check-identity.js`, `test-classifier.ts`, `test-maxpayload.ts`, `test-ws-maxpayload*.js` (move to web/ if still needed)
- `docker-compose*.yml`, `Dockerfile` (will be recreated in task 42)
- `infra/`, `load-tests/`, `docs/` (evaluate if content should move to web/docs or archive)
6. Verify `web/` has its own `package.json`, `vite.config.ts`, `tsconfig.json`, and can run independently.
7. Run `pnpm install` from root to regenerate lockfile and verify workspace resolves correctly.
8. Run `pnpm dev` from root and confirm web app starts on expected port.
tests:
- Unit: N/A (infrastructure task)
- Integration: `pnpm install` completes without workspace errors; `pnpm dev` starts web app; `pnpm build` in web/ succeeds
- E2E: N/A
acceptance_criteria:
- [ ] `pnpm-workspace.yaml` only references `web` and `browser-ext`
- [ ] `pnpm install` from root resolves dependencies cleanly
- [ ] `pnpm dev` starts the web app without errors
- [ ] `packages/`, `services/`, and `server/` are no longer in the working tree (archived or deleted)
- [ ] No broken references to removed directories in root config files
validation:
- Run `ls packages/ services/ server/` and confirm "No such file or directory" or they are empty placeholders
- Run `pnpm dev` and verify `http://localhost:3000` responds
- Run `pnpm build` inside `web/` and verify output in `web/.output/` or `web/dist/`
notes:
- Do NOT delete git history. Use `git mv` where possible, or archive via `git branch archive/legacy-$(date +%Y%m%d)` before deleting.
- The `web/` directory already exists (was `redux/`) and contains a SolidStart scaffold. We build from there.
- `iOS/Kordant` and `android/` are native projects and do not participate in the pnpm workspace; they are tracked as sibling directories.