First off, thank you for considering contributing to Mush! It's people like you that make Mush such a great tool for modern data engineering.
- Code of Conduct
- Development Setup
- Development Process
- Pull Request Process
- Project Structure
- Style Guidelines
- Testing
- Documentation
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [sporolyum@gmail.com].
-
Fork and Clone
git clone https://github.com/yourusername/mush.git cd mush -
Environment Setup
make setup # Creates .env file from template make check # Verifies all dependencies
-
Launch Development Environment
make launch-dev
-
Create a Branch
git checkout -b feat/your-feature-name # or git checkout -b fix/your-fix-name -
Make Your Changes
- Write clean, maintainable code
- Follow the style guidelines
- Add tests for new features
- Update documentation as needed
-
Verify Your Changes
make test # Run all tests make lint # Check code style make format # Format code
-
Before Submitting
- Update documentation
- Add/update tests
- Run full test suite
- Format code
- Update changelog if needed
-
Submitting
- Fill in the pull request template
- Link any relevant issues
- Request review from maintainers
-
After Submitting
- Respond to review comments
- Make requested changes
- Rebase if needed