Skip to content

Commit f1b5f9a

Browse files
committed
feat: add reuse feedback path and prep v0.1.5
1 parent cd803e7 commit f1b5f9a

9 files changed

Lines changed: 53 additions & 4 deletions

File tree

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
blank_issues_enabled: false
22
contact_links:
3+
- name: Tried this in a real repository?
4+
url: https://github.com/junjapp/oss-maintainer-workflows/issues/new?template=reuse-report.yml
5+
about: Share what you kept, cut, or rewrote so the maintainer kit can improve against real reuse cases.
36
- name: Not sure which issue type fits?
47
url: https://github.com/junjapp/oss-maintainer-workflows/issues/new?template=open-question.yml
58
about: Use the open question template if the current issue types feel too specific or do not fit your situation yet.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Reuse report
2+
description: Share how you copied, trimmed, or adapted this kit in a real repository.
3+
body:
4+
- type: markdown
5+
attributes:
6+
value: |
7+
Use this if you tried the kit in a real repository and want to share what helped, what you cut, or what still felt too source-repo-specific.
8+
- type: textarea
9+
id: repository_context
10+
attributes:
11+
label: What kind of repository did you try this in?
12+
description: Describe the project shape in plain language. If you can share a public link, include it.
13+
validations:
14+
required: true
15+
- type: textarea
16+
id: kept_cut_changed
17+
attributes:
18+
label: What did you keep, cut, or change?
19+
description: Call out the pieces you actually kept, removed, or rewrote on the first pass.
20+
validations:
21+
required: true
22+
- type: textarea
23+
id: outcome
24+
attributes:
25+
label: What helped, and what still felt off?
26+
description: Share what made reuse easier and what still felt too specific, heavy, or unclear.
27+
validations:
28+
required: true

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased]
66

7+
## [0.1.5] - 2026-03-23
8+
9+
- Added a reuse-report issue path so real downstream maintainers can share what they kept, cut, or rewrote after trying the kit.
710
- Added an open-question issue template and removed issue title prefixes so unclear reports can arrive without being forced into the wrong bucket first.
811
- Added a smaller, concrete copy path for repositories that only want core docs, one issue template, and an optional trimmed validation baseline, including a new minimal-copy example.
912
- Added a lightweight code of conduct and issue-template chooser config so copied repositories get a clearer public governance baseline.

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,10 @@ That keeps the public checks truthful while still giving the repository a minima
156156
- contributor-facing docs that stay close to actual repository behavior
157157
- lightweight governance files that make maintenance easier to hand over
158158

159+
## Using this kit?
160+
161+
If you try this in a real repository, open a reuse report and say what you kept, cut, or rewrote on the first pass. That kind of feedback is more useful here than a generic +1 because it shows where the maintainer layer is actually helping and where it still reads too much like the source repository.
162+
159163
## Next step
160164

161165
Adapt the templates to a real repository, then keep the docs, issue flow, and release process aligned as the project evolves.

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "oss-maintainer-workflows",
3-
"version": "0.1.4",
3+
"version": "0.1.5",
44
"description": "Reusable maintainer operations kit for small public OSS repositories.",
55
"type": "module",
66
"private": false,

scripts/validate-repo.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export const requiredPaths = [
1717
".github/ISSUE_TEMPLATE/bug-report.yml",
1818
".github/ISSUE_TEMPLATE/docs-request.yml",
1919
".github/ISSUE_TEMPLATE/open-question.yml",
20+
".github/ISSUE_TEMPLATE/reuse-report.yml",
2021
".github/ISSUE_TEMPLATE/workflow-improvement.yml",
2122
".github/workflows/validate.yml",
2223
".github/workflows/release-check.yml",

tests/public-surface.test.mjs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,10 @@ test("public docs describe a concrete adoption and release path", async () => {
134134
path.join(repoRoot, ".github", "ISSUE_TEMPLATE", "open-question.yml"),
135135
"utf8",
136136
);
137+
const reuseReportTemplate = await fs.readFile(
138+
path.join(repoRoot, ".github", "ISSUE_TEMPLATE", "reuse-report.yml"),
139+
"utf8",
140+
);
137141

138142
assert.match(readme, /Minimal rollout path/);
139143
assert.match(readme, /Replace before reuse/);
@@ -148,6 +152,7 @@ test("public docs describe a concrete adoption and release path", async () => {
148152
assert.match(readme, /first downstream pass can look like/);
149153
assert.match(readme, /smallest believable downstream pass/);
150154
assert.match(readme, /neutral open-question issue path/);
155+
assert.match(readme, /If you try this in a real repository, open a reuse report/);
151156
assert.match(readme, /CODE_OF_CONDUCT\.md/);
152157
assert.match(readme, /\.github\/ISSUE_TEMPLATE\/config\.yml/);
153158
assert.match(codeowners, /Replace this entry before reusing the scaffold/);
@@ -158,13 +163,17 @@ test("public docs describe a concrete adoption and release path", async () => {
158163
assert.match(codeOfConduct, /public, respectful, and workable/);
159164
assert.match(issueTemplateConfig, /blank_issues_enabled: false/);
160165
assert.match(issueTemplateConfig, /open-question\.yml/);
166+
assert.match(issueTemplateConfig, /reuse-report\.yml/);
161167
assert.match(issueTemplateConfig, /contact_links:/);
162168
assert.doesNotMatch(bugTemplate, /title:/);
163169
assert.doesNotMatch(docsTemplate, /title:/);
164170
assert.doesNotMatch(workflowTemplate, /title:/);
165171
assert.match(openQuestionTemplate, /name: Open question/);
166172
assert.match(openQuestionTemplate, /labels:\s*\n\s*- triage/);
167173
assert.match(openQuestionTemplate, /rough report is fine/);
174+
assert.match(reuseReportTemplate, /name: Reuse report/);
175+
assert.match(reuseReportTemplate, /real repository/);
176+
assert.match(reuseReportTemplate, /kept, removed, or rewrote|keep, cut, or change/);
168177
assert.match(releasePlaybook, /Versioning notes/);
169178
assert.match(releasePlaybook, /Release note/);
170179
assert.match(releasePlaybook, /Pre-tag command sequence/);
@@ -191,7 +200,7 @@ test("public docs describe a concrete adoption and release path", async () => {
191200
assert.match(roadmap, /How to use this roadmap/);
192201
assert.match(roadmap, /copy and cleanup cycle/);
193202
assert.match(roadmap, /real downstream first pass/);
194-
assert.equal(packageJson.version, "0.1.4");
203+
assert.equal(packageJson.version, "0.1.5");
195204
assert.equal(
196205
packageJson.description,
197206
"Reusable maintainer operations kit for small public OSS repositories.",

tests/validate-repo.test.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ test("requiredPaths reflect the renamed public docs layout", () => {
9090

9191
test("requiredPaths include the generic issue intake path", () => {
9292
assert.ok(requiredPaths.includes(".github/ISSUE_TEMPLATE/open-question.yml"));
93+
assert.ok(requiredPaths.includes(".github/ISSUE_TEMPLATE/reuse-report.yml"));
9394
});
9495

9596
test("requiredPaths stay limited to the public scaffold", () => {

0 commit comments

Comments
 (0)