Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Be respectful, constructive, and professional. We're all here to make Claude Code better.
Before creating a bug report:
- Check existing issues to avoid duplicates
- Test with the latest version
- Verify the issue isn't caused by other hooks/plugins
Include in your bug report:
- Claude Code version (
claude --version) - Operating system
- Steps to reproduce
- Expected vs actual behavior
- Relevant logs (use
claude --debug) - Contents of handoff file (if applicable)
Enhancement suggestions are welcome. Please:
- Check if it's already been suggested
- Explain the use case clearly
- Describe the expected behavior
- Consider backward compatibility
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes:
- Follow existing code style
- Add comments for complex logic
- Update documentation if needed
- Test thoroughly:
- Run
./test.sh - Test installation/uninstallation
- Test with real Claude Code sessions
- Run
- Commit with clear messages:
feat: add configurable retention policy fix: handle empty transcript files docs: update troubleshooting guide - Push and create PR
git clone https://github.com/YOUR_USERNAME/claude-code-context-handoff.git
cd claude-code-context-handoff
# Test installation locally
./install.sh
# Make changes to hooks/
# Test changes
./test.sh
# Uninstall
./uninstall.sh- Follow PEP 8
- Use type hints where helpful
- Keep functions focused and small
- Add docstrings for non-obvious functions
- Use
set -euo pipefail - Quote all variables:
"$var" - Use
[[instead of[for conditionals - Add comments for non-obvious logic
Before submitting:
- Test installation on clean system
- Test with real Claude Code sessions
- Test uninstallation
- Verify no leftover files
- Check settings.json is valid JSON
Update documentation when:
- Adding new features
- Changing behavior
- Adding configuration options
- Fixing bugs that affect usage
Files to update:
README.md- User-facing documentationCHANGELOG.md- Version history- Code comments - Implementation details
(For maintainers)
- Update version in
plugin.json - Update
CHANGELOG.md - Create git tag:
git tag v1.x.x - Push tag:
git push origin v1.x.x - Create GitHub release with changelog
Open an issue with the question label.
By contributing, you agree that your contributions will be licensed under the MIT License.