Skip to content

Commit 7e79c89

Browse files
dwoodruff83claude
andauthored
Add issue templates + chooser config for the tracker repo (#4)
Three structured forms tuned for a Python CLI tool's diagnostic needs, plus a chooser config that disables blank issues and links out to the ModWorkshop page, the README, and the RTV Discord: - bug_report.yml — required fields for tool version, Python version, OS, and the exact command run; plus structured fields for expected vs actual behavior and an optional toml-snippet textarea for config that the command reads - feature_request.yml — leads with problem statement and includes a scope-confirmation checkbox so proposers know the "stdlib-only, eight-script" constraint up front (lands proposals faster) - takedown_request.yml — explicit form for game developers, matching the README's "Legal and ethical use" commitment to work with them on adjustments / removal. Walks through outcome levels (adjustment, unlist, archive, delete) - config.yml — disables blank issues, surfaces ModWorkshop, README, and Discord in the chooser Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent fc0211b commit 7e79c89

4 files changed

Lines changed: 268 additions & 0 deletions

File tree

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
name: Bug report
2+
description: A tool command misbehaves, errors, or produces unexpected output
3+
title: "[Bug] "
4+
labels: [bug]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for filing this. Please include the **exact command you ran**
10+
and the **complete error output** (or expected-vs-actual). Most
11+
bug reports stall on missing version info and unredacted command
12+
output, so the fields below ask for both up front.
13+
14+
- type: dropdown
15+
id: subcommand
16+
attributes:
17+
label: Which script / subcommand?
18+
description: If multiple are involved, pick the one that errored or produced wrong output.
19+
options:
20+
- snapshot.py
21+
- analyze_mods.py
22+
- changelog.py
23+
- fetch_version.py
24+
- deps_fetch.py
25+
- deps_diff.py
26+
- deps_audit.py
27+
- deps_changelog.py
28+
- Multiple / unsure
29+
- Other (describe in body)
30+
validations:
31+
required: true
32+
33+
- type: input
34+
id: tool_version
35+
attributes:
36+
label: Tool version
37+
description: Either the GitHub tag (e.g. `v1.0.0`) or the commit SHA from `git rev-parse HEAD` if you're running an unreleased build.
38+
placeholder: e.g. v1.0.0
39+
validations:
40+
required: true
41+
42+
- type: input
43+
id: python_version
44+
attributes:
45+
label: Python version
46+
description: Output of `python --version`.
47+
placeholder: e.g. Python 3.11.9
48+
validations:
49+
required: true
50+
51+
- type: dropdown
52+
id: os
53+
attributes:
54+
label: Operating system
55+
options:
56+
- Windows 10
57+
- Windows 11
58+
- macOS
59+
- Linux
60+
- Other (describe in body)
61+
validations:
62+
required: true
63+
64+
- type: input
65+
id: target_game
66+
attributes:
67+
label: Target game
68+
description: The game this tool is being used against. Most users are on Road to Vostok, but the tool is designed to work for any Godot-on-Steam game — knowing helps if the issue is game-specific.
69+
placeholder: e.g. Road to Vostok
70+
validations:
71+
required: false
72+
73+
- type: textarea
74+
id: command
75+
attributes:
76+
label: Command you ran
77+
description: Exact command including flags. Wrap in triple backticks for readability.
78+
render: shell
79+
placeholder: |
80+
python analyze_mods.py --from game-v0.1.0.0-build22674175 --to HEAD --output report.html
81+
validations:
82+
required: true
83+
84+
- type: textarea
85+
id: expected
86+
attributes:
87+
label: Expected behavior
88+
description: What did you expect the command to output / produce?
89+
validations:
90+
required: true
91+
92+
- type: textarea
93+
id: actual
94+
attributes:
95+
label: Actual behavior
96+
description: What actually happened? Include the full traceback if Python errored.
97+
render: shell
98+
placeholder: |
99+
Traceback (most recent call last):
100+
File "analyze_mods.py", line 42, in <module>
101+
...
102+
SomeError: ...
103+
validations:
104+
required: true
105+
106+
- type: textarea
107+
id: config
108+
attributes:
109+
label: Relevant mod_tracker.toml content
110+
description: Paste the section(s) of your config that this command reads. Redact any private paths if needed.
111+
render: toml
112+
placeholder: |
113+
[paths]
114+
decompiled = "..."
115+
history = "..."
116+
validations:
117+
required: false
118+
119+
- type: checkboxes
120+
id: checks
121+
attributes:
122+
label: Confirmations
123+
options:
124+
- label: I searched existing issues
125+
required: true
126+
- label: I'm running Python 3.11+
127+
required: true
128+
- label: My git is recent (`git --version` → 2.20+)
129+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
blank_issues_enabled: false
2+
3+
contact_links:
4+
- name: ModWorkshop page
5+
url: https://modworkshop.net/mod/56405
6+
about: For Road to Vostok modders specifically — quick links to the tool.
7+
- name: README and command reference
8+
url: https://github.com/dwoodruff83/rtv-mod-impact-tracker#readme
9+
about: Quickstart, full command reference, and configuration schema.
10+
- name: Road to Vostok Discord
11+
url: https://discord.com/invite/roadtovostok
12+
about: General modding chat for the primary user audience.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Feature request
2+
description: Suggest a new command, flag, output format, or behavior change
3+
title: "[Feature] "
4+
labels: [enhancement]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Lead with the *problem* — what diagnostic or workflow gap are you hitting
10+
with the current tool? Concrete use cases get prioritized over abstract
11+
"would be nice if" ideas. The tool is intentionally small (eight scripts,
12+
stdlib only); proposals that fit that shape land faster.
13+
14+
- type: textarea
15+
id: problem
16+
attributes:
17+
label: Problem / use case
18+
description: What workflow are you trying to accomplish? What's frustrating about the current behavior?
19+
placeholder: |
20+
I'm tracking five upstream deps in deps_fetch and have to run deps_diff
21+
eight separate times to scan everything. Would be nice to scan them all
22+
in one go and get a combined report.
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: proposal
28+
attributes:
29+
label: Proposed behavior
30+
description: What command / flag / output shape would solve it?
31+
validations:
32+
required: true
33+
34+
- type: textarea
35+
id: alternatives
36+
attributes:
37+
label: Alternatives considered
38+
description: Workarounds you tried, or other shapes the feature could take.
39+
validations:
40+
required: false
41+
42+
- type: checkboxes
43+
id: scope
44+
attributes:
45+
label: Scope confirmation
46+
description: The tool is deliberately small. Please confirm the proposal fits.
47+
options:
48+
- label: This can be implemented using only Python's standard library (no `pip install`)
49+
required: true
50+
- label: This doesn't require persistent state outside the existing git repos and config files
51+
required: false
52+
53+
- type: checkboxes
54+
id: checks
55+
attributes:
56+
label: Other confirmations
57+
options:
58+
- label: I searched existing issues for similar requests
59+
required: true
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Takedown request (game developer)
2+
description: For game developers — request changes or removal of this tool
3+
title: "[Takedown] "
4+
labels: [takedown]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
This template is for **developers of games this tool is used against**.
10+
The README's "Legal and ethical use" section commits to working with
11+
you on whatever you'd prefer — adjustments, removal, or anything in
12+
between. Filing here is the right starting point.
13+
14+
Modders who use this tool don't want to fight the people whose games
15+
they love.
16+
17+
- type: input
18+
id: game
19+
attributes:
20+
label: Your game
21+
description: Name + Steam URL.
22+
placeholder: e.g. Road to Vostok — https://store.steampowered.com/app/1963610/
23+
validations:
24+
required: true
25+
26+
- type: input
27+
id: role
28+
attributes:
29+
label: Your role
30+
description: Developer, publisher, legal counsel, etc.
31+
placeholder: e.g. Solo developer
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: concern
37+
attributes:
38+
label: Concern
39+
description: |
40+
What about this tool's existence or behavior would you like changed?
41+
Specific examples help — e.g. "the README's screenshots show
42+
function-level diffs of decompiled vanilla code" or "I'd prefer the
43+
tool not bundle a sample mod_tracker.toml that names my game by id."
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: preferred_outcome
49+
attributes:
50+
label: Preferred outcome
51+
description: |
52+
Choose the level that matches your wishes — or describe something
53+
bespoke. The maintainer will work with you on whichever lands.
54+
placeholder: |
55+
- Adjustment (e.g. specific text removed, screenshot redacted, dep entry removed)
56+
- Repo unlisted (private, but accessible via direct link to existing users)
57+
- Repo archived (read-only, no future development, GitHub Releases removed)
58+
- Repo deleted (full removal, including ModWorkshop entry)
59+
validations:
60+
required: true
61+
62+
- type: input
63+
id: contact
64+
attributes:
65+
label: Contact (optional)
66+
description: If you'd prefer to continue the discussion off-issue (email, Discord, etc.), provide a contact handle. The maintainer's GitHub username is @dwoodruff83 if you'd rather DM there.
67+
validations:
68+
required: false

0 commit comments

Comments
 (0)