Thank you for your interest in contributing! This guide will help you get started.
- Fork the repository
- Clone your fork:
git clone https://github.com/<your-username>/makefolio.git - Install dev dependencies:
uv pip install -e ".[dev]" - Create a feature branch:
git checkout -b feat/my-feature
# Format code
uv run ruff format src/
# Lint
uv run ruff check src/
# Type check
uv run ty check src/
# Run tests
uv run pytest --cov=src/makefolio --cov-report=termWe follow Conventional Commits:
feat:— new featurefix:— bug fixdocs:— documentation onlystyle:— formatting, no code changerefactor:— code change that neither fixes a bug nor adds a featuretest:— adding or updating testschore:— maintenance tasksci:— CI/CD changesperf:— performance improvements
Use a scope when helpful: feat(templates): add scroll-reveal animations
- Ensure all checks pass (format, lint, type check, tests)
- Keep PRs focused — one feature or fix per PR
- Write a clear description of what changed and why
- Link any related issues
Open an issue with:
- A clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Python version and OS
Open an issue describing:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
- Line length: 100 characters
- Target: Python 3.11+
- Linter/formatter: Ruff
- Type checker: ty