-
Notifications
You must be signed in to change notification settings - Fork 1
DEVELOPER_GUIDE
Jules Martins edited this page Jun 2, 2026
·
1 revision
Documentation for setting up and contributing to the Chorderizer codebase.
-
Prerequisites:
- Python 3.8+
- Pip (Python Package Index)
-
Clone and Install:
git clone https://github.com/julesklord/Chorderizer.git cd Chorderizer pip install -e .
-
Running in Development Mode: To run the project while making changes without reinstalling:
$env:PYTHONPATH="src" py -m chorderizer.chorderizer
Chorderizer uses pytest for automated testing.
-
Running all tests:
pytest
-
Test Categories:
-
tests/test_theory.py: Music theory math and parsing. -
tests/test_generators.py: Chord and MIDI logic (uses mocks). -
tests/test_security.py: Path sanitization and security checks.
-
We use Ruff for linting and formatting to ensure a high-quality codebase.
-
Check for issues:
ruff check src/ tests/
-
Format code:
ruff format src/ tests/
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'feat: add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Important
Always run the test suite and ensure no regressions before opening a Pull Request.