Add community infrastructure: issue + PR templates, CoC
Gitea issue templates (.gitea/issue_template/): - bug.yml: structured form requiring version, environment, what-happened, repro steps, expected, optional logs. Routes security reports to security@librete.ch instead of public issues. - feature.yml: prompts for the underlying problem before the proposed solution, plus alternatives and out-of-scope. Pull request template (.gitea/PULL_REQUEST_TEMPLATE.md): checklist for tests, lint, manual exercise, docs, and changelog. Asks for explicit reviewer notes so trade-offs surface in the PR description rather than being lost in chat. CODE_OF_CONDUCT.md: links to Contributor Covenant 2.1 verbatim rather than inlining; documents scope, reporting address (conduct@librete.ch), and points enforcement at the Covenant's own Enforcement Guidelines. README links the docs/ tree, CONTRIBUTING, and the CoC so new contributors find the entry points. Closes #31. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
## Summary
|
||||
|
||||
What does this PR change, and why?
|
||||
|
||||
## Linked issue
|
||||
|
||||
Closes #
|
||||
|
||||
## Changes
|
||||
|
||||
-
|
||||
|
||||
## Testing
|
||||
|
||||
- [ ] `make test` passes locally
|
||||
- [ ] `make lint` passes locally
|
||||
- [ ] Added or updated tests for the changed behaviour
|
||||
- [ ] Manually exercised the affected flow (frontend / API / etc.)
|
||||
|
||||
## Documentation
|
||||
|
||||
- [ ] Updated relevant docs in `docs/`
|
||||
- [ ] Updated `CHANGELOG.md` if user-visible
|
||||
- [ ] No documentation change needed
|
||||
|
||||
## Notes for reviewers
|
||||
|
||||
Anything you want a reviewer to look at specifically? Trade-offs
|
||||
considered? Migrations to flag?
|
||||
@@ -0,0 +1,60 @@
|
||||
name: Bug report
|
||||
about: Something is broken or doesn't work as documented
|
||||
labels: ["bug"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to file a bug. Please fill in
|
||||
as much of the form as you can — the more concrete the
|
||||
report, the faster we can fix it.
|
||||
|
||||
For security issues, **do not** open a public issue.
|
||||
Email `security@librete.ch` instead.
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: librenotes version
|
||||
description: Output of `librenotes version` or the Docker image tag.
|
||||
placeholder: v0.1.0
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: environment
|
||||
attributes:
|
||||
label: Environment
|
||||
description: Browser + OS for frontend bugs; OS + Go version for backend bugs.
|
||||
placeholder: Firefox 124 on macOS 14 / Go 1.22 on Debian 12
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: What happened?
|
||||
description: A clear, concrete description of the bug.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduce
|
||||
attributes:
|
||||
label: Steps to reproduce
|
||||
description: Numbered steps from a clean starting state.
|
||||
placeholder: |
|
||||
1. Sign in as a new user.
|
||||
2. Create a note named "Test".
|
||||
3. Click the toggle.
|
||||
4. ...
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected
|
||||
attributes:
|
||||
label: Expected behaviour
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant logs / network traces
|
||||
description: Any server logs, browser console errors, or HAR snippets.
|
||||
render: shell
|
||||
@@ -0,0 +1,38 @@
|
||||
name: Feature request
|
||||
about: Suggest a new capability or improvement
|
||||
labels: ["enhancement"]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for proposing a feature. Before opening a request,
|
||||
please skim the open issues to see if it already exists.
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: What problem does this solve?
|
||||
description: |
|
||||
Describe the user need first, not the implementation.
|
||||
"I can't find old notes when I have hundreds" is more
|
||||
useful than "Add full-text search."
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: proposal
|
||||
attributes:
|
||||
label: Proposed solution
|
||||
description: How would you like it to work?
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Alternatives considered
|
||||
description: What other approaches did you think about, and why are they worse?
|
||||
- type: textarea
|
||||
id: scope
|
||||
attributes:
|
||||
label: Scope
|
||||
description: |
|
||||
Out of scope is just as useful as in scope. What does
|
||||
this proposal NOT include?
|
||||
Reference in New Issue
Block a user