UNPKG

mongodb-memory-bank-mcp

Version:

FIXED: MongoDB Memory Bank MCP with bulletproof error handling, smart operations, and session state management. Eliminates [object Object] errors and user confusion.

910 lines (800 loc) 31.2 kB
/** * Core Memory Templates * Based on alioshr/memory-bank-mcp patterns with MongoDB enhancements * Designed for perfect harmony with existing universal detection system */ export const CORE_MEMORY_TEMPLATES = { 'project-brief': { type: 'project-brief', version: '1.0.0', name: 'Project Brief', description: 'Core project requirements, goals, and high-level context', schema: { sections: [ { name: 'Project Overview', description: 'High-level project description and purpose', required: true, format: 'markdown', placeholder: '## Project Overview\n\nDescribe the project purpose, goals, and key objectives...' }, { name: 'Key Requirements', description: 'Essential functional and non-functional requirements', required: true, format: 'markdown', placeholder: '## Key Requirements\n\n### Functional Requirements\n- \n\n### Non-Functional Requirements\n- ' }, { name: 'Success Criteria', description: 'Measurable success indicators', required: true, format: 'markdown', placeholder: '## Success Criteria\n\n1. \n2. \n3. ' }, { name: 'Constraints', description: 'Technical, business, or resource constraints', required: false, format: 'markdown', placeholder: '## Constraints\n\n### Technical Constraints\n- \n\n### Business Constraints\n- ' } ], requiredFields: ['Project Overview', 'Key Requirements', 'Success Criteria'], optionalFields: ['Constraints'] }, defaultContent: `# Project Brief ## Project Overview [Describe the project purpose, goals, and key objectives] ## Key Requirements ### Functional Requirements - [List essential features and capabilities] ### Non-Functional Requirements - [Performance, security, scalability requirements] ## Success Criteria 1. [Measurable success indicator 1] 2. [Measurable success indicator 2] 3. [Measurable success indicator 3] ## Constraints ### Technical Constraints - [Technology limitations or requirements] ### Business Constraints - [Budget, timeline, or resource limitations] --- *Generated by MongoDB Memory Bank MCP - Project Brief Template v1.0.0*`, validationRules: [ { field: 'Project Overview', rule: 'required', message: 'Project Overview section is required' }, { field: 'Key Requirements', rule: 'required', message: 'Key Requirements section is required' }, { field: 'Success Criteria', rule: 'required', message: 'Success Criteria section is required' } ], relationships: { requiredDependencies: [], optionalDependencies: [], influences: ['system-patterns', 'tech-context', 'active-context'] } }, 'system-patterns': { type: 'system-patterns', version: '1.0.0', name: 'System Patterns', description: 'Architecture patterns, design decisions, and system structure', schema: { sections: [ { name: 'Architecture Overview', description: 'High-level system architecture and design patterns', required: true, format: 'markdown', placeholder: '## Architecture Overview\n\nDescribe the overall system architecture...' }, { name: 'Design Patterns', description: 'Key design patterns and architectural decisions', required: true, format: 'markdown', placeholder: '## Design Patterns\n\n### Core Patterns\n- \n\n### Architectural Decisions\n- ' }, { name: 'Data Flow', description: 'How data flows through the system', required: false, format: 'markdown', placeholder: '## Data Flow\n\n[Describe data flow patterns and transformations]' }, { name: 'Integration Patterns', description: 'External system integration approaches', required: false, format: 'markdown', placeholder: '## Integration Patterns\n\n[Describe API patterns, messaging, etc.]' } ], requiredFields: ['Architecture Overview', 'Design Patterns'], optionalFields: ['Data Flow', 'Integration Patterns'] }, defaultContent: `# System Patterns ## Architecture Overview [Describe the overall system architecture, key components, and their relationships] ## Design Patterns ### Core Patterns - [List key design patterns used in the system] ### Architectural Decisions - [Document important architectural decisions and rationale] ## Data Flow [Describe how data flows through the system, transformations, and processing patterns] ## Integration Patterns [Describe patterns for external system integration, APIs, messaging, etc.] --- *Generated by MongoDB Memory Bank MCP - System Patterns Template v1.0.0*`, validationRules: [ { field: 'Architecture Overview', rule: 'required', message: 'Architecture Overview section is required' }, { field: 'Design Patterns', rule: 'required', message: 'Design Patterns section is required' } ], relationships: { requiredDependencies: ['project-brief'], optionalDependencies: ['tech-context'], influences: ['code-patterns', 'implementation-rules'] } }, 'tech-context': { type: 'tech-context', version: '1.0.0', name: 'Tech Context', description: 'Technology stack, tools, setup instructions, and environment details', schema: { sections: [ { name: 'Technology Stack', description: 'Core technologies, frameworks, and libraries', required: true, format: 'markdown', placeholder: '## Technology Stack\n\n### Backend\n- \n\n### Frontend\n- \n\n### Database\n- ' }, { name: 'Development Environment', description: 'Setup instructions and development tools', required: true, format: 'markdown', placeholder: '## Development Environment\n\n### Prerequisites\n- \n\n### Setup Steps\n1. ' }, { name: 'Dependencies', description: 'Key dependencies and version requirements', required: false, format: 'markdown', placeholder: '## Dependencies\n\n### Core Dependencies\n- \n\n### Dev Dependencies\n- ' }, { name: 'Configuration', description: 'Environment variables and configuration details', required: false, format: 'markdown', placeholder: '## Configuration\n\n### Environment Variables\n- \n\n### Config Files\n- ' } ], requiredFields: ['Technology Stack', 'Development Environment'], optionalFields: ['Dependencies', 'Configuration'] }, defaultContent: `# Tech Context ## Technology Stack ### Backend - [List backend technologies, frameworks, runtime] ### Frontend - [List frontend technologies, frameworks, build tools] ### Database - [Database technology, ORM/ODM, migration tools] ### Infrastructure - [Deployment, hosting, CI/CD tools] ## Development Environment ### Prerequisites - [Required software, versions, system requirements] ### Setup Steps 1. [Step-by-step setup instructions] 2. [Include installation commands] 3. [Configuration steps] ## Dependencies ### Core Dependencies - [List major dependencies with versions] ### Dev Dependencies - [Development and testing dependencies] ## Configuration ### Environment Variables - [Required environment variables and their purpose] ### Config Files - [Important configuration files and their purpose] --- *Generated by MongoDB Memory Bank MCP - Tech Context Template v1.0.0*`, validationRules: [ { field: 'Technology Stack', rule: 'required', message: 'Technology Stack section is required' }, { field: 'Development Environment', rule: 'required', message: 'Development Environment section is required' } ], relationships: { requiredDependencies: ['project-brief'], optionalDependencies: ['system-patterns'], influences: ['code-patterns', 'error-solutions'] } }, 'active-context': { type: 'active-context', version: '1.0.0', name: 'Active Context', description: 'Current focus, active decisions, and immediate work context', schema: { sections: [ { name: 'Current Focus', description: 'What is currently being worked on', required: true, format: 'markdown', placeholder: '## Current Focus\n\n[Describe current work focus and priorities]' }, { name: 'Active Decisions', description: 'Recent decisions and their rationale', required: true, format: 'markdown', placeholder: '## Active Decisions\n\n### Recent Decisions\n- \n\n### Pending Decisions\n- ' }, { name: 'Immediate Tasks', description: 'Current tasks and next steps', required: false, format: 'markdown', placeholder: '## Immediate Tasks\n\n### In Progress\n- \n\n### Next Steps\n- ' }, { name: 'Context Notes', description: 'Important context for current work', required: false, format: 'markdown', placeholder: '## Context Notes\n\n[Important context, assumptions, or considerations]' } ], requiredFields: ['Current Focus', 'Active Decisions'], optionalFields: ['Immediate Tasks', 'Context Notes'] }, defaultContent: `# Active Context ## Current Focus [Describe what is currently being worked on, main priorities, and focus areas] ## Active Decisions ### Recent Decisions - [List recent important decisions with rationale] ### Pending Decisions - [Decisions that need to be made soon] ## Immediate Tasks ### In Progress - [Tasks currently being worked on] ### Next Steps - [Immediate next actions and priorities] ## Context Notes [Important context, assumptions, constraints, or considerations for current work] --- *Generated by MongoDB Memory Bank MCP - Active Context Template v1.0.0* *Last Updated: ${new Date().toISOString().split('T')[0]}*`, validationRules: [ { field: 'Current Focus', rule: 'required', message: 'Current Focus section is required' }, { field: 'Active Decisions', rule: 'required', message: 'Active Decisions section is required' } ], relationships: { requiredDependencies: ['project-brief'], optionalDependencies: ['system-patterns', 'tech-context'], influences: ['progress-tracking', 'implementation-rules'] } }, 'progress-tracking': { type: 'progress-tracking', version: '1.0.0', name: 'Progress Tracking', description: 'Project status, milestones, roadmap, and progress metrics', schema: { sections: [ { name: 'Current Status', description: 'Overall project status and health', required: true, format: 'markdown', placeholder: '## Current Status\n\n**Status**: [In Progress/On Track/At Risk/Complete]\n**Progress**: [X]% complete' }, { name: 'Completed Milestones', description: 'Achieved milestones and deliverables', required: true, format: 'markdown', placeholder: '## Completed Milestones\n\n- ✅ [Milestone 1] - [Date]\n- ✅ [Milestone 2] - [Date]' }, { name: 'Upcoming Milestones', description: 'Planned milestones and target dates', required: false, format: 'markdown', placeholder: '## Upcoming Milestones\n\n- 🎯 [Milestone] - [Target Date]\n- 🎯 [Milestone] - [Target Date]' }, { name: 'Roadmap', description: 'High-level roadmap and timeline', required: false, format: 'markdown', placeholder: '## Roadmap\n\n### Phase 1: [Name]\n- [Timeline]\n- [Key deliverables]' } ], requiredFields: ['Current Status', 'Completed Milestones'], optionalFields: ['Upcoming Milestones', 'Roadmap'] }, defaultContent: `# Progress Tracking ## Current Status **Status**: [In Progress/On Track/At Risk/Complete] **Progress**: [X]% complete **Last Updated**: ${new Date().toISOString().split('T')[0]} [Brief description of current project health and status] ## Completed Milestones - [Milestone 1] - [Date] - [Brief description] - [Milestone 2] - [Date] - [Brief description] ## Upcoming Milestones - 🎯 [Next Milestone] - [Target Date] - [Description] - 🎯 [Future Milestone] - [Target Date] - [Description] ## Roadmap ### Phase 1: [Phase Name] - **Timeline**: [Start Date] - [End Date] - **Key Deliverables**: [List main deliverables] - **Status**: [Not Started/In Progress/Complete] ### Phase 2: [Phase Name] - **Timeline**: [Start Date] - [End Date] - **Key Deliverables**: [List main deliverables] - **Status**: [Not Started/In Progress/Complete] ## Metrics - **Features Completed**: [X] / [Total] - **Tests Passing**: [X]% - **Code Coverage**: [X]% - **Performance**: [Meeting/Not Meeting] targets --- *Generated by MongoDB Memory Bank MCP - Progress Tracking Template v1.0.0*`, validationRules: [ { field: 'Current Status', rule: 'required', message: 'Current Status section is required' }, { field: 'Completed Milestones', rule: 'required', message: 'Completed Milestones section is required' } ], relationships: { requiredDependencies: ['active-context'], optionalDependencies: ['project-brief'], influences: [] } }, 'code-patterns': { type: 'code-patterns', version: '1.0.0', name: 'Code Patterns', description: 'Code structure, conventions, patterns, and best practices', schema: { sections: [ { name: 'Code Structure', description: 'Project structure and organization patterns', required: true, format: 'markdown', placeholder: '## Code Structure\n\n### Directory Structure\n```\n/src\n /components\n /services\n```' }, { name: 'Coding Conventions', description: 'Naming conventions, style guidelines, and standards', required: true, format: 'markdown', placeholder: '## Coding Conventions\n\n### Naming Conventions\n- \n\n### Style Guidelines\n- ' }, { name: 'Common Patterns', description: 'Frequently used code patterns and implementations', required: false, format: 'markdown', placeholder: '## Common Patterns\n\n### Design Patterns\n- \n\n### Implementation Patterns\n- ' }, { name: 'Best Practices', description: 'Established best practices and guidelines', required: false, format: 'markdown', placeholder: '## Best Practices\n\n### Code Quality\n- \n\n### Performance\n- ' } ], requiredFields: ['Code Structure', 'Coding Conventions'], optionalFields: ['Common Patterns', 'Best Practices'] }, defaultContent: `# Code Patterns ## Code Structure ### Directory Structure \`\`\` [Describe the project directory structure and organization] \`\`\` ### Module Organization - [Describe how modules/components are organized] - [Explain the separation of concerns] ## Coding Conventions ### Naming Conventions - **Files**: [File naming patterns] - **Functions**: [Function naming patterns] - **Variables**: [Variable naming patterns] - **Classes**: [Class naming patterns] ### Style Guidelines - [Code formatting standards] - [Comment conventions] - [Import/export patterns] ## Common Patterns ### Design Patterns - [List commonly used design patterns with examples] ### Implementation Patterns - [Common implementation approaches and patterns] ### Error Handling - [Standard error handling patterns] ## Best Practices ### Code Quality - [Code quality guidelines and standards] - [Testing requirements] - [Documentation standards] ### Performance - [Performance optimization guidelines] - [Resource management patterns] ### Security - [Security best practices and patterns] --- *Generated by MongoDB Memory Bank MCP - Code Patterns Template v1.0.0*`, validationRules: [ { field: 'Code Structure', rule: 'required', message: 'Code Structure section is required' }, { field: 'Coding Conventions', rule: 'required', message: 'Coding Conventions section is required' } ], relationships: { requiredDependencies: ['tech-context'], optionalDependencies: ['system-patterns'], influences: ['implementation-rules', 'error-solutions'] } }, 'error-solutions': { type: 'error-solutions', version: '1.0.0', name: 'Error Solutions', description: 'Common errors, troubleshooting guides, and solution patterns', schema: { sections: [ { name: 'Common Errors', description: 'Frequently encountered errors and their solutions', required: true, format: 'markdown', placeholder: '## Common Errors\n\n### Error: [Error Name]\n**Symptoms**: \n**Cause**: \n**Solution**: ' }, { name: 'Troubleshooting Guide', description: 'Step-by-step troubleshooting procedures', required: true, format: 'markdown', placeholder: '## Troubleshooting Guide\n\n### Problem Category\n1. [Step 1]\n2. [Step 2]' }, { name: 'Error Patterns', description: 'Patterns in errors and systematic solutions', required: false, format: 'markdown', placeholder: '## Error Patterns\n\n### Pattern: [Pattern Name]\n**Description**: \n**Prevention**: ' }, { name: 'Prevention Strategies', description: 'Strategies to prevent common issues', required: false, format: 'markdown', placeholder: '## Prevention Strategies\n\n- [Strategy 1]\n- [Strategy 2]' } ], requiredFields: ['Common Errors', 'Troubleshooting Guide'], optionalFields: ['Error Patterns', 'Prevention Strategies'] }, defaultContent: `# Error Solutions ## Common Errors ### Error: [Error Name/Type] **Symptoms**: [How the error manifests] **Cause**: [Root cause of the error] **Solution**: [Step-by-step solution] **Prevention**: [How to prevent this error] ### Error: [Another Error Name/Type] **Symptoms**: [How the error manifests] **Cause**: [Root cause of the error] **Solution**: [Step-by-step solution] **Prevention**: [How to prevent this error] ## Troubleshooting Guide ### Build/Compilation Issues 1. [Check step 1] 2. [Check step 2] 3. [Resolution steps] ### Runtime Errors 1. [Diagnostic step 1] 2. [Diagnostic step 2] 3. [Resolution approach] ### Performance Issues 1. [Performance diagnostic steps] 2. [Common causes to check] 3. [Optimization approaches] ## Error Patterns ### Pattern: [Pattern Name] **Description**: [Description of the error pattern] **Common Causes**: [What typically causes this pattern] **Prevention**: [How to prevent this pattern] ## Prevention Strategies - [Strategy 1: Description and implementation] - [Strategy 2: Description and implementation] - [Strategy 3: Description and implementation] ## Debugging Tools ### Recommended Tools - [Tool 1]: [Purpose and usage] - [Tool 2]: [Purpose and usage] ### Debugging Techniques - [Technique 1]: [When and how to use] - [Technique 2]: [When and how to use] --- *Generated by MongoDB Memory Bank MCP - Error Solutions Template v1.0.0*`, validationRules: [ { field: 'Common Errors', rule: 'required', message: 'Common Errors section is required' }, { field: 'Troubleshooting Guide', rule: 'required', message: 'Troubleshooting Guide section is required' } ], relationships: { requiredDependencies: ['tech-context'], optionalDependencies: ['code-patterns'], influences: ['implementation-rules'] } }, 'implementation-rules': { type: 'implementation-rules', version: '1.0.0', name: 'Implementation Rules', description: 'AI behavior patterns, implementation guidelines, and decision rules (.clinerules equivalent)', schema: { sections: [ { name: 'AI Behavior Rules', description: 'Rules for AI assistant behavior and decision making', required: true, format: 'markdown', placeholder: '## AI Behavior Rules\n\n### Code Generation\n- \n\n### Decision Making\n- ' }, { name: 'Implementation Guidelines', description: 'Guidelines for implementing features and changes', required: true, format: 'markdown', placeholder: '## Implementation Guidelines\n\n### Feature Development\n- \n\n### Code Changes\n- ' }, { name: 'Decision Patterns', description: 'Patterns for making technical decisions', required: false, format: 'markdown', placeholder: '## Decision Patterns\n\n### Technology Choices\n- \n\n### Architecture Decisions\n- ' }, { name: 'Workflow Rules', description: 'Rules for development workflow and processes', required: false, format: 'markdown', placeholder: '## Workflow Rules\n\n### Development Process\n- \n\n### Testing Requirements\n- ' } ], requiredFields: ['AI Behavior Rules', 'Implementation Guidelines'], optionalFields: ['Decision Patterns', 'Workflow Rules'] }, defaultContent: `# Implementation Rules ## AI Behavior Rules ### Code Generation - Always follow established code patterns and conventions - Prioritize readability and maintainability over cleverness - Include comprehensive error handling and validation - Generate tests alongside implementation code - Document complex logic and decisions ### Decision Making - Prefer established patterns over novel approaches - Consider performance implications of all decisions - Validate assumptions with existing codebase patterns - Seek clarification for ambiguous requirements - Document rationale for significant decisions ### Memory Bank Usage - Always read relevant memories before making changes - Update memories when patterns or decisions change - Maintain consistency with established project context - Reference related memories in implementation ## Implementation Guidelines ### Feature Development - Start with clear requirements and acceptance criteria - Design interfaces before implementation - Implement with backward compatibility in mind - Include comprehensive testing strategy - Document public APIs and complex logic ### Code Changes - Maintain existing code style and patterns - Preserve backward compatibility unless explicitly breaking - Update related documentation and tests - Consider impact on dependent components - Follow established review and approval processes ### Error Handling - Use consistent error handling patterns - Provide meaningful error messages - Log appropriate level of detail for debugging - Handle edge cases gracefully - Implement proper fallback mechanisms ## Decision Patterns ### Technology Choices - Prefer technologies already in use in the project - Evaluate new technologies against established criteria - Consider long-term maintenance and support - Assess team expertise and learning curve - Document technology decisions and rationale ### Architecture Decisions - Follow established architectural patterns - Consider scalability and performance implications - Maintain separation of concerns - Design for testability and maintainability - Document architectural decisions and trade-offs ## Workflow Rules ### Development Process - Follow established branching and merging strategies - Ensure all tests pass before merging - Conduct code reviews for all changes - Update documentation with code changes - Maintain clean commit history ### Testing Requirements - Write unit tests for all new functionality - Maintain or improve test coverage - Include integration tests for complex features - Test error conditions and edge cases - Update tests when changing existing functionality ### Quality Standards - Code must pass all linting and formatting checks - Performance must meet established benchmarks - Security considerations must be addressed - Accessibility requirements must be met - Documentation must be complete and accurate --- *Generated by MongoDB Memory Bank MCP - Implementation Rules Template v1.0.0* *This serves as the .clinerules equivalent for AI behavior patterns*`, validationRules: [ { field: 'AI Behavior Rules', rule: 'required', message: 'AI Behavior Rules section is required' }, { field: 'Implementation Guidelines', rule: 'required', message: 'Implementation Guidelines section is required' } ], relationships: { requiredDependencies: ['code-patterns'], optionalDependencies: ['system-patterns', 'error-solutions'], influences: [] } }, 'custom': { type: 'custom', version: '1.0.0', name: 'Custom Template', description: 'User-defined custom memory template', schema: { sections: [ { name: 'Content', description: 'Custom content section', required: true, format: 'markdown', placeholder: '## Custom Content\n\n[Add your custom content here]' } ], requiredFields: ['Content'], optionalFields: [] }, defaultContent: `# Custom Memory ## Content [Add your custom content here] --- *Generated by MongoDB Memory Bank MCP - Custom Template v1.0.0*`, validationRules: [ { field: 'Content', rule: 'required', message: 'Content section is required' } ], relationships: { requiredDependencies: [], optionalDependencies: [], influences: [] } } }; /** * Template hierarchy levels for relationship management */ export const TEMPLATE_HIERARCHY = { 'project-brief': 0, // Foundation level 'system-patterns': 0, // Foundation level 'tech-context': 0, // Foundation level 'active-context': 1, // Active level 'code-patterns': 1, // Active level 'error-solutions': 1, // Active level 'implementation-rules': 1, // Active level 'progress-tracking': 2, // Tracking level 'custom': 1 // Active level (default) }; /** * Get template by type */ export function getTemplate(type) { return CORE_MEMORY_TEMPLATES[type]; } /** * Get all available template types */ export function getAvailableTemplateTypes() { return Object.keys(CORE_MEMORY_TEMPLATES); } /** * Get templates by hierarchy level */ export function getTemplatesByLevel(level) { return Object.entries(TEMPLATE_HIERARCHY) .filter(([_, templateLevel]) => templateLevel === level) .map(([type, _]) => type); }