Skip to content

Latest commit

 

History

History
90 lines (63 loc) · 2.36 KB

File metadata and controls

90 lines (63 loc) · 2.36 KB

Contributing

Thank you for your interest in contributing to LuhnCheck! We welcome all types of contributions, from questions to code changes.

Quick Start

# 1. Fork the repository on GitHub
# 2. Clone your fork locally
git clone https://github.com/YOUR_USERNAME/luhncheck.git
cd luhncheck

# 3. Set up development environment
uv sync

# 4. Run tests to make sure everything works
uv run pytest --cov

How to Contribute

🐛 Bug Reports

  • Check Issues for existing reports
  • Create a new issue with:
    • Version number
    • Steps to reproduce
    • Expected vs actual behavior
    • Your operating system

💻 Code Changes

  1. Prerequisites: Install uv
  2. Setup: Fork the repo and run uv sync to install dependencies
  3. Before committing: Run these commands to ensure your changes pass all checks:
    uv run ruff format          # Format code
    uv run ruff check --fix     # Fix linting issues
    uv run mypy                 # Check types
    uv run pytest --cov         # Run tests with coverage
  4. Submit: Push to your fork and create a pull request

Development Commands

# Setup
uv sync                       # Install dependencies

# Code quality
uv run ruff format            # Format code
uv run ruff check --fix       # Fix linting issues
uv run mypy                   # Type checking

# Testing
uv run pytest                 # Run all tests
uv run pytest --cov           # Run tests with coverage report

# Build
uv build                      # Build distribution packages

Maintainers Only

Changelog

Add ## Unreleased section to CHANGELOG.md when there are unreleased changes. The release script replaces it with the version number.

Updating Dependencies

To update all development dependencies to their latest versions:

uv sync --upgrade

Releasing

To create a new release, ensure you're on the main branch with all changes committed and synced with the remote:

bash release.sh <major|minor|patch>

Need Help?

We appreciate your contribution! 🎉