Contributing to behave-lint
July 2, 2026 ยท View on GitHub
Thank you for your interest in contributing to behave-lint! This document describes how to set up your development environment and how to contribute effectively.
Development Environment
Prerequisites
- Python 3.11, 3.12, or 3.13
- uv package manager
- Git
Setup
git clone https://github.com/MathiasPaulenko/behave-lint.git
cd behave-lint
uv sync
uv run pre-commit install
Running Tests
# All tests
uv run pytest
# Unit tests only
uv run pytest -m unit
# Integration tests only
uv run pytest -m integration
# With coverage
uv run pytest --cov=src
# Parallel execution
uv run pytest -n auto
Code Quality
# Format
uv run ruff format src/ tests/
# Lint
uv run ruff check src/ tests/
# Type check
uv run mypy src/
How to Contribute
Reporting Bugs
Open a bug report issue. Include:
- behave-lint version (
behave-lint --version) - Python version
- Operating system
- Minimal reproduction case
- Expected behavior vs. actual behavior
Requesting Features
Open a feature request issue. Describe the use case and the desired behavior.
Pull Requests
- Fork the repository and create a branch from
main. - Make your changes following the guidelines below.
- Ensure all checks pass:
ruff check,ruff format,mypy,pytest. - Update the changelog if your change is user-visible.
- Open a pull request with a clear description.
Coding Standards
Follow the development guidelines in the project for all code contributions. Key points:
- Type hints are mandatory on all public functions.
- Follow PEP 8 naming conventions.
- One responsibility per module.
- Respect the architectural layering rules.
- Write tests for all new functionality.
- Keep functions small and focused.
Commit Messages
Follow Conventional Commits:
<type>(<scope>): <description>
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, test, chore,
perf, ci, build.
Branch Naming
- Feature:
feat/<description> - Bug fix:
fix/<description> - Documentation:
docs/<description> - Refactor:
refactor/<description>
Code Review
All PRs require at least one maintainer approval. See the pull request template in the repository for the review checklist.
License
By contributing, you agree that your contributions will be licensed under the MIT License.