Update MEMORY.md with unified CLI documentation

- Document gantt.sh unified CLI covering all API endpoints
- Separate API-based vs Supabase-direct approaches
- Clear usage examples for both methods
This commit is contained in:
Matt Bruce 2026-02-21 17:29:29 -06:00
parent ef6cb4e116
commit bcd9ef35f4

View File

@ -212,19 +212,45 @@ First question: "How will I (Max) interact with this programmatically without Ma
**Source of truth for the pattern:**
- **Location:** `/Users/mattbruce/Documents/Projects/OpenClaw/Web/gantt-board/scripts/`
- **Files:** `gantt-task-crud.sh`, `attach-file.sh`, `view-attachment.sh`
- **Usage:**
- **Files:**
- `gantt.sh` - Unified CLI (API-based, all operations)
- `gantt-task-crud.sh` - Direct Supabase CRUD
- `attach-file.sh` - Direct Supabase file attachments
- `view-attachment.sh` - View attached files
**Usage (Unified CLI - covers ALL API endpoints):**
```bash
./scripts/gantt-task-crud.sh list [status] # List all tasks
./scripts/gantt-task-crud.sh get <task-id> # Get specific task
./scripts/gantt-task-crud.sh create "Title" [status] [priority]
./scripts/gantt-task-crud.sh update <task-id> <field> <value>
./scripts/gantt-task-crud.sh delete <task-id>
./scripts/attach-file.sh <task-id> <file-path> # Attach file
./scripts/view-attachment.sh <task-id> [index] # View attachment
# Tasks
./scripts/gantt.sh task list [status] # List tasks
./scripts/gantt.sh task get <task-id> # Get task
./scripts/gantt.sh task create "Title" [status] [priority] # Create task
./scripts/gantt.sh task natural "Fix bug by Friday, high priority" # Natural language
./scripts/gantt.sh task update <id> <field> <val> # Update field
./scripts/gantt.sh task delete <task-id> # Delete task
./scripts/gantt.sh task comment <id> "text" # Add comment
./scripts/gantt.sh task attach <id> <file> # Attach file
# Projects & Sprints
./scripts/gantt.sh project list # List projects
./scripts/gantt.sh sprint list # List sprints
# Auth
./scripts/gantt.sh auth session # Check session
./scripts/gantt.sh auth login <email> <pass> # Log in
```
**How it works:** Uses Supabase service role key directly. Files stored as base64 data URLs.
**Usage (Direct Supabase - works without web server):**
```bash
./scripts/gantt-task-crud.sh list [status] # List tasks
./scripts/gantt-task-crud.sh get <task-id> # Get task
./scripts/attach-file.sh <task-id> <file-path> # Attach file
./scripts/view-attachment.sh <task-id> [index] # View attachment
```
**How it works:**
- `gantt.sh` uses the REST API (requires web server running)
- Direct scripts use Supabase service role key (works offline)
- Files stored as base64 data URLs in database
**To copy to new project:**
```bash