Remove all Swift/legacy artifacts — no native app, no swift-react UI, no tech debt. The Chrome PWA (web/) on the NestJS backend (src/) + MCP server is the sole way forward. Removed: - @packages/prospector-client, @packages/prospector-ui (Swift packages) - Sources/ (QuinnProspector, QuinnProspectorCore), Config/, project.yml, QuinnProspector.xcodeproj, Resources/ - PLAN.md (stale my/-port plan, superseded) Rewired: - .forgejo/workflows/ci.yml → Node CI (npm ci → typecheck/test/build for backend + web + MCP) instead of Swift build/test - .gitignore → drop .build/, *.xcodeproj/ Unified definition: - docs/PROSPECTOR.md — new single source of truth (architecture, surfaces, invariants, dependencies, build/deploy) - README.md, CLAUDE.md, docs/README.md, src/README.md → PWA-forward, point at docs/PROSPECTOR.md, no Swift/legacy references designs/ kept intact as the authoritative UI/behavior spec. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
3.2 KiB
@applications/@prospector/ (Quinn Prospector)
Canonical home for the Quinn Prospector system. Tier 2 application under
@applications/.
Read docs/PROSPECTOR.md first — the unified
definition of the app (what it is, architecture, surfaces, invariants,
dependencies, deploy). It supersedes all prior scattered plans/handoffs.
What this is
One repo, one app: a NestJS backend (src/) + an installable Chrome PWA
(web/) + an MCP server (@packages/mcp-prospector/), on its own Postgres
database. The PWA is the way forward — there is no Swift app, no native macOS
target, and no platform my/ round-trip in the build. The PWA is served
same-origin by the backend under /prospector/* and installs as a standalone
Chrome/macOS window.
The 8 interactive HTML prototypes in designs/ are the authoritative visual
- behavior contract. Open them in a browser to drive implementation; they win UI/behavior disputes.
Two distinct "market" notions (don't conflate): the campaign-targeting
market is a coarse E.164 calling-code bucket (src/prospects/segment.ts); the
tour-stop market is a metro Quinn physically works for a date window with a
timezone (src/markets/registry.ts, currently NYC). See docs/PROSPECTOR.md §3.
Mesh dependency is limited to mac-sync (Apple Notes pastebin, outbox,
messages, calendar over the WG mesh). Core prospector is pure DO + Postgres.
Always-active for this workspace
- Read the unified doc + spec first:
docs/PROSPECTOR.md, thensrc/README.md(module index) and the relevant per-moduleREADME.md, then thedesigns/*.htmlprototypes for any UI work. ls/grep/read before claiming state or editing (anti-hallucination). - Code standards: follow
docs/STANDARDS.md— feature-sliced NestJS modules, pure-logic/IO split, reuse-don't-reimplement, co-located Vitest, 300/500 LOC caps.src/markets/is the reference module. - Filesystem-as-docs: every feature module carries a
README.md(what/why + file table + HTTP surface);src/README.mdis the index. Add/refresh a module's README when you build or materially change it — never mass-generate hollow docs. Keepdocs/PROSPECTOR.mdcurrent as the app evolves. - No legacy / no tech debt: full production code, no stubs/shims/back-compat. Delete unused code entirely.
- Collective voice: "We...", "The collective...".
- Git: scoped commits only (
git commit -- <paths>), conventional +Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>. - Verification: run backend tests (
npm test), typecheck/build, build the web PWA (npm run build --workspace web), compare todesigns/, and run the health check before declaring done.
Specialized agents
- Web/PWA React work:
frontend-developer. Touching the MCP server:mcp-server-builder. For agent/coworker use of prospector, drive it through the@packages/mcp-prospectorMCP (the PWA is the operator's direct UI).
See the top-level platform CLAUDE.md and @cocottetech/ for broader context.
Last updated: 2026-06-29 (de-Swift: removed native macOS app + Swift packages;
PWA is the sole operator surface; docs/PROSPECTOR.md is the unified definition).