Development Setup
Development Setup
Buat isolated editable Reflow environment yang menyediakan tests, formatting, linting, packaging, dan Git-hook tools.
python -m pip install -e ".[dev]"Category
Quick Command
create venv -> install dev tools -> enable hooksTujuan
Gunakan environment dengan executable reflow yang mengarah ke active source
checkout. Dependency group dev diperlukan untuk pytest, coverage, Ruff,
Black, pre-commit, packaging, dan contributor commands lainnya.
Requirements
Requirements
Python 3.14+
Git
pip dan venv
GNU Make
Docker
GitHub CLI
Manual Setup
python -m venv venv
# Windows PowerShell
venv\Scripts\Activate.ps1
# Linux or macOS
# source venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"Gunakan python -m pip install -e ".[dev,docs]" hanya ketika Anda juga
memerlukan MkDocs toolchain milik repository.
Makefile Setup
Make workflow mengharapkan directory konvensional venv/ dan memanggil Python
interpreter di dalamnya secara langsung.make venv
make upgrade-pip
make install-dev
# Combined environment setup and Git-hook installation
make setup
Jalankan make help-local untuk melihat seluruh local command groups.
Pre-Commit Workflow
Hook configuration Reflow menjalankan Ruff safe fixes, Black formatting,
trailing-whitespace cleanup, dan final-newline correction. Ruff dan Black
menggunakan policy dalam pyproject.toml.# Install Git hook and isolated hook environments
make pre-commit-install-hooks
# Validate .pre-commit-config.yaml
make pre-commit-validate
# Check files currently staged for commit
make pre-commit-run-staged
# Check every tracked repository file
make pre-commit-run
Verify the Environment
Before You Begin
- Python didukungRequired
python --version melaporkan Python 3.14 atau lebih baru.
- Editable Reflow dapat dijalankanRequired
reflow --help dan python -m app --help dimuat dari environment yang dipilih.
- Quality tools tersediaRequired
pytest, Ruff, Black, dan pre-commit dapat dijalankan melalui python -m.
- Live credentials tidak diperlukanRequired
Ordinary development tests menggunakan mocks dan temporary repositories.
python --version
python -m pip show git-reflow
reflow --help
python -m app --help
python -m pytest --version
python -m ruff --version
python -m black --version
python -m pre_commit --version