Contributing¶
Thank you for your interest in contributing!
Code of Conduct¶
Be respectful, inclusive, and constructive.
How to Contribute¶
Reporting Bugs¶
- Check existing issues first
- Include:
- Drift version (
drift version) - OS and shell version
- Steps to reproduce
- Expected vs actual behavior
- Output from
drift doctor
Suggesting Features¶
Open an issue with:
- Clear use case
- Example usage
- Why it's useful
Pull Requests¶
- Fork and clone the repository
- Create a branch:
git checkout -b feature/my-feature - Make changes following our code style
- Add tests for new functionality
- Run tests:
make test - Format code:
make format - Commit with conventional commits
- Push and create a PR
Code Style¶
- Ruff for linting and formatting
- PEP 8 guidelines
- Type hints where appropriate
- Docstrings for public functions
Commit Messages¶
feat: add support for bash completion
fix: prevent crash when Ollama is offline
docs: update installation instructions
test: add tests for history manager
refactor: simplify safety checker logic
Areas for Contribution¶
High Priority¶
Linux support (installer and compatibility)
Bash integration (in addition to ZSH)
Improved error messages
More comprehensive tests
Medium Priority¶
Additional model support
Command aliasing
Workspace-specific configurations
Nice to Have¶
Fish shell support
Syntax highlighting for previews
Interactive selection mode