| db.ts | SQLite via libSQL. Schema migrations, FTS5 triggers, getDb() singleton | | memory.ts | All memory operations: add, search, list, forget, update, getContext, getRules, streaming | | embeddings.ts | Local embeddings via Xenova/Transformers. generateEmbedding(), cosine similarity | | git.ts | getProjectId() — derives project ID from git remote URL |
| auth.ts | Cloud auth token storage, device code flow helpers | | turso.ts | Turso embedded replica sync (cloud ↔ local) | | config.ts | YAML config read/write (/.config/memories/) | | setup.ts | Tool detection (Cursor, Claude, Windsurf, VS Code), MCP config setup | | templates.ts | Built-in memory templates (decision, error-fix, api-endpoint, etc.) |
| ui.ts | Terminal styling: chalk, figlet, gradient, boxen |
Guida per gli sviluppatori per contribuire ed estendere la codebase di memorie.sh. Da utilizzare quando: (1) comprendere l'architettura memorie.sh e il modo in cui i pacchetti si connettono, (2) aggiungere nuovi comandi CLI o strumenti MCP, (3) modificare il livello di archiviazione della memoria (SQLite/libSQL), (4) lavorare sul dashboard Web (Next.js/Supabase), (5) aggiungere target di nuova generazione per gli strumenti AI, (6) estendere la sincronizzazione cloud o la funzionalità di incorporamento, (7) eseguire il debug di problemi di compilazione, test o distribuzione nel monorepo. Fonte: webrenew/memories.