No description
Find a file
2026-06-29 22:03:08 -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 chore(forge): update git origin to ct-forge with orgname cocotte and refresh examples/comments 2026-06-29 21:32:41 -04:00
mcp
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 fix(web): remove legacy .input css classes + any casts from new/migrated views; add Input primitive to ui/; tighten VoiceAlignment types (no any); align with PLAN no-old-css, STANDARDS explicit types, Wave C review 2026-06-29 22:00:35 -04:00
web perf(web): React.memo on list rows (EventRow, Row, HeldRow, FleetRow, EmptyRow, LogRow, QueueTable + badges), useMemo for filters/derived (Stream/Reports/Queue/Calendar/Dashboard), route code-split (lazy+Suspense in App) to cut main chunk; pure helpers unchanged 2026-06-29 22:03:08 -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
package-lock.json feat(web): adopt the cocotte design system (P-1 foundation) 2026-06-29 19:45:23 -04:00
package.json
PLAN.md feat(web): integrate full AutopilotView from completed Wave B subagent (185253f, ui/ only + real getAutopilot + prototype live states parity) 2026-06-29 22:01:10 -04:00
README.md docs: move PLAN.md to app root 2026-06-29 19:10:59 -04:00
run
tsconfig.json
vitest.config.ts

@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