Add shared Supabase pattern and specialized agents to MEMORY.md
New sections added: - Rule 2.1: Shared Supabase pattern for all Vercel web apps - Same Supabase project (qnatchrjlpehiijwtreh) - Table naming: <projectName>_tableName - Copy .env.local from existing projects - Specialized Agent Profiles section - List of all available agents - When to use each - How to spawn them - Key benefit: auto-loaded skills Now documented in both agent configs and curated memory
This commit is contained in:
parent
b1d3546f70
commit
748a8d2bfb
100
MEMORY.md
100
MEMORY.md
@ -60,6 +60,42 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### 2.1. SHARED SUPABASE PATTERN FOR ALL VERCEL WEB APPS
|
||||||
|
❌ **FORBIDDEN:** Creating separate Supabase projects for each web app
|
||||||
|
✅ **REQUIRED:** All Vercel apps share the same Supabase project with prefixed tables
|
||||||
|
|
||||||
|
**The Pattern:**
|
||||||
|
- **Shared Supabase Project:** `qnatchrjlpehiijwtreh` (qnatchrjlpehiijwtreh.supabase.co)
|
||||||
|
- **Table Naming:** `<projectName>_tableName` format (e.g., `blog_messages`, `mission-control_tasks`)
|
||||||
|
- **Credentials:** Copy `.env.local` from existing project (blog-backup or gantt-board)
|
||||||
|
- **Auth:** Shared across all apps (same users table)
|
||||||
|
|
||||||
|
**Why This Pattern:**
|
||||||
|
- Prevents table name collisions (gantt-board uses unprefixed tables - legacy)
|
||||||
|
- Single auth source (users can access all apps with one login)
|
||||||
|
- Easier management (one Supabase dashboard)
|
||||||
|
- Cost efficient (free tier covers all apps)
|
||||||
|
|
||||||
|
**Example from blog-backup (CORRECT):**
|
||||||
|
```typescript
|
||||||
|
// Table name: blog_messages (prefixed)
|
||||||
|
supabase.from("blog_messages").select("*")
|
||||||
|
```
|
||||||
|
|
||||||
|
**Example from gantt-board (LEGACY - created before pattern):**
|
||||||
|
```typescript
|
||||||
|
// Table names: tasks, projects, sprints (NOT prefixed - problematic)
|
||||||
|
supabase.from("tasks").select("*")
|
||||||
|
```
|
||||||
|
|
||||||
|
**New Project Setup:**
|
||||||
|
1. Copy `.env.local` from blog-backup (same Supabase credentials)
|
||||||
|
2. Create tables with prefix: `<projectName>_tablename`
|
||||||
|
3. Set up RLS policies for the prefixed tables
|
||||||
|
4. Document table names in project README
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### 2.5. CLI MUST STAY IN SYNC WITH WEB UI — ALWAYS
|
### 2.5. CLI MUST STAY IN SYNC WITH WEB UI — ALWAYS
|
||||||
❌ **FORBIDDEN:** Web UI has features the CLI can't access
|
❌ **FORBIDDEN:** Web UI has features the CLI can't access
|
||||||
✅ **REQUIRED:** Every web API endpoint has a matching CLI command
|
✅ **REQUIRED:** Every web API endpoint has a matching CLI command
|
||||||
@ -748,6 +784,70 @@ When creating documents for gantt board tasks:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Specialized Agent Profiles
|
||||||
|
|
||||||
|
**Created:** February 22, 2026
|
||||||
|
**Location:** `~/.openclaw/agents/<agentId>/agent/agent.json`
|
||||||
|
**Documentation:** `/Users/mattbruce/.openclaw/workspace/SPECIALIZED_AGENTS.md`
|
||||||
|
|
||||||
|
### Available Agents
|
||||||
|
|
||||||
|
| Agent ID | Name | Emoji | Purpose | Auto-loaded Skills |
|
||||||
|
|----------|------|-------|---------|-------------------|
|
||||||
|
| `main` | Main (default) | 🎉 | General purpose | — |
|
||||||
|
| `ios-dev` | iOS Developer | 📱 | iOS/Swift/SwiftUI | ios-26-role, swiftui-expert-skill, swift-clean-architecture |
|
||||||
|
| `web-dev` | Web Developer | 🌐 | Next.js/React/Supabase | nextjs-expert, frontend-design, shadcn-ui, ui-ux-pro-max |
|
||||||
|
| `research` | Research Assistant | 🔍 | Research & analysis | browser-automation, session-logs |
|
||||||
|
|
||||||
|
### When to Use Each
|
||||||
|
|
||||||
|
**ios-dev:**
|
||||||
|
- Any iOS app development
|
||||||
|
- SwiftUI view creation
|
||||||
|
- Xcode project work
|
||||||
|
- App Store preparation
|
||||||
|
|
||||||
|
**web-dev:**
|
||||||
|
- Next.js apps
|
||||||
|
- React components
|
||||||
|
- Supabase integration
|
||||||
|
- Vercel deployment
|
||||||
|
- **Follows shared Supabase pattern automatically**
|
||||||
|
|
||||||
|
**research:**
|
||||||
|
- Information gathering
|
||||||
|
- Documentation compilation
|
||||||
|
- Best practices research
|
||||||
|
- Competitive analysis
|
||||||
|
|
||||||
|
### How to Spawn
|
||||||
|
|
||||||
|
```json
|
||||||
|
// iOS task
|
||||||
|
{
|
||||||
|
"agentId": "ios-dev",
|
||||||
|
"task": "Build a habit tracker app..."
|
||||||
|
}
|
||||||
|
|
||||||
|
// Web task
|
||||||
|
{
|
||||||
|
"agentId": "web-dev",
|
||||||
|
"task": "Create a Next.js dashboard..."
|
||||||
|
}
|
||||||
|
|
||||||
|
// Research task
|
||||||
|
{
|
||||||
|
"agentId": "research",
|
||||||
|
"task": "Find OpenClaw best practices..."
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Key Benefit
|
||||||
|
|
||||||
|
Each agent **automatically loads relevant skills** and follows **domain-specific patterns**. No more generic solutions — iOS work uses iOS patterns, web work uses web patterns.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Memory Maintenance — Critical Rule
|
## Memory Maintenance — Critical Rule
|
||||||
|
|
||||||
**Update memory files CONTINUOUSLY throughout the day, not at the end.**
|
**Update memory files CONTINUOUSLY throughout the day, not at the end.**
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user