chore: stop prettier churn on __LOCAL_LLMs mirrors + refresh snapshot
Add .prettierignore excluding __LOCAL_LLMs/ (and dist/build/generated). Those are mirrored copies refreshed by the chat-history sync; prettier was rewriting them on every commit, fighting the generator and producing permanent diff churn. Also commits the latest refresh snapshot in its native format. Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
parent
e0a904c7ea
commit
cad75b1c02
15
.prettierignore
Normal file
15
.prettierignore
Normal file
@ -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/
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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`)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user