diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..2ecd78b9 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,15 @@ +# Build output / deps +dist/ +build/ +node_modules/ +coverage/ +.next/ + +# Generated design-token outputs (produced by @bytelyst/design-tokens) +packages/design-tokens/generated/ + +# Mirrored AI chat-history / repo-doc snapshots. These are COPIES of files from +# other repos, refreshed periodically by the chat-history sync. Prettier must +# NOT reformat them — doing so causes permanent ping-pong churn (the generator +# rewrites the source style, prettier rewrites it back on every commit). +__LOCAL_LLMs/ diff --git a/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/.last-refresh.log b/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/.last-refresh.log index ed5ab2ae..b7072f43 100644 --- a/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/.last-refresh.log +++ b/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/.last-refresh.log @@ -1,9 +1,9 @@ -Last refresh: 2026-05-30T06:00:12Z (2026-05-29 23:00:12 PDT) -Cascade conversations: 50 (535M) +Last refresh: 2026-05-31T06:00:06Z (2026-05-30 23:00:06 PDT) +Cascade conversations: 50 (537M) Memories: 138 Implicit context: 20 -Code tracker dirs: 60 -File edit history: 5406 entries +Code tracker dirs: 64 +File edit history: 5408 entries Workspace storage: 52 workspaces Repo docs: 7 files across 2 repos Repo workflows: 56 files across 13 repos diff --git a/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_docs/learning_multimodal_memory_agents/ENV_AUDIT_LYSNRAI.md b/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_docs/learning_multimodal_memory_agents/ENV_AUDIT_LYSNRAI.md index dae91428..c6bec526 100644 --- a/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_docs/learning_multimodal_memory_agents/ENV_AUDIT_LYSNRAI.md +++ b/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_docs/learning_multimodal_memory_agents/ENV_AUDIT_LYSNRAI.md @@ -9,17 +9,17 @@ ## 1. Project → Env File Map -| # | Project | Env File | Port | -| --- | ----------------------------------------------- | ---------------------------------- | ---- | -| 1 | Desktop app (`src/`) | `.env` (root) | — | -| 2 | Backend API (`backend/`) | `backend/.env` | 8000 | -| 3 | Admin Dashboard (`admin-dashboard-web/`) | `admin-dashboard-web/.env.local` | 3001 | -| 4 | User Dashboard (`user-dashboard-web/`) | `user-dashboard-web/.env.local` | 3002 | -| 5 | Tracker Dashboard (`tracker-dashboard-web/`) | `tracker-dashboard-web/.env.local` | 3003 | -| 6 | Billing Service (`services/billing-service/`) | `services/billing-service/.env` | 4002 | -| 7 | Growth Service (`services/growth-service/`) | `services/growth-service/.env` | 4001 | -| 8 | Platform Service (`services/platform-service/`) | `services/platform-service/.env` | 4003 | -| 9 | Tracker Service (`services/tracker-service/`) | `services/tracker-service/.env` | 4004 | +| # | Project | Env File | Port | +|---|---------|----------|------| +| 1 | Desktop app (`src/`) | `.env` (root) | — | +| 2 | Backend API (`backend/`) | `backend/.env` | 8000 | +| 3 | Admin Dashboard (`admin-dashboard-web/`) | `admin-dashboard-web/.env.local` | 3001 | +| 4 | User Dashboard (`user-dashboard-web/`) | `user-dashboard-web/.env.local` | 3002 | +| 5 | Tracker Dashboard (`tracker-dashboard-web/`) | `tracker-dashboard-web/.env.local` | 3003 | +| 6 | Billing Service (`services/billing-service/`) | `services/billing-service/.env` | 4002 | +| 7 | Growth Service (`services/growth-service/`) | `services/growth-service/.env` | 4001 | +| 8 | Platform Service (`services/platform-service/`) | `services/platform-service/.env` | 4003 | +| 9 | Tracker Service (`services/tracker-service/`) | `services/tracker-service/.env` | 4004 | --- @@ -36,63 +36,63 @@ grep -rn 'MISSING_ENV_VALUE' --include='.env*' --include='*.env' . | grep -v nod ### 3.1 Root `.env` (Desktop App) -| Variable | Status | Action | -| --------------------------------------- | ---------------------------------- | ----------------------------------------------------------------------- | -| `APPLICATIONINSIGHTS_CONNECTION_STRING` | ❌ Empty | Get from Azure Portal → Application Insights → Overview | -| `ANH_CONNECTION_STRING` | ⚠️ Has `YOUR_KEY_HERE` placeholder | Replace with real SharedAccessKey from Azure Portal → Notification Hubs | +| Variable | Status | Action | +|----------|--------|--------| +| `APPLICATIONINSIGHTS_CONNECTION_STRING` | ❌ Empty | Get from Azure Portal → Application Insights → Overview | +| `ANH_CONNECTION_STRING` | ⚠️ Has `YOUR_KEY_HERE` placeholder | Replace with real SharedAccessKey from Azure Portal → Notification Hubs | ### 3.2 `backend/.env` -| Variable | Status | Action | -| ------------------------------- | -------- | ------------------------------------------------------------------------ | -| `AZURE_EMAIL_CONNECTION_STRING` | ❌ Empty | Get from Azure Portal → Communication Services → Keys | -| `SMTP_HOST` | ❌ Empty | Configure if using SMTP fallback instead of Azure Communication Services | -| `SMTP_USER` | ❌ Empty | Configure if using SMTP fallback | -| `SMTP_PASS` | ❌ Empty | Configure if using SMTP fallback | +| Variable | Status | Action | +|----------|--------|--------| +| `AZURE_EMAIL_CONNECTION_STRING` | ❌ Empty | Get from Azure Portal → Communication Services → Keys | +| `SMTP_HOST` | ❌ Empty | Configure if using SMTP fallback instead of Azure Communication Services | +| `SMTP_USER` | ❌ Empty | Configure if using SMTP fallback | +| `SMTP_PASS` | ❌ Empty | Configure if using SMTP fallback | ### 3.3 `admin-dashboard-web/.env.local` -| Variable | Status | Action | -| -------------------------- | -------- | ---------------------------------------------------------- | -| `NEXT_PUBLIC_POSTHOG_KEY` | ❌ Empty | Get from PostHog → Project Settings (optional — analytics) | +| Variable | Status | Action | +|----------|--------|--------| +| `NEXT_PUBLIC_POSTHOG_KEY` | ❌ Empty | Get from PostHog → Project Settings (optional — analytics) | | `NEXT_PUBLIC_POSTHOG_HOST` | ❌ Empty | Get from PostHog → Project Settings (optional — analytics) | ### 3.4 `user-dashboard-web/.env.local` -| Variable | Status | Action | -| -------------------------- | -------- | ------------------------------------------------------------------- | +| Variable | Status | Action | +|----------|--------|--------| | `ENTERPRISE_EMAIL_DOMAINS` | ❌ Empty | Set comma-separated list of domains that qualify for Enterprise SSO | -| `MICROSOFT_CLIENT_ID` | ❌ Empty | Register app in Azure Portal → Entra ID → App registrations | -| `MICROSOFT_CLIENT_SECRET` | ❌ Empty | Same as above | -| `GOOGLE_CLIENT_ID` | ❌ Empty | Register app in Google Cloud Console → Credentials | -| `GOOGLE_CLIENT_SECRET` | ❌ Empty | Same as above | -| `NEXT_PUBLIC_POSTHOG_KEY` | ❌ Empty | PostHog analytics (optional) | -| `NEXT_PUBLIC_POSTHOG_HOST` | ❌ Empty | PostHog analytics (optional) | +| `MICROSOFT_CLIENT_ID` | ❌ Empty | Register app in Azure Portal → Entra ID → App registrations | +| `MICROSOFT_CLIENT_SECRET` | ❌ Empty | Same as above | +| `GOOGLE_CLIENT_ID` | ❌ Empty | Register app in Google Cloud Console → Credentials | +| `GOOGLE_CLIENT_SECRET` | ❌ Empty | Same as above | +| `NEXT_PUBLIC_POSTHOG_KEY` | ❌ Empty | PostHog analytics (optional) | +| `NEXT_PUBLIC_POSTHOG_HOST` | ❌ Empty | PostHog analytics (optional) | ### 3.5 `tracker-dashboard-web/.env.local` -| Variable | Status | Action | -| -------------------------- | -------- | ---------------------------- | -| `NEXT_PUBLIC_POSTHOG_KEY` | ❌ Empty | PostHog analytics (optional) | +| Variable | Status | Action | +|----------|--------|--------| +| `NEXT_PUBLIC_POSTHOG_KEY` | ❌ Empty | PostHog analytics (optional) | | `NEXT_PUBLIC_POSTHOG_HOST` | ❌ Empty | PostHog analytics (optional) | ### 3.6 `services/growth-service/.env` -| Variable | Status | Action | -| --------------------------------- | -------- | ------------------------------------------------------------ | +| Variable | Status | Action | +|----------|--------|--------| | `WEBHOOK_INVITATION_REDEEMED_URL` | ❌ Empty | Set to backend or platform-service webhook callback endpoint | -| `WEBHOOK_REFERRAL_STATUS_URL` | ❌ Empty | Set to backend or platform-service webhook callback endpoint | +| `WEBHOOK_REFERRAL_STATUS_URL` | ❌ Empty | Set to backend or platform-service webhook callback endpoint | ### 3.7 `services/billing-service/.env` -| Variable | Status | Action | -| ------------------ | -------- | --------------------------------------------------------------- | +| Variable | Status | Action | +|----------|--------|--------| | `PLAN_LIMITS_JSON` | ❌ Empty | Optional — set JSON with per-plan limits if overriding defaults | ### 3.8 `services/platform-service/.env` -| Variable | Status | Action | -| ------------------------ | -------- | ------------------------------------------------------------------------ | +| Variable | Status | Action | +|----------|--------|--------| | `RATE_LIMIT_CONFIG_JSON` | ❌ Empty | Optional — set JSON with per-endpoint rate limits if overriding defaults | ### 3.9 `services/tracker-service/.env` @@ -105,21 +105,21 @@ grep -rn 'MISSING_ENV_VALUE' --include='.env*' --include='*.env' . | grep -v nod These were missing from `.env` files but had known values, so they were filled in: -| Project | Variable | Value Added | -| -------------------------------- | -------------------------- | --------------------------------------- | -| Root `.env` | `PLATFORM_SERVICE_URL` | `http://localhost:4003` | -| Root `.env` | `LYSNR_API_URL` | `http://localhost:8000` | -| Root `.env` | `LYSNR_ADMIN_URL` | `http://localhost:3001` | -| Root `.env` | `LYSNR_DASHBOARD_URL` | `http://localhost:3002` | -| `backend/.env` | `BILLING_SERVICE_URL` | `http://localhost:4002` | -| `backend/.env` | `PLATFORM_SERVICE_URL` | `http://localhost:4003` | -| `backend/.env` | `CORS_ORIGINS` | Expanded to include all dashboard ports | -| `admin-dashboard-web/.env.local` | `STRIPE_PUBLISHABLE_KEY` | Test key (was missing) | -| `admin-dashboard-web/.env.local` | `STRIPE_WEBHOOK_SECRET` | Test key (was missing) | -| `admin-dashboard-web/.env.local` | `STRIPE_PRICE_PRO` | `price_1Szl2z...` | -| `admin-dashboard-web/.env.local` | `STRIPE_PRICE_ENTERPRISE` | `price_1Szl3D...` | -| `user-dashboard-web/.env.local` | `ENTERPRISE_EMAIL_DOMAINS` | Empty (needs config) | -| `services/billing-service/.env` | `USAGE_WARN_THRESHOLD` | `80` | +| Project | Variable | Value Added | +|---------|----------|-------------| +| Root `.env` | `PLATFORM_SERVICE_URL` | `http://localhost:4003` | +| Root `.env` | `LYSNR_API_URL` | `http://localhost:8000` | +| Root `.env` | `LYSNR_ADMIN_URL` | `http://localhost:3001` | +| Root `.env` | `LYSNR_DASHBOARD_URL` | `http://localhost:3002` | +| `backend/.env` | `BILLING_SERVICE_URL` | `http://localhost:4002` | +| `backend/.env` | `PLATFORM_SERVICE_URL` | `http://localhost:4003` | +| `backend/.env` | `CORS_ORIGINS` | Expanded to include all dashboard ports | +| `admin-dashboard-web/.env.local` | `STRIPE_PUBLISHABLE_KEY` | Test key (was missing) | +| `admin-dashboard-web/.env.local` | `STRIPE_WEBHOOK_SECRET` | Test key (was missing) | +| `admin-dashboard-web/.env.local` | `STRIPE_PRICE_PRO` | `price_1Szl2z...` | +| `admin-dashboard-web/.env.local` | `STRIPE_PRICE_ENTERPRISE` | `price_1Szl3D...` | +| `user-dashboard-web/.env.local` | `ENTERPRISE_EMAIL_DOMAINS` | Empty (needs config) | +| `services/billing-service/.env` | `USAGE_WARN_THRESHOLD` | `80` | --- @@ -134,21 +134,20 @@ These were missing from `.env` files but had known values, so they were filled i These values **must be identical** across all services that use them: -| Secret | Used By | -| ------------------- | -------------------------------------------------------------------- | -| `JWT_SECRET` | All 4 Fastify services + all 3 dashboards + backend | -| `COSMOS_ENDPOINT` | All 4 Fastify services + admin + user dashboards + backend + desktop | -| `COSMOS_KEY` | Same as above | -| `COSMOS_DATABASE` | Same as above (must be `lysnrai`) | -| `STRIPE_SECRET_KEY` | billing-service, growth-service, admin-dashboard, user-dashboard | -| `AZURE_BLOB_*` | platform-service, admin-dashboard, user-dashboard, desktop | +| Secret | Used By | +|--------|---------| +| `JWT_SECRET` | All 4 Fastify services + all 3 dashboards + backend | +| `COSMOS_ENDPOINT` | All 4 Fastify services + admin + user dashboards + backend + desktop | +| `COSMOS_KEY` | Same as above | +| `COSMOS_DATABASE` | Same as above (must be `lysnrai`) | +| `STRIPE_SECRET_KEY` | billing-service, growth-service, admin-dashboard, user-dashboard | +| `AZURE_BLOB_*` | platform-service, admin-dashboard, user-dashboard, desktop | --- ## 7. Production Deployment Notes When deploying to the current stack: - - **Vercel** for public/front-end surfaces where applicable - **Azure VM / shared infra** for backend and internal service hosting diff --git a/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_workflows/learning_ai_efforise/w1-scaffold-and-cleanup.md b/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_workflows/learning_ai_efforise/w1-scaffold-and-cleanup.md index 8c1fde26..766a2521 100644 --- a/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_workflows/learning_ai_efforise/w1-scaffold-and-cleanup.md +++ b/__LOCAL_LLMs/AI_IDE_CHAT_HISTORY/WINDSURF/repo_workflows/learning_ai_efforise/w1-scaffold-and-cleanup.md @@ -1,5 +1,5 @@ --- -description: 'Window 1: Phase 0 scaffolding + Manus cleanup (RUN FIRST — other windows depend on this)' +description: "Window 1: Phase 0 scaffolding + Manus cleanup (RUN FIRST — other windows depend on this)" --- # Window 1: Phase 0 Scaffolding + Manus Cleanup @@ -45,7 +45,7 @@ canonical script. Legacy files (`CLAUDE.md`, `.cursorrules`, `.windsurfrules`, `.clinerules`) are **deprecated** and must NOT be created — they used to duplicate AGENTS.md content and drifted. -1. `AGENTS.md` — AI agent onboarding guide (customize for efforise: Vite SPA + Fastify backend, productId efforise, port 4020, --er-\* tokens). Copy structure from `../learning_ai_notes/AGENTS.md` or `../learning_ai_trails/AGENTS.md`. +1. `AGENTS.md` — AI agent onboarding guide (customize for efforise: Vite SPA + Fastify backend, productId efforise, port 4020, --er-* tokens). Copy structure from `../learning_ai_notes/AGENTS.md` or `../learning_ai_trails/AGENTS.md`. 2. Add this repo to `../learning_ai_common_plat/.windsurf/workflows/repos.txt` if not already present. 3. Run `bash ../learning_ai_common_plat/scripts/update-agent-docs.sh`. This will: - Prepend the canonical-behavior-pointer block to `AGENTS.md` @@ -72,14 +72,12 @@ duplicate AGENTS.md content and drifted. ## Step 4: Manus Artifact Cleanup ### 4a. Clean `vite.config.ts` - - Remove `vite-plugin-manus-runtime` plugin - Remove `vite-plugin-manus-debug-collector` plugin + all LOG_DIR code - Remove `@builder.io/vite-plugin-jsx-loc` plugin - Replace `allowedHosts: [".manuspre.computer", ...]` with `allowedHosts: ["localhost"]` ### 4b. Delete Manus Files - - Delete `client/src/components/ManusDialog.tsx` - Delete `client/src/components/Map.tsx` (Google Maps boilerplate, 156 lines) - Delete `client/public/__manus__/` directory (contains `debug-collector.js`) @@ -90,25 +88,21 @@ duplicate AGENTS.md content and drifted. - Delete `patches/wouter@3.7.1.patch` (evaluate first — remove if not critical) ### 4c. Clean `client/index.html` - - Remove `VITE_ANALYTICS_ENDPOINT` / `VITE_ANALYTICS_WEBSITE_ID` script references ### 4d. Dependency Cleanup in `package.json` - -- **Downgrade** `zod` from `^4.1.12` → `^3.24.2` (CRITICAL — Zod 4 breaks @bytelyst/\* integration) +- **Downgrade** `zod` from `^4.1.12` → `^3.24.2` (CRITICAL — Zod 4 breaks @bytelyst/* integration) - **Upgrade** `typescript` from `5.6.3` → `^5.7.3` - **Remove:** `streamdown`, `cmdk`, `add` (devDep), `@types/google.maps` (devDep), `next-themes` - **Remove:** `express`, `@types/express` (server/ is deleted) - **Remove** Manus vite plugins from devDeps: `vite-plugin-manus-runtime`, `@builder.io/vite-plugin-jsx-loc` ### 4e. Move Files - - Move `ideas.md` → `docs/ideas.md` ## Step 5: Create README.md Write a proper README.md with: - - Product name + description - Tech stack (Vite + React 19 SPA, Fastify 5 backend planned) - Setup instructions (`pnpm install`, `pnpm dev`)