dude-claude-plugin
v2026.2.21
Published
Ultra-minimal RAG and cross-project memory for Claude CLI
Downloads
108
Maintainers
Readme
dude-claude-plugin
Ultra-minimal RAG and cross-project memory for Claude Code.
Dude gives Claude a persistent memory across projects. It stores issues and specifications in a local SQLite database with vector embeddings, so Claude automatically recalls relevant context from past sessions.
Install
From marketplace (recommended)
Installs MCP tools and hooks (auto-retrieve on prompt, auto-persist on stop):
claude plugin marketplace add fingerskier/claude-plugins
claude plugin install dude-claude-plugin@fingerskier-pluginsMCP server only (via npx)
If you just want the 7 MCP tools without auto-hooks:
claude mcp add dude -- npx dude-claude-plugin mcpGlobal install
npm install -g dude-claude-plugin
claude mcp add dude -- dude-claude mcpWhat it does
| Component | Description |
|-----------|-------------|
| MCP server | 7 tools: search, upsert_record, get_record, list_records, delete_record, list_projects, sync_status |
| Auto-retrieve hook | On each prompt, searches memory for relevant context and injects it |
| Auto-persist hook | After each response, classifies the work and saves issues/specs |
| Web UI | Local dashboard at http://127.0.0.1:3456 for manual CRUD |
| Storage | libsql (SQLite-compatible) at ~/.dude-claude/dude-libsql.db |
| Embeddings | Local all-MiniLM-L6-v2 via @huggingface/transformers (no API keys) |
| Cloud sync | Optional Turso cloud sync via environment variables |
How it works
- You submit a prompt -- the auto-retrieve hook embeds it and searches for related records across all your projects
- Matching context is injected so Claude has relevant history before reasoning
- After Claude responds, the auto-persist hook classifies the work:
- Bug fix? Upserts an
issuerecord (status: resolved) - Improvement? Upserts a
specrecord - Neither? Skips silently
- Bug fix? Upserts an
- Next session, step 1 finds those records automatically
Web UI
npx dude-claude-plugin serve
# or if globally installed:
dude-claude serveOpens a local dashboard at http://127.0.0.1:3456 (auto-opens in your browser). The UI has two panels: a sidebar listing records with filters, and a main panel for viewing and editing.
What you can do:
- Project selector — filter records by project or view all projects at once
- Semantic search — type in the search bar to find records by meaning, not just keywords (results ranked by similarity)
- Filter by kind — narrow to issues, specs, arch decisions, updates, or tests
- Filter by status — open, resolved, archived, active, or inactive
- Create / edit / delete — click "+ New" to add a record, click any record to edit it, or delete from the detail view
Set DUDE_PORT to change the default port (see Configuration).
Configuration
| Env variable | Default | Description |
|---|---|---|
| DUDE_PORT | 3456 | Web UI port |
| DUDE_CONTEXT_LIMIT | 5 | Max records injected per prompt |
| DUDE_RECENCY_HOURS | 1 | Lookback window for recent records |
Cloud Sync (optional)
The plugin works fully offline by default. To enable cloud sync with Turso, set these environment variables:
| Env variable | Description |
|---|---|
| DUDE_TURSO_URL | Turso database URL (e.g. libsql://your-db.turso.io) |
| DUDE_TURSO_TOKEN | Turso auth token |
| DUDE_SYNC_INTERVAL | Sync interval in ms (default: 60000) |
When configured, @libsql/client maintains a local embedded replica that auto-syncs with Turso. You can also trigger a manual sync via the sync_status MCP tool or POST /api/sync.
Requirements
- Node.js >= 18
