Contributing to ConfWire

For comprehensive contribution guidelines, including development setup, commit message standards, code style requirements, and pull request procedures, please refer to the CONTRIBUTING.md file in the repository root.

This page provides a quick reference for common development tasks.

Quick Start

Setting up a development environment

git clone https://github.com/sri-dhurkesh/confwire.git
cd confwire
uv sync --all-groups
pre-commit install

Running tests

uv run pytest tests -v --cov

Running code quality checks

pre-commit run --all-files
uv run mypy confwire

Building the documentation

uv sync --group docs
cd docs
make html
open _build/html/index.html

Development Workflow

  1. Create a feature branch following the naming convention (e.g., feat/feature-name, fix/issue-description)

  2. Make your changes with appropriate tests

  3. Ensure all checks pass:

    • uv run pytest tests -v --cov

    • pre-commit run --all-files

    • uv run mypy confwire

  4. Commit using Conventional Commits format

  5. Open a pull request with a clear description

Key Guidelines

  • Write tests for new features

  • Follow Conventional Commits for commit messages

  • Maintain 80%+ code coverage

  • Use type hints in all functions

  • Update documentation if behavior changes

Need Help?

Thank you for contributing! 🎉