How justatalentedguy/cp-brain works
CP Brain is a local competitive-programming workspace integrated with VS Code. A user captures solution context and ideas in the extension; durable outboxes support delivery to the local archive, where lifecycle tracking and knowledge management preserve them. The dashboard supports review, contest workflows, search, and optional analysis: users can inspect sharing choices, prepare work, and manage jobs. The README also documents Codeforces sync and optional Groq suggestions. Edges are limited to relationships shown in excerpts, SOURCE INDEX references, or the README; some service capabilities are documented but their internal wiring was not sampled.
Main entry points: api.ts Dashboard API · server.ts Local Service · extension.ts Extension Host · queue.ts Analysis Queue
Components 26
VS Code Capture
- Capture
packages/extension/src/capture.ts - Extension Host
packages/extension/src/extension.ts - Disk Outbox
packages/extension/src/outbox.ts - Capture Transport
packages/extension/src/transport.ts - Dashboard Bridge
packages/extension/src/webview.ts
Local Archive
- Local Service
packages/service/src/server.ts - Archive Store
packages/service/src/store.ts - Learning Episodes
packages/core/src/lifecycle.ts - Knowledge Library
packages/service/src/knowledge.ts - Workspace Import
packages/service/src/imports.ts
Dashboard
- Dashboard App
packages/dashboard/src/main.tsx - Dashboard API
packages/dashboard/src/api.ts - Browser Outbox
packages/dashboard/src/outbox.ts
Analysis and Search
- Analysis Workbench
packages/dashboard/src/analysis.tsx - Preparation
packages/service/src/preparation.ts - Analysis Queue
packages/service/src/queue.ts - Knowledge Search
packages/dashboard/src/search.tsx - Search Service
packages/service/src/search.ts - Semantic Retrieval
packages/service/src/semantic.ts
Contest Workflows
- Contest Review
packages/service/src/contests.ts - Contest Dashboard
packages/dashboard/src/contests.tsx - Narratives
packages/service/src/narratives.ts
Other components
- Programmer
- VS Code
- Codeforces
- Groq Provider
Connections 29
- Programmer → VS Code: uses
- VS Code → Extension Host: hosts
packages/extension/src/extension.ts - Extension Host → Capture: invokes
packages/extension/src/extension.ts - Capture → Disk Outbox: persists captures
packages/extension/src/capture.ts - Extension Host → Capture Transport: uses
packages/extension/src/extension.ts - Capture Transport → Disk Outbox: drains
packages/extension/src/transport.ts - Extension Host → Dashboard Bridge: opens dashboard
packages/extension/src/extension.ts - Dashboard Bridge → Dashboard API: bridges requests
packages/dashboard/src/api.ts - Programmer → Dashboard App: reviews workspace
- Dashboard App → Dashboard API: loads and mutates
packages/dashboard/src/main.tsx - Dashboard API → Browser Outbox: queues events
packages/dashboard/src/api.ts - Dashboard API → Local Service: sends API requests
- Local Service → Archive Store: uses archive
packages/service/src/server.ts - Local Service → Workspace Import: routes workspace import
packages/service/src/server.ts - Local Service → Knowledge Library: routes knowledge
packages/service/src/server.ts - Learning Episodes → Archive Store: persists state
- Local Service → Analysis Queue: routes analysis jobs
packages/service/src/server.ts - Analysis Workbench → Dashboard API: submits workflows
packages/dashboard/src/analysis.tsx - Analysis Workbench → Preparation: requests preparation
packages/dashboard/src/analysis.tsx - Preparation → Analysis Queue: enqueues work
packages/service/src/preparation.ts - Analysis Queue → Groq Provider: requests hosted analysis
- Knowledge Search → Dashboard API: queries
packages/dashboard/src/search.tsx - Dashboard API → Search Service: routes search
- Search Service → Semantic Retrieval: uses semantic retrieval
packages/service/src/search.ts - Contest Dashboard → Dashboard API: loads contest data
packages/dashboard/src/contests.tsx - Contest Review → Archive Store: reads and writes
packages/service/src/contests.ts - Contest Dashboard → Narratives: views narratives
- Programmer → Codeforces: connects account
- Local Service → Codeforces: syncs public data