Skip to content

Latest commit

 

History

History
66 lines (45 loc) · 2.03 KB

File metadata and controls

66 lines (45 loc) · 2.03 KB

Contributing to structkit

Thank you for your interest in contributing! structkit is a YAML-first project scaffolding tool for platform engineering teams, and community contributions are what make it better.

Ways to Contribute

Development Setup

# Clone the repo
git clone https://github.com/httpdss/structkit.git
cd structkit

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows

# Install in editable mode with dev dependencies
pip install -e ".[dev]"

# Install pre-commit hooks
pre-commit install

Running Tests

pytest

To run a specific test file:

pytest tests/test_generate.py -v

Submitting a Pull Request

  1. Fork the repo and create a branch from main
  2. Make your changes — keep PRs focused; one feature or fix per PR
  3. Add tests — new behavior should have test coverage
  4. Run pre-commitpre-commit run --all-files
  5. Open a PR — describe what you changed and why

PR title format: type: short description (e.g. feat: add remote template caching, fix: handle empty YAML files)

Template Contributions

Have a useful structkit template? The best place to share it is GitHub Discussions → Show your structkit templates. If it's broadly useful, we may feature it in the docs.

Code Style

  • Python 3.9+
  • Black formatting (enforced by pre-commit)
  • Type hints encouraged for new code
  • Docstrings for public functions

Questions?

Open a GitHub Discussion — we're happy to help.