Skip to content

Contributing

Thank you for your interest in contributing! 🎉

Code of Conduct

Be respectful, inclusive, and constructive.

How to Contribute

Reporting Bugs

  1. Check existing issues first
  2. Include:
  3. Drift version (drift version)
  4. OS and shell version
  5. Steps to reproduce
  6. Expected vs actual behavior
  7. Output from drift doctor

Suggesting Features

Open an issue with:

  • Clear use case
  • Example usage
  • Why it's useful

Pull Requests

  1. Fork and clone the repository
  2. Create a branch: git checkout -b feature/my-feature
  3. Make changes following our code style
  4. Add tests for new functionality
  5. Run tests: make test
  6. Format code: make format
  7. Commit with conventional commits
  8. 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