Skip to content

docs: complete the GitHub community standards checklist - #28

Merged
evangress merged 1 commit into
mainfrom
docs/community-standards
Jul 25, 2026
Merged

evangress merged 1 commit into
mainfrom
docs/community-standards

Conversation

@evangress

Copy link
Copy Markdown
Collaborator

The repo's community profile sits at 62%. Description, README, CONTRIBUTING, LICENSE (Apache-2.0) and SECURITY.md are already in place; this adds the three missing items.

Item Before After
Code of conduct ❌ CODE_OF_CONDUCT.md
Issue templates ❌ .github/ISSUE_TEMPLATE/ (bug, feature, config)
Pull request template ❌ .github/PULL_REQUEST_TEMPLATE.md

Code of conduct

Contributor Covenant 2.1, verbatim, with scope and enforcement pointed at this repo.

One thing to check before merging: the enforcement contact routes to GitHub's private reporting form, because that's the only private channel this project currently has. It works, and it avoids publishing a personal email address in a public repo — but if you'd rather have a dedicated conduct address, that line is the one to change. Reporters are told to mark conduct reports clearly so they aren't triaged as vulnerabilities.

A short note also keeps expectations honest about a spare-time project having no moderation staff — the same caveat SECURITY.md already makes for vulnerability response.

Issue forms

Written for this project rather than filled in from a generic template:

  • The bug form leads with "did this lose or change your writing?" CONTRIBUTING says data-safety bugs outrank everything, so the form should sort for that before it asks anything else — including a nudge not to overwrite the affected file.
  • It asks about the folder — Obsidian vault, synced by iCloud/OneDrive/Dropbox, open in another editor, on a network share. Toril is explicitly built to coexist with other writers, and that context explains most behavior that otherwise looks random.
  • It asks which format, since .md and .html go through separate serializers.
  • The feature form states the already-decided noes up front (multi-format structured editing, a pure-Rust rewrite — CLAUDE.md §12) so nobody writes a careful proposal for something that was never on the table, and routes open-ended ideas to Discussions instead.

config.yml keeps blank issues enabled and adds contact links for security reporting, Discussions, and the contributing guide.

Pull request template

Deliberately doesn't ask for test output — CI now runs typecheck, tests, build and the Rust crates on Ubuntu and Windows. It asks for what CI can't produce:

  • what was verified in a live window, and what was left unverified (framed as useful information, not an admission)
  • data-safety impact, and whether the §5 command contract changed
  • whether CLAUDE.md and CHANGELOG need updating

Kept short on purpose: a long PR template gets deleted wholesale.

Verification

Both issue forms validated against GitHub's schema — YAML parses, block types are legal, every non-markdown block has an id, and validations sits as a sibling of attributes rather than nested inside it. That last check caught a real defect in the feature form before it shipped.

🤖 Generated with Claude Code

The community profile sat at 62%: description, README, CONTRIBUTING,
LICENSE and SECURITY.md were present, but the code of conduct, issue
templates and pull request template were missing.

CODE_OF_CONDUCT.md is Contributor Covenant 2.1 verbatim, with the scope
and enforcement sections pointed at this repo. Reports route through
GitHub's private reporting form — the only private channel the project
has — and a note keeps the response-time expectations honest, matching
the caveat SECURITY.md already gives.

Issue forms are project-shaped rather than generic. The bug report leads
with "did this lose or change your writing?", because CONTRIBUTING says
data-safety bugs outrank everything, and asks whether the folder is an
Obsidian vault, synced, or open in another editor — context that explains
most behavior that otherwise looks random. The feature request states the
already-decided noes (§12) up front so nobody writes a proposal for
something that was never on the table, and routes open-ended ideas to
Discussions.

The PR template deliberately doesn't ask for test output: CI now runs the
gates on Ubuntu and Windows. It asks for what CI can't produce — live
window verification, what was left unverified, data-safety impact, and
whether CLAUDE.md's command contract needs updating.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@evangress
evangress merged commit ae83073 into main Jul 25, 2026
9 checks passed
@evangress
evangress deleted the docs/community-standards branch July 25, 2026 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant