Give Copilot a memory! MemoriPilot provides seamless, persistent context management that makes GitHub Copilot aware of your project decisions, progress, and architectural patterns - dramatically improving the relevance and quality of AI assistance.
- Overview
- Features
- Tools
- Installation
- Usage
- Working Modes
- Memory Files
- Release Notes
- Documentation
- Contributing
Problem: GitHub Copilot loses context between sessions and has limited awareness of your project's big picture.
Solution: MemoriPilot creates and maintains a structured knowledge base about your project that:
- Persists across all coding sessions
- Captures important decisions and their rationale
- Tracks project progress and priorities
- Documents system architecture and patterns
- Is automatically updated as your project evolves
- Native GitHub Copilot Integration: Tools appear directly in Copilot's agent mode
- Robust Resource Management: Safe resource disposal and memory leak prevention
- Specialized Tools: Context-specific tools for granular memory updates
- Dependency Injection: Reliable core services for stability and testability
- Smart Template Versioning: Automatically updates templates with latest improvements
- Section-Specific Updates: Tools update only relevant sections of memory files
- Four Working Modes: Architect, Code, Ask, and Debug - each with specialized behaviors
- Real-time Updates: Monitors file changes and maintains cross-file consistency
MemoriPilot provides specialized tools that GitHub Copilot can use automatically:
| Tool | Description | Use When |
|---|---|---|
memory_bank_update_context |
Set your current working focus | Switching tasks or areas of focus |
memory_bank_log_decision |
Record important architectural decisions | Making design or technology choices |
memory_bank_update_progress |
Track done/doing/next items | Completing tasks or planning work |
memory_bank_show_memory |
Display memory bank file contents | Referencing project knowledge |
memory_bank_switch_mode |
Change working mode | Switching between different activities |
memory_bank_update_product_context |
Update product details and dependencies | Changing project scope or dependencies |
memory_bank_update_system_patterns |
Document design patterns and conventions | Establishing coding standards |
memory_bank_update_project_brief |
Refine project requirements | Updating project goals or scope |
memory_bank_update_architect |
Document architecture decisions | Defining system structure |
- Install from VS Code Marketplace
- Open a workspace/project folder
- The extension automatically initializes when you start using GitHub Copilot Chat
- Memory bank files are created in a
memory-bank/directory
Talk to GitHub Copilot Chat naturally, and it will automatically suggest using MemoriPilot tools:
Examples:
- "I'm working on implementing the authentication system"
→ Copilot suggests using
memory_bank_update_context - "I decided to use PostgreSQL for the database"
→ Copilot suggests using
memory_bank_log_decision - "I finished the login page and started on the dashboard"
→ Copilot suggests using
memory_bank_update_progress - "Document our React component pattern"
→ Copilot suggests using
memory_bank_update_system_patterns
You can also reference tools directly in your prompts:
memory_bank_update_contextcontext:"Implementing user authentication flow"memory_bank_log_decisiondecision:"Use React Query" rationale:"Better caching and state management"memory_bank_update_progressdone:["Login page"] doing:["Dashboard"] next:["Admin panel"]memory_bank_update_system_patternspattern:"Repository Pattern" description:"Data access abstraction" examples:["UserRepository"]
Each operation includes a confirmation dialog showing what will be changed before applying updates.
MemoriPilot supports four specialized working modes:
| Mode | Focus | When to Use |
|---|---|---|
| Architect | System design and decisions | Planning architecture and making design decisions |
| Code | Implementation details | Writing and testing code |
| Ask | Knowledge retrieval | Asking questions about your project |
| Debug | Issue resolution | Troubleshooting and fixing problems |
Switch modes via:
- GitHub Copilot Chat: "Switch to architect mode"
- Status bar indicator
- Command palette: "Memory Bank: Select Mode"
MemoriPilot creates and maintains these files in your project:
| File | Purpose |
|---|---|
activeContext.md |
Current goals and blockers |
productContext.md |
High-level project overview |
progress.md |
Done/doing/next tracking |
decisionLog.md |
Timestamped architecture decisions |
projectBrief.md |
High-level project requirements |
systemPatterns.md |
System design patterns and conventions |
- Added specialized update tools for each memory bank file
- Streamlined project documentation and repository structure
- Implemented DisposableStore pattern for safe resource disposal
- Enhanced error handling and logging throughout the codebase
- Fixed extension deactivation errors and resource leaks
- Dependency injection for all core services
- Section-specific file updates for better content preservation
- Enhanced TypeScript and functional programming best practices
- Template versioning system for chat mode templates
- Specialized update tools for each memory bank file
- Native GitHub Copilot integration using VS Code Language Model Tools API
- Automatic tool discovery and suggestion in Copilot Chat
- Direct tool referencing with specialized syntax
- Comprehensive test suite with 200+ test cases
For detailed information about the extension:
- See CONTRIBUTING.md for guidelines on contributing to the project
- See DEVELOPMENT.md for technical details about the extension's architecture
Contributions are welcome! Please see our Contributing Guide for details.
This project is licensed under the MIT License - see the LICENSE file for details.
Enhance your GitHub Copilot experience with persistent project memory!
