35 lines
1.8 KiB
Markdown
35 lines
1.8 KiB
Markdown
# System Patterns *Optional*
|
|
|
|
This file documents recurring patterns and standards used in the project.
|
|
It is optional, but recommended to be updated as the project evolves.
|
|
2025-01-11 22:47:00 - Log of updates made.
|
|
|
|
*
|
|
|
|
## Coding Patterns
|
|
|
|
- **MCP Tool Structure**: Individual tools in `tools/` directory inherit from BaseTool
|
|
- **Configuration Management**: Centralized config.py with environment variable handling
|
|
- **Utility Organization**: Shared utilities in `utils/` for file operations, git, tokens
|
|
- **Testing Strategy**: Comprehensive test suite with both unit tests and live integration tests
|
|
- **Dependency Management**: Poetry with pyproject.toml as single source of truth
|
|
- **Code Quality**: Black for formatting, Ruff for linting, pre-commit hooks integration
|
|
|
|
## Architectural Patterns
|
|
|
|
- **Docker Compose Orchestration**: Multi-service setup with Redis for conversation memory
|
|
- **Memory Management**: Dual approach - file-based Memory Bank + Memory MCP entities
|
|
- **Documentation-Driven Development**: All code changes require corresponding documentation
|
|
- **Collaboration Framework**: Structured Claude-Gemini interaction patterns with tool selection matrix
|
|
- **CI/CD Pipeline**: GitHub Actions with automated Docker build and GHCR publishing
|
|
- **Branching Strategy**: Simplified GitFlow - feature/* → main via Pull Requests
|
|
|
|
## Testing Patterns
|
|
|
|
- **Separation of Concerns**: Unit tests (no API key) vs live integration tests (API key required)
|
|
- **Mocking Strategy**: Mock external API calls in unit tests to avoid rate limits
|
|
- **Quality Gates**: Pre-commit validation with multiple tools (codereview, precommit, etc.)
|
|
- **Environment Isolation**: Docker-based testing to ensure consistent environments
|
|
|
|
---
|
|
2025-01-11 22:47:00 - Initial creation with observed patterns from codebase analysis |