Contributing to claude-code-vector-memory
July 21, 2025 ยท View on GitHub
Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Getting Started
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/yourusername/claude-code-vector-memory.git cd claude-code-vector-memory - Set up the development environment:
./setup.sh # On Linux/macOS setup.bat # On Windows
Development Workflow
Making Changes
-
Create a feature branch:
git checkout -b feature/your-feature-name -
Make your changes following the coding standards below
-
Test your changes:
./scripts/run_tests.sh python scripts/health_check.py -
Commit with clear messages:
git commit -m "Add semantic search performance optimization"
Coding Standards
- Python Style: Follow PEP 8 guidelines
- Docstrings: Use Google-style docstrings for functions and classes
- Type Hints: Include type hints for function parameters and returns
- Error Handling: Use appropriate exception handling with informative messages
Testing
- Unit Tests: Add tests for new functionality in the
tests/directory - Integration Tests: Ensure changes work with the full system
- Health Checks: Verify system diagnostics still pass
Example test structure:
def test_new_feature():
"""Test description of what this validates."""
# Test implementation
assert expected_result == actual_result
Documentation
- Update README.md if adding new features or changing usage
- Add docstrings to new functions and classes
- Update CHANGELOG.md with your changes
Areas for Contribution
High Priority
- Performance optimizations for large summary collections
- Additional embedding models support
- Search result filtering by date, project, or technology
- Export/import functionality for databases
Medium Priority
- Search result ranking improvements
- Metadata extraction enhancements
- Error handling improvements
- Documentation and examples
Low Priority
- UI improvements for terminal output
- Additional file formats support beyond markdown
- Search history and saved queries
Submitting Changes
-
Push your branch to your fork:
git push origin feature/your-feature-name -
Create a Pull Request on GitHub with:
- Clear title describing the change
- Detailed description of what was changed and why
- Reference to any related issues
-
Ensure CI passes (when GitHub Actions are added)
-
Respond to feedback during code review
Bug Reports
When reporting bugs, please include:
- Environment details: OS, Python version, Claude Code version
- Steps to reproduce the issue
- Expected vs actual behavior
- Error messages or logs
- Health check output if relevant
Feature Requests
For feature requests, please:
- Describe the use case and problem being solved
- Propose a solution or approach
- Consider backwards compatibility
- Discuss performance implications
Code Review Process
All changes require review before merging:
- Functionality: Does it work as intended?
- Code Quality: Is it readable and maintainable?
- Testing: Are there appropriate tests?
- Documentation: Is documentation updated?
- Performance: Does it maintain or improve performance?
Questions?
Feel free to open an issue for questions about:
- Contributing process
- Technical implementation details
- Feature discussions
- Development environment setup
Thank you for contributing to making Claude Code more powerful with persistent memory!