AI Project Memory is a production-grade VS Code extension designed to help developers instantly recall project context and codebase details when returning to a repository after days, weeks, or months.
🌟 Features
- 🧠 Memory Snapshots: Traverses and maps the local workspace structure to create a structured and indexed snapshot of the project.
- 🕒 Chronological Timeline: Groups Git commits, session tracking history, and modified files into intuitive time buckets (today, this week, last month) within a sidebar view.
- 🗺️ Architecture Visualization: Renders interactive Mermaid.js dependency graphs and folder subgraphs directly inside VS Code to help you visualize system design.
- 💬 AI Project Chat: Converse with an AI that knows your workspace. Ask questions like:
- "What does this project do?"
- "Where is the payment integration?"
- "What was I working on yesterday?"
- 📁 Git Intelligence: Summarizes branch statuses, uncommitted changes/diffs, and commit histories.
- 🔒 Secure API Key Storage: Integrates with VS Code's native SecretStorage to encrypt and store LLM credentials securely.
- ⚡ Parallel Processing & Low Overhead: Scans directories recursively using concurrency limits and ignores binary files and common built folders (e.g.
node_modules,dist,.next).
🚀 Getting Started
- Install the Extension from the marketplace.
- Configure Your API Key Securely:
- Run the command
AI Project Memory: Set API Key Securelyvia the Command Palette (Ctrl+Shift+P/Cmd+Shift+P). - Select your provider (e.g., OpenAI) and input your API key. This stores the key securely using VS Code's encrypted SecretStorage container instead of cleartext settings files.
- Run the command
- Select Your Model: Open Settings (
Ctrl+,) and configure the model (e.g.,gpt-4o-mini). - Generate Memory: Click the Brain icon on the editor title bar, or run
AI Project Memory: Generate Memoryfrom the Command Palette.
⚙️ Extension Settings
This extension contributes the following settings:
| Setting | Type | Default | Description |
|---|---|---|---|
aiProjectMemory.ai.provider |
string |
"openai" |
AI provider to use. Choices: openai, anthropic, ollama, openrouter, nvidia, or disabled. |
aiProjectMemory.ai.apiKey |
string |
"" |
Cleartext API Key fallback. (It is highly recommended to use the Set API Key Securely command instead). |
aiProjectMemory.ai.model |
string |
"gpt-4o-mini" |
Model name for summaries (e.g., gpt-4o-mini, claude-3-5-sonnet-20240620). |
aiProjectMemory.ai.maxTokens |
number |
2048 |
Maximum tokens for AI response generation. |
aiProjectMemory.git.enabled |
boolean |
true |
Include Git history and recent commits in memory snapshots. |
aiProjectMemory.git.commitLimit |
number |
20 |
Number of recent Git commits to analyze. |
aiProjectMemory.scanner.excludePatterns |
array |
(Common patterns) | Glob patterns to ignore when scanning directories. |
aiProjectMemory.scanner.maxFileSizeKB |
number |
512 |
Maximum file size in KB to parse. |
aiProjectMemory.storage.snapshotRetentionDays |
number |
30 |
Retention window for cleanup of older snapshots. |
aiProjectMemory.ui.showOnStartup |
boolean |
false |
Automatically show the memory view when opening a workspace. |
aiProjectMemory.ui.notificationLevel |
string |
"info" |
VS Code notification verbosity level: silent, info, warning, error. |
aiProjectMemory.logging.level |
string |
"info" |
Logging level written to Output channel: debug, info, warn, error, silent. |
⌨️ Command Registry
You can run the following commands from the Command Palette:
AI Project Memory: Generate Memory: Scans the project, invokes the AI summary engine, and updates the sidebar layout.AI Project Memory: Show Memory: Opens the sidebar snapshot view showing the active timeline and scanned files.AI Project Memory: Set API Key Securely: Stores an API key securely in VS Code's encrypted SecretStorage.AI Project Memory: Show Architecture Visualization: Generates and renders the interactive Mermaid.js diagram.AI Project Memory: Open Settings: Launches settings specifically filtered to the AI Project Memory category.AI Project Memory: Clear Memory: Permanently deletes all generated snapshots and deletes.project-memory/memory.jsonfrom the disk.
🛠️ Development
- Clone the repository.
- Run
npm installto load dependencies. - Start the compiler in watch mode:
npm run watch. - Press
F5in VS Code to run the extension in an Extension Development Host environment.
📄 License
This extension is licensed under the MIT License.