vestige/docs/integrations/windsurf.md
Sam Valladares c29023dd80 feat: Vestige v1.7.0 — 18 tools, automation triggers, SQLite perf
Tool consolidation: 23 → 18 tools
- ingest merged into smart_ingest (single + batch mode)
- session_checkpoint merged into smart_ingest batch (items param)
- promote_memory/demote_memory merged into memory(action=promote/demote)
- health_check/stats merged into system_status

Automation triggers in system_status:
- lastDreamTimestamp, savesSinceLastDream, lastBackupTimestamp,
  lastConsolidationTimestamp — enables Claude to conditionally
  trigger dream/backup/gc/find_duplicates at session start
- Migration v6: dream_history table (dreams were in-memory only)
- DreamHistoryRecord struct + save/query methods
- Dream persistence in dream.rs (non-fatal on failure)

SQLite performance:
- PRAGMA mmap_size = 256MB (2-5x read speedup)
- PRAGMA journal_size_limit = 64MB (prevents WAL bloat)
- PRAGMA optimize = 0x10002 (fresh query planner stats on connect)
- FTS5 segment merge during consolidation (20-40% keyword boost)
- PRAGMA optimize during consolidation cycle

1,152 tests passing, 0 failures, release build clean.
2026-02-20 21:59:52 -06:00

155 lines
3 KiB
Markdown

# Windsurf
> Give Cascade a brain that remembers between sessions.
Windsurf has native MCP support through its Cascade AI. Add Vestige and Cascade remembers your architecture, preferences, and past decisions across every session.
---
## Setup
### 1. Open the config file
**Option A — Via UI:**
1. Open **Windsurf > Settings > Advanced Settings**
2. Scroll to the **"Cascade"** section
3. Click **"view the raw JSON config file"**
**Option B — Direct path:**
| Platform | Path |
|----------|------|
| macOS / Linux | `~/.codeium/windsurf/mcp_config.json` |
| Windows | `%USERPROFILE%\.codeium\windsurf\mcp_config.json` |
```bash
# macOS / Linux
open -e ~/.codeium/windsurf/mcp_config.json
```
### 2. Add Vestige
```json
{
"mcpServers": {
"vestige": {
"command": "/usr/local/bin/vestige-mcp",
"args": [],
"env": {}
}
}
}
```
**With environment variable expansion** (Windsurf-specific feature):
```json
{
"mcpServers": {
"vestige": {
"command": "${env:HOME}/.cargo/bin/vestige-mcp",
"args": [],
"env": {}
}
}
}
```
**Windows:**
```json
{
"mcpServers": {
"vestige": {
"command": "C:\\Users\\you\\.cargo\\bin\\vestige-mcp.exe",
"args": [],
"env": {}
}
}
}
```
### 3. Restart Windsurf
Restart the IDE or refresh the Cascade panel.
### 4. Verify
Open Cascade and ask:
> "What MCP tools do you have?"
You should see Vestige's tools listed.
---
## First Use
In Cascade:
> "Remember that this project uses Next.js 15 with the App Router and Drizzle ORM"
Start a **new Cascade session**, then:
> "What framework does this project use?"
It remembers.
---
## Project-Specific Memory
```json
{
"mcpServers": {
"vestige": {
"command": "/usr/local/bin/vestige-mcp",
"args": ["--data-dir", "${env:HOME}/projects/my-app/.vestige"],
"env": {}
}
}
}
```
---
## Important: Tool Limit
Windsurf has a **hard cap of 100 tools** across all MCP servers. Vestige uses ~18 tools, leaving plenty of room for other servers.
---
## Troubleshooting
<details>
<summary>Vestige not appearing in Cascade</summary>
1. Verify the config file is valid JSON:
```bash
cat ~/.codeium/windsurf/mcp_config.json | python3 -m json.tool
```
2. Ensure you're using absolute paths (or `${env:HOME}` expansion).
3. Check the Cascade panel for error messages.
4. Fully restart Windsurf.
</details>
<details>
<summary>Tool limit exceeded</summary>
If you have many MCP servers and exceed 100 total tools, Cascade will ignore excess servers. Remove unused servers or use Vestige's unified tools (each handles multiple operations).
</details>
---
## Also Works With
| IDE | Guide |
|-----|-------|
| Xcode 26.3 | [Setup](./xcode.md) |
| Cursor | [Setup](./cursor.md) |
| VS Code (Copilot) | [Setup](./vscode.md) |
| JetBrains | [Setup](./jetbrains.md) |
| Claude Code | [Setup](../CONFIGURATION.md#claude-code-one-liner) |
| Claude Desktop | [Setup](../CONFIGURATION.md#claude-desktop-macos) |
Your AI remembers everything, everywhere.