Native Copilot memory manager for VS Code and Cursor
Manage GitHub Copilot memories, team-shared Git context, and project markdown from a single sidebar — without leaving your editor.
Install
Recommended — Visual Studio Marketplace
-
Open Extensions in VS Code or Cursor (
Ctrl+Shift+X/Cmd+Shift+X). -
Search for Nemo Memory or run Quick Open (
Ctrl+P/Cmd+P) and paste:ext install hitoZero.nemo-memory-manager -
Reload the window when prompted.
View on Visual Studio Marketplace →
Alternative — VSIX
Download the latest .vsix from Releases or build locally with npm run package, then use Extensions: Install from VSIX….
Overview
Nemo Memory unifies four memory zones in one tree view:
| Zone | Copilot path | On disk | In Git | Editable |
|---|---|---|---|---|
| Project Memory | /memories/repo/ |
Copilot workspace storage | No | Yes |
| Global Memory | /memories/ |
Copilot global storage | No | Yes |
| Shared (Git) | — | {workspace}/.nemo/ + .nemo.json |
Yes | Yes |
| External | — | Project markdown in place | Yes (sources) | Read-only |
Nemo reads and writes Copilot's native storage paths directly. Copilot Chat continues to use those files through its memory tool.
Highlights
- Inject into Chat — attach memory files or folders to Copilot Chat with native attach when available
- Reveal in File Explorer — jump to any memory file, folder, or zone root on disk (share, upload, or commit)
- Import to memory — scan AI instruction files and project markdown into managed memory
- Cross-scope drag-and-drop — move memories between Project, Global, and Shared (Git)
- Color and icon — style overlays for every zone without changing Copilot files on disk
- Multi-root workspaces — pick which workspace folder receives Shared (Git) writes
When to use each zone
| Goal | Use |
|---|---|
| Context for this project only | Project Memory |
| Preferences across all projects | Global Memory |
| Team canon committed to Git | Shared (Git) → commit .nemo/ |
| Browse markdown and attach without importing | External |
| Consolidate scattered docs into memory | Import to memory |
Project and Global memories stay local (not in Git). Shared (Git) and External source files live in the repository.
Quick start
- Install GitHub Copilot Chat (required for Project/Global memory paths).
- Open a workspace and open the Nemo panel in the activity bar.
- Create memories under Project Memory — Copilot sees them as
/memories/repo/.... - Use External to browse or inject
AGENTS.md, Cursor rules, and other project markdown in place. - Use Copy to Shared (Git) when team context should live in the repo.
- Use Copy to Project memory to pull
.nemo/content into your local agent context. - Right-click any item → Reveal in File Explorer to open its folder on disk.
Commands
| Command | Description |
|---|---|
| New memory / folder | Create under Project, Global, or Shared (Git) |
| Edit memory | Open the file in the editor |
| Inject into Chat | Attach a memory file in Copilot Chat |
| Inject folder into Chat | Attach all files in a folder |
| Reveal in File Explorer | Show the file, folder, or zone root in the system file explorer |
| Copy to Project memory | Copy Shared (Git) → /memories/repo/ |
| Copy to Shared (Git) | Copy Project or Global memory → .nemo/ |
| Import to memory | Scan and import scattered markdown |
| Color and icon | Customize tree appearance (style overlays) |
| Open shared folder | Quick access to the Shared (Git) root from the toolbar |
| Refresh | Reload the memory tree |
Copilot injection
| Step | Behavior |
|---|---|
| 1 | Open Copilot Chat (workbench.action.chat.open) |
| 2 | Attach via github.copilot.chat.attachFile |
| 3 | Fallback: workbench.action.chat.attachFile |
| 4 | Workspace folders — workbench.action.chat.attachFolder |
| 5 | Content fallback — insert memory text when attach fails |
| 6 | Last resort — copy content to clipboard |
Customization
Right-click any folder or file → Color and icon:
| Feature | Project Memory | Global Memory | Shared (Git) | External |
|---|---|---|---|---|
| Folder color & icon | .nemo-project-styles.json |
.nemo-global-styles.json |
.nemo.json → folders |
.nemo.json → external.folders |
| Folder display name | folders.*.label |
folders.*.label |
folders.*.label |
external.folders.*.label |
| File color & icon | files |
files |
files |
external.files |
| Drag-and-drop reorder | Within scope | Within scope | Yes | No |
| Cross-scope drag | ↔ Global, ↔ Shared | ↔ Project, ↔ Shared | ↔ Project/Global | No |
Pick No color or Default icon to reset. Styles are overlays only — Copilot memory files on disk are unchanged.
Roadmap
- Pinned favorites in External
- Manual sort order for External tree
- More icon and color choices
- Hide sections via settings
Compatibility
| Feature | VS Code + Copilot Chat | Cursor + Copilot Chat | Cursor without Copilot |
|---|---|---|---|
| Shared (Git) | Yes | Yes | Yes |
| External + import | Yes | Yes | Yes |
| Project / Global memory | Yes | Yes* | Limited |
| Inject into Chat | Yes | Yes* | Clipboard fallback |
* Requires GitHub Copilot Chat extension for native memory paths and attach commands.
Configuration
| Setting | Default | Description |
|---|---|---|
nemo.sharedPath |
.nemo |
Workspace-relative folder for Shared (Git) memories |
Languages
Nemo Memory is localized in English and Spanish (UI, commands, and notifications).
Development
git clone https://github.com/BlaackZero/MemoryManager.git
cd MemoryManager
npm install
npm run compile
npm run lint
npm test
npm run package
Press F5 in VS Code to launch the Extension Development Host.