Thanks for your interest in contributing! This guide covers the basics.
Open a GitHub issue with:
- A clear title and description
- Steps to reproduce (for bugs)
- Your Python version and OS
- The relevant role YAML (if applicable)
Security vulnerabilities: please see SECURITY.md instead of opening a public issue.
# Clone and install
git clone https://github.com/vladkesler/initrunner.git
cd initrunner
uv sync
# Run tests
uv run pytest tests/ -v
# Lint and format
uv run ruff check .
uv run ruff format .
# Type check
uv run ty check initrunner/- Fork the repo and create a feature branch from
main. - Keep changes focused — one logical change per PR.
- Add tests for new functionality.
- Ensure all checks pass:
uv run pytest tests/ -v && uv run ruff check . && uv run ruff format --check . - Write a clear PR description explaining what and why.
See CLAUDE.md for project structure, architecture decisions, and key conventions.
By contributing, you agree that your contributions will be licensed under the MIT License.