Thanks for your interest in contributing to a @perishdev project! This guide applies org-wide to any repository that does not provide its own CONTRIBUTING.md.
By participating, you agree to abide by our Code of Conduct and our AI Policy.
- Search first. Check open issues and discussions before opening something new.
- Open an issue for non-trivial changes. For anything beyond a typo or small fix, please open an issue (or discussion) first so we can agree on the approach before you invest time.
- Questions go to Discussions, not issues — see SUPPORT.md.
- Fork the repository and clone your fork.
- Create a branch off
mainfollowing the Conventional Branch format, e.g.feature/add-widget,fix/null-pointer,docs/clarify-setup. - Make your changes, keeping commits focused and atomic.
- Commit using the Conventional Commits v1.0.0 spec, e.g.
feat: add widget loaderorfix: handle empty config. - Open a pull request against
main. Title it using the Conventional Pull Request format (same prefixes as commits) and fill out the PR template. - Link the issue your PR addresses (e.g.
Closes #123).
| What | Convention | Example |
|---|---|---|
| Commit messages | Conventional Commits v1.0.0 | feat: add retry backoff |
| Branch names | Conventional Branch | fix/timeout-regression |
| Pull request title | Conventional Pull Request action format | docs: expand contributing guide |
- The branch name, commits, and PR title follow the conventions above.
- Changes are covered by tests where the project has a test suite.
- Documentation is updated where relevant.
- The PR description explains what changed and why, in your own words.
We welcome AI-assisted development, but you remain responsible for what you submit. Please read the AI Policy — in short: a human must understand and stand behind every contribution, and comments to maintainers should be written by you, not generated.
Thanks again — every contribution, however small, helps. 🌱