Add community scaffolding: CONTRIBUTING, SECURITY, issue templates, PR template
- CONTRIBUTING.md: dev-branch workflow, uv setup, test/lint commands - SECURITY.md: private disclosure to holden@arch.fyi - .github/ISSUE_TEMPLATE/bug_report.yml: structured form with image tag, versions, logs - .github/ISSUE_TEMPLATE/feature_request.yml: problem/solution/alternatives form - .github/PULL_REQUEST_TEMPLATE.md: checklist enforcing dev branch + passing CI - pyproject.toml: add Changelog and Documentation URLs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# Contributing to winnow
|
||||
|
||||
Bug reports, feature requests, and pull requests are all welcome.
|
||||
|
||||
## Before You Start
|
||||
|
||||
- Check [existing issues](https://github.com/sudolulo/winnow/issues) to avoid duplicates.
|
||||
- For large changes, open an issue first to discuss the approach.
|
||||
- All PRs target the `dev` branch — never `main` directly.
|
||||
|
||||
## Development Setup
|
||||
|
||||
Requires Python 3.13+ and [uv](https://astral.sh/uv).
|
||||
|
||||
```bash
|
||||
git clone https://github.com/sudolulo/winnow.git
|
||||
cd winnow
|
||||
git checkout dev
|
||||
uv sync
|
||||
```
|
||||
|
||||
## Running Tests and Lint
|
||||
|
||||
```bash
|
||||
uv run pytest # run the test suite
|
||||
uv run ruff check # lint
|
||||
uv run ruff check --fix # auto-fix lint issues
|
||||
```
|
||||
|
||||
CI runs both on every push and PR to `main` and `dev`. PRs must pass before merging.
|
||||
|
||||
## Pull Request Guidelines
|
||||
|
||||
- One logical change per PR.
|
||||
- If you add behaviour, add a test for it.
|
||||
- Keep the `CHANGELOG.md` entry in the `[Unreleased]` section updated.
|
||||
- Commit messages should be plain English describing what changed and why.
|
||||
|
||||
## License
|
||||
|
||||
By submitting a contribution you agree that your work will be released under the project's [AGPLv3+ license](LICENSE).
|
||||
Reference in New Issue
Block a user