{"id":48433481,"url":"https://github.com/fenv-org/mementor","last_synced_at":"2026-04-06T11:31:26.126Z","repository":{"id":338916798,"uuid":"1159692936","full_name":"fenv-org/mementor","owner":"fenv-org","description":"Local RAG memory agent that gives Claude Code persistent cross-session context via SQLite vector search","archived":false,"fork":false,"pushed_at":"2026-02-24T09:29:34.000Z","size":4122,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-24T15:31:07.246Z","etag":null,"topics":["claude-code","cli","developer-tools","embeddings","llm-tools","memory","rag","rust","sqlite","vector-search"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fenv-org.png","metadata":{"files":{"readme":"README.md","changelog":"history/2026-02-17_di-refactoring-db-injection.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-17T03:28:01.000Z","updated_at":"2026-02-23T08:48:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/fenv-org/mementor","commit_stats":null,"previous_names":["fenv-org/mementor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fenv-org/mementor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenv-org%2Fmementor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenv-org%2Fmementor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenv-org%2Fmementor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenv-org%2Fmementor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fenv-org","download_url":"https://codeload.github.com/fenv-org/mementor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fenv-org%2Fmementor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31471460,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T08:36:52.050Z","status":"ssl_error","status_checked_at":"2026-04-06T08:36:51.267Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["claude-code","cli","developer-tools","embeddings","llm-tools","memory","rag","rust","sqlite","vector-search"],"created_at":"2026-04-06T11:31:25.601Z","updated_at":"2026-04-06T11:31:26.121Z","avatar_url":"https://github.com/fenv-org.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mementor\n\n**TUI Workspace Tool + Knowledge Mining Plugin for Claude Code**\n\n## Vision\n\nMementor is a terminal workspace for browsing and searching your AI coding\nsession history. It reads [Entire CLI](https://github.com/entireio/cli)\ncheckpoint data from your local git repository and provides a rich TUI for\nnavigating transcripts, diffs, and session metadata — plus a Claude Code\nplugin for AI-powered knowledge mining across sessions.\n\nNo databases. No embedding models. No cloud services. Everything reads from\nyour local git branch.\n\n## Features\n\n### TUI (Terminal User Interface)\n\n- **Checkpoint browser** — Navigate your coding session history with vim-style\n  key bindings. See commit titles, agent badges, file stats, and token usage\n  at a glance.\n- **Session detail view** — Three-panel layout: sessions, file tree, and\n  scrollable transcript with inline tool call expansion.\n- **Transcript viewer** — Full-screen conversation display with syntax-\n  highlighted tool calls, thinking blocks, and compaction boundary markers.\n- **Unified diff viewer** — Browse file diffs with dual line numbers, color-\n  coded additions/deletions, and hunk navigation.\n- **Git log integration** — Commit history annotated with checkpoint IDs.\n  Jump from any tagged commit directly to its session transcript.\n- **Cross-transcript search** — Search across all sessions with real-time\n  results streaming. Filter by branch, file, or time range.\n- **AI session summaries** — Generate on-demand summaries via `claude -p`\n  with custom prompts. Goes beyond entire's fixed `--generate` output.\n- **Branch filtering** — Clean branch selector that hides entire's internal\n  branches (`entire/checkpoints/*`, shadow branches).\n- **Keyboard-driven** — Vim-style navigation throughout: `j`/`k`, `g`/`G`,\n  `Ctrl-d`/`Ctrl-u`, `/` search, `Tab` focus cycling.\n- **Offline** — No network required. Reads from local git branch only.\n- **Fast startup** — Rust binary, target \u003c200ms to interactive.\n\n### Claude Code Plugin\n\n- **/recall** — Search past sessions for relevant knowledge and context.\n  Runs autonomously via the knowledge-miner agent in a forked context.\n- **/explain-session** — Deep-dive into a specific session, commit, or\n  checkpoint with full conversation, decisions, and outcomes.\n- **knowledge-miner agent** — Autonomous researcher that investigates session\n  history from multiple angles: metadata, transcripts, commits, file access\n  patterns.\n- **Active session recovery** — Search compacted context in live sessions via\n  `entire status` + live transcript file scanning.\n\n### CLI Subcommands\n\nAll subcommands output JSON for scripting and plugin use:\n\n```bash\nmementor                            # Launch TUI (default)\nmementor list [--branch \u003cname\u003e]     # List checkpoints\nmementor show \u003ccheckpoint-id\u003e       # Checkpoint detail\nmementor transcript \u003ccheckpoint-id\u003e # Parsed transcript\nmementor commits [--branch \u003cname\u003e]  # Commits with checkpoint links\nmementor files \u003ccheckpoint-id\u003e      # Files touched\nmementor search \u003cquery\u003e             # Cross-transcript search\nmementor status                     # Active sessions + entire status\nmementor summarize \u003ccheckpoint-id\u003e  # AI summary via claude -p\n```\n\n## Tech Stack\n\n| Component       | Choice                                      |\n| --------------- | ------------------------------------------- |\n| Language        | Rust (edition 2024)                         |\n| TUI framework   | ratatui + crossterm                         |\n| Async runtime   | tokio                                       |\n| Data source     | Entire CLI checkpoints (git branch)         |\n| CLI             | clap                                        |\n| Time            | jiff                                        |\n| Error handling  | anyhow                                      |\n| Serialization   | serde + serde_json                          |\n\n## Prerequisites\n\n- [Entire CLI](https://github.com/entireio/cli) installed and configured\n- Rust 1.93.1+ (managed via [mise](https://mise.jdx.dev/))\n- For AI summaries: `claude` CLI installed and authenticated\n\n## Install\n\n```bash\ncargo build --release\n```\n\nThe binary is produced at `target/release/mementor`.\n\n## Quick Start\n\n1. **Ensure Entire CLI is set up** in your project (see\n   [entire docs](https://entire.io/docs)).\n\n2. **Launch the TUI**:\n\n   ```bash\n   mementor\n   ```\n\n3. **Browse your history**: Use `j`/`k` to navigate checkpoints, `Enter` to\n   view details, `t` for full transcript, `d` for diffs, `/` to search.\n\n4. **Install the plugin** for AI-powered search:\n\n   The plugin provides `/recall` and `/explain-session` skills plus a\n   `knowledge-miner` agent that can autonomously investigate session history.\n\n## Architecture\n\n### Data Flow\n\n```\nentire/checkpoints/v1 (git branch)\n  └─ metadata.json + full.jsonl per checkpoint\n      │\n      ├─ mementor-lib (async data layer)\n      │   ├─ git/ — shell out to git for branch/tree/log/diff ops\n      │   ├─ entire/ — checkpoint loading, transcript parsing, CLI wrapper\n      │   └─ cache — in-memory LRU cache for transcripts + diffs\n      │\n      ├─ mementor-tui (terminal UI)\n      │   ├─ app.rs — tokio event loop + state machine\n      │   └─ views/ — dashboard, detail, transcript, diff, git log, search\n      │\n      └─ CLI subcommands — JSON output for plugin/scripting\n```\n\n### Crate Structure\n\n```\ncrates/\n  mementor-lib/    Data access: git ops, checkpoint loading, transcript\n                   parsing, entire CLI wrapper, in-memory cache\n  mementor-tui/    TUI: ratatui views, event loop, widgets\n  mementor-main/   Thin binary entry point\n```\n\n## Development\n\n### Setup\n\n```bash\nmise install\ncargo build\n```\n\n### Testing\n\n```bash\nmise run test              # all tests (unit + integration)\nmise run test:unit         # unit tests only\n```\n\n### Linting\n\n```bash\ncargo clippy -- -D warnings\n```\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## Acknowledgments\n\nBuilt on top of [Entire CLI](https://github.com/entireio/cli), which captures\nfull AI agent session data on every git commit. Mementor provides the terminal\ninterface and AI-powered search layer that entire doesn't have — cross-\ntranscript search, keyboard-driven navigation, AI summaries, and active session\ncontext recovery.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffenv-org%2Fmementor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffenv-org%2Fmementor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffenv-org%2Fmementor/lists"}