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:
29
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
29
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
@@ -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?
|
||||
60
.gitea/issue_template/bug.yml
Normal file
60
.gitea/issue_template/bug.yml
Normal file
@@ -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
|
||||
38
.gitea/issue_template/feature.yml
Normal file
38
.gitea/issue_template/feature.yml
Normal file
@@ -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?
|
||||
26
CODE_OF_CONDUCT.md
Normal file
26
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Code of Conduct
|
||||
|
||||
This project adopts the **Contributor Covenant**, version 2.1,
|
||||
verbatim. The full text is published at
|
||||
[contributor-covenant.org/version/2/1/code_of_conduct/](https://www.contributor-covenant.org/version/2/1/code_of_conduct/)
|
||||
and is the authoritative version that governs participation in
|
||||
this project.
|
||||
|
||||
## Scope
|
||||
|
||||
The Contributor Covenant applies in all project spaces — issues,
|
||||
pull requests, code review, the project's communication
|
||||
channels, and any official events.
|
||||
|
||||
## Reporting
|
||||
|
||||
To report unacceptable behaviour, contact the project maintainers
|
||||
at `conduct@librete.ch`. All reports will be reviewed and
|
||||
investigated promptly and fairly. The maintainers are obliged to
|
||||
respect the privacy and security of the reporter.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Maintainers will follow the Contributor Covenant
|
||||
[Enforcement Guidelines](https://www.contributor-covenant.org/version/2/1/code_of_conduct/#enforcement-guidelines)
|
||||
when responding to any reported incident.
|
||||
13
README.md
13
README.md
@@ -76,6 +76,19 @@ by Alon Swartz, used and redistributed under the MIT License. See
|
||||
[NOTICE](./NOTICE) for the upstream commit hash at fork time and
|
||||
instructions for tracking upstream changes.
|
||||
|
||||
## Documentation
|
||||
|
||||
- [User guide](./docs/user-guide.md)
|
||||
- [Self-hosting](./docs/self-hosting.md)
|
||||
- [API reference](./docs/api.md)
|
||||
- [Operations](./docs/operations.md)
|
||||
|
||||
## Contributing
|
||||
|
||||
See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup, conventions, and
|
||||
the PR process. By participating you agree to the
|
||||
[Code of Conduct](./CODE_OF_CONDUCT.md).
|
||||
|
||||
## License
|
||||
|
||||
MIT — see [LICENSE](./LICENSE). Copyright is shared between the original
|
||||
|
||||
Reference in New Issue
Block a user