Contributing to RheoJAX ==================== We welcome contributions! This guide will help you get started. Getting Started --------------- Development Setup ~~~~~~~~~~~~~~~~~ 1. **Fork and Clone** .. code-block:: bash # Fork on GitHub, then clone your fork git clone https://github.com/imewei/rheojax.git cd rheojax 2. **Create Virtual Environment** .. code-block:: bash # Using venv python3.12 -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Or using conda conda create -n rheojax python=3.12 conda activate rheojax 3. **Install Dependencies** (uv creates ``.venv`` automatically) .. code-block:: bash uv sync 4. **Install Pre-commit Hooks** .. code-block:: bash # Install pre-commit hooks pre-commit install # Test hooks (optional) pre-commit run --all-files 5. **Verify Installation** .. code-block:: bash # Run smoke tests (~1838 tests, ~2-6 min) uv run pytest -n 4 -m "smoke" # Run standard tests (~4714 tests, ~10-20 min) uv run pytest -n 4 -m "not slow" # Run full suite (~4963 tests, includes slow Bayesian) uv run pytest -n 4 # Quick format + lint + smoke make format && make quick # Check imports python -c "import rheojax; print(rheojax.__version__)" Development Workflow -------------------- Branch Strategy ~~~~~~~~~~~~~~~ .. code-block:: bash # Create feature branch git checkout -b feature/your-feature-name # Or bug fix branch git checkout -b fix/bug-description # Make changes, commit, push git add . git commit -m "Add feature X" git push origin feature/your-feature-name Commit Messages ~~~~~~~~~~~~~~~ Follow conventional commits format: .. code-block:: text ():