No description
Find a file
Natalie 087b6d8820
Some checks are pending
CI / verify (push) Waiting to run
docs(plan): gap re-analysis — P-1 foundation green, fleet ported
Status snapshot refresh: site-themes 0.1.1 shipped (prereq done), styled-components
dedupe fix, web/src/ui primitives committed, typecheck+build green. Cloud section
updated from plan→as-built: infra/ harness ported + offline-verified (ct-forge
clone, cocotte-ci S3-mount shared drive), lights up at Wave A. Next serial-core:
App.tsx 16-route shell + api.ts stubs.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 21:19:18 -04:00
.forgejo/workflows refactor!: drop Swift/native macOS app, unify on the PWA 2026-06-29 11:59:04 -04:00
@packages/mcp-prospector refactor!: drop Swift/native macOS app, unify on the PWA 2026-06-29 11:59:04 -04:00
designs feat(prospector): align design contract with PWA-only architecture 2026-06-29 15:02:16 -04:00
docs docs: move PLAN.md to app root 2026-06-29 19:10:59 -04:00
infra fix(infra): clone prospector from ct-forge + add S3-mount shared drive 2026-06-29 21:14:55 -04:00
mcp feat(mcp-installer): --replace-imessage to neuter the vendor imessage MCP 2026-06-29 09:19:52 -04:00
migrations feat(prospector): runtime config for GPU idle auto-teardown 2026-06-29 18:24:47 -04:00
scripts fix(app): reach panel via the bind host (mesh --host=IP support) 2026-06-29 10:04:19 -04:00
src feat(prospector): runtime config for GPU idle auto-teardown 2026-06-29 18:24:47 -04:00
web feat(web): cocotte design-system primitives (web/src/ui) 2026-06-29 21:17:20 -04:00
.gitignore refactor!: drop Swift/native macOS app, unify on the PWA 2026-06-29 11:59:04 -04:00
.infra.dev.yaml feat(infra): add .infra.dev.yaml (local operator instance on fennel) 2026-06-29 10:20:25 -04:00
.infra.yaml chore(infra): .infra.yaml host -> lime (canonical mesh-hosts name) 2026-06-29 10:10:50 -04:00
.npmrc feat(web): adopt the cocotte design system (P-1 foundation) 2026-06-29 19:45:23 -04:00
CLAUDE.md refactor!: drop Swift/native macOS app, unify on the PWA 2026-06-29 11:59:04 -04:00
nest-cli.json refactor: restructure to src/ app + @packages/mcp-prospector; off-Claude default; MCP 2026-06-29 06:39:13 -04:00
package-lock.json feat(web): adopt the cocotte design system (P-1 foundation) 2026-06-29 19:45:23 -04:00
package.json docs: README + package.json reflect the implemented web/ operator PWA 2026-06-29 07:58:45 -04:00
PLAN.md docs(plan): gap re-analysis — P-1 foundation green, fleet ported 2026-06-29 21:19:18 -04:00
README.md docs: move PLAN.md to app root 2026-06-29 19:10:59 -04:00
run feat(install): tray app + MCP step + detached run; fix local prod token proxy 2026-06-29 08:49:53 -04:00
tsconfig.json feat(service): teach-loop corrections + MCP tool (vetting + OSS tuning data) 2026-06-29 07:12:14 -04:00
vitest.config.ts refactor: restructure to src/ app + @packages/mcp-prospector; off-Claude default; MCP 2026-06-29 06:39:13 -04:00

@prospector (Quinn Prospector)

Quinn's AFK auto-send engine + operator console for inbound prospecting and outbound campaigns. One repo, one app: a NestJS backend (src/) + an installable Chrome PWA (web/) + an MCP server (@packages/mcp-prospector/), on its own Postgres database.

Read docs/PROSPECTOR.md first — the unified definition of the app (architecture, surfaces, invariants, dependencies, deploy). This README is the quick start; that doc is the source of truth.

What's here

Path What
PLAN.md Build-to-prototype plan — the 16 prototype views mapped to backend + PWA, with gaps and phasing. The active build roadmap.
src/ NestJS backend — feature-sliced modules → pure logic. Serves web/dist same-origin under /prospector/*. See src/README.md.
web/ Operator PWA (Vite + React, hash-routed, 8 views). Installs as a standalone Chrome/macOS window.
@packages/mcp-prospector/ MCP adapter over the REST surface for agent coworkers.
designs/ 8 interactive HTML prototypes — the authoritative UI/behavior spec. Open in a browser.
migrations/ SQL migrations (own Postgres DB).
docs/ PROSPECTOR.md (unified definition), STANDARDS.md, features/, MIGRATION_FROM_LP.md, prototype/ (unified 16-view prototype + decomposition).

Quick start

npm ci                          # install workspaces
npm run start:dev               # backend (watch)
cd web && npm run dev           # PWA on Vite (proxies /api → backend)

npm test                        # backend tests (Vitest)
npm run typecheck && npm run build
npm run build --workspace web   # → web/dist/

./run                           # launch the local stack
./run tray                      # macOS menu-bar launcher (AppleScript)

Deploy

Single NestJS process serving web/dist same-origin behind the auth-injecting proxy on the DO droplet (.infra.yaml: host lime, port 3210, systemd unit prospector). CI (.forgejo/workflows/ci.yml) runs on ct-forge Linux runners: npm ci → typecheck → test → build (backend + web + MCP).

The only mesh-dependent path is mac-sync (Apple Notes pastebin, outbox, messages, calendar). Core prospector is pure DO + Postgres. A platform my/ SSO surface is a future goal, not a current dependency — see docs/PROSPECTOR.md.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com