- Full skeleton: backend modules (financials per LP contract + shape), auth/health, web PWA tabs (dashboard/income/etc), mcp stub, migrations, docs (FINANCES.md + detailed MIGRATION_FROM_LP.md), CLAUDE, STANDARDS, run/scripts. - Design embodied: scope from lp.live entities/financials + surfaces/my/financials* + my/backend schema + frontend Financials* pages/tabs + docs/quinn-my/financials.md - Follows prospector extraction precedent exactly for future cutover/proxies from lp.live - Verified: structure ls, partial tsc (dep errors only), files read
2.8 KiB
@applications/finances/ (Quinn Finances)
Canonical home for the Quinn Finances system (provider financial ops dashboard + aggregates + MCP). Tier 2 application under @applications/.
Read docs/FINANCES.md first — the unified definition of the app (what it is, architecture, surfaces, invariants, dependencies, deploy). It supersedes scattered my/ financials and api financials code.
What this is
One repo, one app: a NestJS backend (src/) + an installable Chrome PWA (web/) + an MCP server (@packages/mcp-finances/), on its own Postgres database. Focused financial console for income/expense tracking, ROI, cashflow, pending, tour-leg financials, projects tie-in. PWA is primary operator surface (standalone or embedded via quinn.my proxy during transition).
The extraction follows the prospector pattern: move bounded financial domain out of the lilith-platform.live monolith (quinn-api surfaces/my/financials + entities/financials + my/backend-api schema-financials + frontend pages + mcp) into a dedicated, focused app.
Two DB notes during transition: LP quinn.api has fin_ prefixed tables (to avoid conflict with booking income_sessions); the dedicated finances owns clean tables (or prefixed internally). Proxies + dual-write or backfill during cutover.
Always-active for this workspace
- Read the unified doc + spec first:
docs/FINANCES.md, thensrc/README.md(module index) and the relevant per-moduleREADME.md. - 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/financials/is the reference module. - Filesystem-as-docs: every feature module carries a
README.md. Add/refresh when building or changing materially. - No legacy / no tech debt: full production code, no stubs/shims/back-compat in the final modules. Delete unused entirely. (Skeletons here are the extraction bootstrap.)
- Collective voice: "We...", "The collective...".
- Git: scoped commits only, conventional +
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>. - Verification: run backend tests, typecheck/build, build the web PWA, compare surfaces to lp.live financials docs + pages, run health before done.
Extraction context
See docs/MIGRATION_FROM_LP.md for LP code locations (api/entities/financials/* , surfaces/my/{financials.ts,pending-income.ts,projects.ts,tour-legs.ts,...}, my/backend-api/db/schema-financials.ts + routes, my/frontend-public financials pages + tabs, mcp surfaces, tests).
Specialized agents
- Backend Nest: general.
- Web/PWA React:
frontend-developer. - MCP:
mcp-server-builder.
See top-level platform CLAUDE.md and cocottetech for broader.
Last updated: 2026-06-29 (initial stub of extraction from lp.live per prospector precedent).