chore(github): restructure the issue and pull-request templates - #39
Merged
Merged
Conversation
Adopts the shape used in the owasp-ctf repository — headed sections, explicit frontmatter, and a config that turns off blank issues — with the content written for this project rather than copied. The pull-request template is where the difference is real. It now asks for test evidence, names the surfaces a change can touch, and carries a checklist of the things that have actually gone wrong here: an assertion that cannot fail, a bash 3.2 construct that works in 5.x, a missing DCO sign-off, a new script left out of CI's shellcheck list, and an undeclared change to a published contract. The `cut -d. -f<n>` note is there because that exact mistake shipped in 0.14.0 and was caught in review. It also states what the commit type decides, since CI reads the subject to choose whether merging publishes a release. The bug report asks for both `cprof status` and `cprof doctor`, which since 0.14.0 reports statusline config problems and version skew, and keeps the warning about what is safe to paste. The feature request asks for concrete output instead of a description, and for whether the idea has to work without `git` or without network. New: ISSUE_TEMPLATE/config.yml, disabling blank issues so a report arrives with an environment, and routing security reports to private vulnerability reporting. The question link that repository carries was left out: this one has Discussions disabled, so it would have been a dead link. Signed-off-by: Diego Cotelo <me@dcotelo.dev>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Merged
10 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Restructures the issue and pull-request templates into the shape used in the
owasp-ctfrepository — headed sections, explicit frontmatter, and a configthat turns blank issues off — with the content written for this project instead
of copied. That repository's templates name its own services, Redis keys and
review invariants, none of which exist here.
Type
Surface(s) touched
.github/)What changed
PULL_REQUEST_TEMPLATE.md— was three lines of testing checkboxes, one ofwhich had already drifted out of date (its shellcheck command predated the two
demo-stub directories CI lints). It now asks for test evidence, names the
surface touched, and carries a checklist of what has actually gone wrong in
this repository:
checklist asks for the single change each new assertion would catch, watched
failing;
cut -d. -f<n>behaviour that shipped in 0.14.0 and was caught in review;rather than repeating it and drifting again;
~/.cprof.jsonkey, astatuslinesegment or setting name, a subcommand orflag, the shape of
cprof envoutput, a cache path.It also states what the commit type decides, since CI reads the subject to
choose whether merging publishes a release and at what version.
ISSUE_TEMPLATE/bug_report.md— headed sections, and it now asks forcprof doctoralongsidecprof status: since 0.14.0 doctor reports statuslineconfig problems and version skew, which is most of what a statusline bug report
needs. Keeps the existing warning about what is safe to paste, since
status,listanddoctornever print credentials but a config file and keychainoutput can.
ISSUE_TEMPLATE/feature_request.md— asks for concrete output rather than adescription ("show the line you want a command to print"), keeps the useful
prompt about why
pin/rule/default/envdon't cover it, and adds the twoconstraints that shape most answers here: whether it must work without
gitand without network.
ISSUE_TEMPLATE/config.yml(new) —blank_issues_enabled: false, so areport arrives with an environment attached, and a contact link routing security
reports to private vulnerability reporting.
Test evidence
No code touched. Ran anyway:
bash tests/run.sh-> ALL TESTS PASSED (1130 assertions)config.ymlasserted to disable blank issues and to carry a resolvingcontact link; both issue templates asserted to keep their
labels:frontmatter, since that is what applies
bugandenhancementon openTwo deliberate omissions
The question contact link. That repository's config offers one; this
repository has Discussions disabled (
has_discussions: false), so it wouldhave shipped a dead link. Enable Discussions and it is two lines to add.
dependabot.yml. That repository has one. This one deliberately does not:CONTRIBUTING.mdstates that every third-party action is pinned to a fullcommit SHA and that bumps are reviewed like any other change, and that
shellcheck is "bumped by hand, deliberately, in its own commit". Adding
dependabot would contradict a written policy, so it belongs in a decision of
its own rather than riding along here.
Checklist
bash tests/run.shpasses, and CI is green.tests/— n/a, no behavior change.chore:publishes no release.