Lewati ke konten utama

Development Setup

Development Setup

Python 3.14+

Buat isolated editable Reflow environment yang menyediakan tests, formatting, linting, packaging, dan Git-hook tools.

Commandpython -m pip install -e ".[dev]"

Category

Developer Guide

Quick Command

create venv -> install dev tools -> enable hooks

editable installpytestRuffBlackpre-commit

Tujuan

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+

Required
Package metadata dan quality-tool targets Reflow memerlukan Python 3.14 atau lebih baru.

Git

Required
Repository dan tag workflows memerlukan Git, sedangkan tests menggunakan isolated atau mocked boundaries.

pip dan venv

Required
Install ke isolated environment, bukan ke system interpreter.

GNU Make

Optional
Gunakan modular Make targets untuk setup dan validation yang konsisten.

Docker

Optional
Hanya diperlukan untuk container dan Compose validation.

GitHub CLI

Optional
Hanya diperlukan untuk live GitHub release discovery; ordinary tests menggunakan mock untuk boundary ini.

Manual Setup

Create and install
bash
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.

Setup helpers
bash
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 and run hooks
bash
# 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.

Environment check
bash
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