Thanks for your interest in contributing! modelith is released under the
Apache 2.0 license. See the README and docs/ for
what the tool does, and CLAUDE.md for repository layout and
conventions you should know before making structural changes (the example
fixture, schema/struct sync, and docs numbering rules all have CI checks
behind them).
This project adheres to the Contributor Covenant. By participating, you're expected to uphold it. Report unacceptable behavior to code-of-conduct@stacklok.com.
Please don't report security vulnerabilities using GitHub issues. Instead,
follow the process in SECURITY.md.
Use GitHub Issues for bugs and feature requests. For small, obvious fixes, feel free to just open a pull request directly.
- All commits must include a
Signed-off-bytrailer certifying the Developer Certificate of Origin. Usegit commit -s. - Fork the repo, branch, and make your changes.
- Run
task checkbefore pushing — it runs the same checks as CI (vet, staticcheck, tests, model lint, render-check) plus local plugin validation. Seedocs/09-local-development.md. - Follow the commit message guidelines below.
- Open a PR; ensure CI passes.
- PRs are squash-merged.
We follow the conventions from Chris Beams' "How to Write a Git Commit Message":
- Separate subject from body with a blank line
- Limit the subject line to 50 characters
- Capitalize the subject line
- Do not end the subject line with a period
- Use the imperative mood in the subject line
- Use the body to explain what and why, not how