Skip to content

Commit 603d779

Browse files
committed
docs: revamp issue templates
1 parent 81c7b0b commit 603d779

File tree

6 files changed

+238
-32
lines changed

6 files changed

+238
-32
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: Question
2+
description: Ask about configuration and usage of 'mini.nvim'
3+
body:
4+
- type: checkboxes
5+
id: guidelines
6+
attributes:
7+
label: Contributing guidelines
8+
options:
9+
- label: I have read [CODE_OF_CONDUCT.md](https://github.com/echasnovski/mini.nvim/blob/main/CODE_OF_CONDUCT.md)
10+
required: true
11+
- type: dropdown
12+
id: module
13+
attributes:
14+
label: "Module(s)"
15+
description: "Choose one or several modules this question is related to"
16+
multiple: true
17+
options:
18+
- mini.ai
19+
- mini.align
20+
- mini.animate
21+
- mini.base16
22+
- mini.basics
23+
- mini.bracketed
24+
- mini.bufremove
25+
- mini.clue
26+
- mini.colors
27+
- mini.comment
28+
- mini.completion
29+
- mini.cursorword
30+
- mini.deps
31+
- mini.diff
32+
- mini.doc
33+
- mini.extra
34+
- mini.files
35+
- mini.fuzzy
36+
- mini.git
37+
- mini.hipatterns
38+
- mini.hues
39+
- mini.icons
40+
- mini.indentscope
41+
- mini.jump
42+
- mini.jump2d
43+
- mini.map
44+
- mini.misc
45+
- mini.move
46+
- mini.notify
47+
- mini.operators
48+
- mini.pairs
49+
- mini.pick
50+
- mini.sessions
51+
- mini.snippets
52+
- mini.splitjoin
53+
- mini.starter
54+
- mini.statusline
55+
- mini.surround
56+
- mini.tabline
57+
- mini.test
58+
- mini.trailspace
59+
- mini.visits
60+
- none of the above
61+
- all of the above
62+
validations:
63+
required: true
64+
- type: textarea
65+
id: description
66+
attributes:
67+
label: "Question"
68+
validations:
69+
required: true
70+
Lines changed: 95 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,123 @@
11
name: Bug report
2-
description: Report a problem
2+
description: Report a problem with the existing module(s)
33
labels: [bug]
44
body:
55
- type: checkboxes
6+
id: guidelines
67
attributes:
78
label: Contributing guidelines
89
options:
910
- label: I have read [CONTRIBUTING.md](https://github.com/echasnovski/mini.nvim/blob/main/CONTRIBUTING.md)
1011
required: true
1112
- label: I have read [CODE_OF_CONDUCT.md](https://github.com/echasnovski/mini.nvim/blob/main/CODE_OF_CONDUCT.md)
1213
required: true
13-
- label: I have updated 'mini.nvim' to latest version
14+
- label: I have updated 'mini.nvim' to latest version of the `main` branch
1415
required: true
15-
- type: input
16+
- type: dropdown
17+
id: module
1618
attributes:
1719
label: "Module(s)"
18-
description: "List one or several modules this bug is coming from"
19-
validations:
20-
required: true
21-
- type: textarea
22-
attributes:
23-
label: "Description"
24-
description: "A short description of a problem"
20+
description: "Choose one or several modules the problem is related to"
21+
multiple: true
22+
options:
23+
- mini.ai
24+
- mini.align
25+
- mini.animate
26+
- mini.base16
27+
- mini.basics
28+
- mini.bracketed
29+
- mini.bufremove
30+
- mini.clue
31+
- mini.colors
32+
- mini.comment
33+
- mini.completion
34+
- mini.cursorword
35+
- mini.deps
36+
- mini.diff
37+
- mini.doc
38+
- mini.extra
39+
- mini.files
40+
- mini.fuzzy
41+
- mini.git
42+
- mini.hipatterns
43+
- mini.hues
44+
- mini.icons
45+
- mini.indentscope
46+
- mini.jump
47+
- mini.jump2d
48+
- mini.map
49+
- mini.misc
50+
- mini.move
51+
- mini.notify
52+
- mini.operators
53+
- mini.pairs
54+
- mini.pick
55+
- mini.sessions
56+
- mini.snippets
57+
- mini.splitjoin
58+
- mini.starter
59+
- mini.statusline
60+
- mini.surround
61+
- mini.tabline
62+
- mini.test
63+
- mini.trailspace
64+
- mini.visits
2565
validations:
2666
required: true
27-
- type: input
67+
- type: dropdown
68+
id: nvim-version
2869
attributes:
2970
label: "Neovim version"
30-
description: "Something like `0.5`, `0.5.1`, Neovim nightly (please, include latest commit)"
71+
description: "Choose the latest Neovim version on which you can reproduce the problem"
72+
multiple: false
73+
options:
74+
- 0.8.x
75+
- 0.9.x
76+
- 0.10.x
77+
- 0.11 (!at least latest Nightly build!)
78+
default: 2
3179
validations:
3280
required: true
3381
- type: textarea
82+
id: description
3483
attributes:
35-
label: "Steps to reproduce"
36-
description: "Steps to reproduce using as minimal config as possible"
37-
value: |
38-
1. `nvim -nu minimal.lua`
39-
2. ...
84+
label: "Description"
85+
description: "A short description of a problem; include expected behavior"
4086
validations:
4187
required: true
4288
- type: textarea
89+
id: reproduction
4390
attributes:
44-
label: "Expected behavior"
45-
description: "A description of behavior you expected"
46-
- type: textarea
47-
attributes:
48-
label: "Actual behavior"
49-
description: "A description of behavior you observed (feel free to include images, gifs, etc.)"
91+
label: "Reproduction"
92+
description: "Steps to reproduce the issue. Suggested steps involve creating an independent config from scratch. If can not reproduce like this, please ask a usage question first."
93+
value: |
94+
1. Create separate 'nvim-repro' config directory:
95+
- '~/.config/nvim-repro/' on Unix
96+
- '~/AppData/Local/nvim-repro/' on Windows
97+
98+
2. Inside 'nvim-repro' directory create a file named 'init.lua'.
99+
Populate it with the following content:
100+
101+
```lua
102+
-- Clone 'mini.nvim' (requires Git CLI installed)
103+
local mini_path = vim.fn.stdpath('data') .. '/site/pack/deps/start/mini.nvim'
104+
if not vim.loop.fs_stat(mini_path) then
105+
vim.cmd('echo "Installing `mini.nvim`" | redraw')
106+
local clone_cmd = { 'git', 'clone', '--depth=1', 'https://github.com/echasnovski/mini.nvim', mini_path }
107+
vim.fn.system(clone_cmd)
108+
vim.cmd('packadd mini.nvim')
109+
end
110+
111+
require('mini.deps').setup()
112+
113+
-- Add extra setup steps needed to reproduce the behavior
114+
-- Use `MiniDeps.add('user/repo')` to install another plugin from GitHub
115+
```
116+
117+
3. Run `NVIM_APPNAME=nvim-repro nvim` (i.e. execute `nvim` with `NVIM_APPNAME` environment variable set to "nvim-repro").
118+
Wait for all dependencies to install.
119+
120+
4-*. Describe interactive reproduction steps along with the behavior you observe.
121+
Feel free to include images/videos/etc, this helps a lot.
50122
validations:
51123
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
blank_issues_enabled: true
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Question
4+
url: https://github.com/echasnovski/mini.nvim/discussions/new?category=q-a
5+
about: Ask about configuration and usage of 'mini.nvim'

.github/ISSUE_TEMPLATE/feature-request.yml

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,70 @@
11
name: Feature request
2-
description: Describe a feature you want to see
2+
description: Describe a new feature you would like to see
33
labels: [feature-request]
44
body:
55
- type: checkboxes
6+
id: guidelines
67
attributes:
78
label: Contributing guidelines
89
options:
910
- label: I have read [CONTRIBUTING.md](https://github.com/echasnovski/mini.nvim/blob/main/CONTRIBUTING.md)
1011
required: true
1112
- label: I have read [CODE_OF_CONDUCT.md](https://github.com/echasnovski/mini.nvim/blob/main/CODE_OF_CONDUCT.md)
1213
required: true
13-
- type: input
14+
- type: dropdown
15+
id: module
1416
attributes:
1517
label: "Module(s)"
16-
description: "List one or several modules this feature is related to"
18+
description: "Choose one or several modules this feature is related to. Choose 'new' for a new module suggestion."
19+
multiple: true
20+
options:
21+
- mini.ai
22+
- mini.align
23+
- mini.animate
24+
- mini.base16
25+
- mini.basics
26+
- mini.bracketed
27+
- mini.bufremove
28+
- mini.clue
29+
- mini.colors
30+
- mini.comment
31+
- mini.completion
32+
- mini.cursorword
33+
- mini.deps
34+
- mini.diff
35+
- mini.doc
36+
- mini.extra
37+
- mini.files
38+
- mini.fuzzy
39+
- mini.git
40+
- mini.hipatterns
41+
- mini.hues
42+
- mini.icons
43+
- mini.indentscope
44+
- mini.jump
45+
- mini.jump2d
46+
- mini.map
47+
- mini.misc
48+
- mini.move
49+
- mini.notify
50+
- mini.operators
51+
- mini.pairs
52+
- mini.pick
53+
- mini.sessions
54+
- mini.snippets
55+
- mini.splitjoin
56+
- mini.starter
57+
- mini.statusline
58+
- mini.surround
59+
- mini.tabline
60+
- mini.test
61+
- mini.trailspace
62+
- mini.visits
63+
- new
1764
validations:
1865
required: true
1966
- type: textarea
67+
id: description
2068
attributes:
2169
label: "Description"
2270
description: "A concise and justified description of a feature"

CONTRIBUTING.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ You can make contributions in the following ways:
66

77
- **Mention it** somehow to help reach broader audience. This helps a lot.
88
- **Create a GitHub issue**. It can be one of the following types:
9-
- **Bug report**. Describe your actions in a reproducible way along with their effect and what you expected should happen. Before making one, please make your best efforts to make sure that it is not an intended behavior (not described in documentation as such).
9+
- **Bug report**. Describe your actions in a reproducible way along with their effect and what you expected should happen. Before making one, please make your best efforts to:
10+
- Make sure that it is not an intended behavior, i.e. not described in documentation as such.
11+
- Make sure that it was not reported before, i.e. there is no bug report already created (no matter open or closed).
1012
- **Feature request**. A concise and justified description of what one or several modules should be able to do. Before making one, please make your best efforts to make sure that it is not a feature that won't get implemented (these should be described in documentation; for example: block comments in 'mini.comment').
1113
- **Create a pull request (PR)**. It can be one of the following types:
1214
- **Code related**. For example, fix a bug or implement a feature. **Before even starting one, please make sure that it is aligned with project vision and goals**. The best way to do so is to receive positive feedback from maintainer on your initiative in one of the GitHub issues (existing or created by you). Please, make sure to regenerate latest help file and that all tests pass (see later sections).

MAINTAINING.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ Begin the process of stopping official support for outdated Neovim version short
111111
end
112112
```
113113

114-
- Modify CI to not test on Neovim 0.x.
114+
- Modify CI to not test on old Neovim version.
115+
- Update issue template to not include old Neovim version.
115116
- Update README and repo description to indicate new oldest supported Neovim version.
116117
- Wait for a considerable amount of time (at least about a month) *and* a new 'mini.nvim' stable release (so that there is no actual deprecation in the stable release).
117118

@@ -121,6 +122,11 @@ Begin the process of stopping official support for outdated Neovim version short
121122
- Adjust code/comments/documentation that contains any combination of `Neovim{<,<=,=,>=,>}{0.x,0.(x+1)}` (like `Neovim<0.x`, `Neovim>=0.(x+1)`, etc.).
122123
- Add entry "Stop official support of Neovim 0.x." in 'CHANGELOG.md' at the start of current development version block.
123124

125+
## Reacting to new minor Neovim version
126+
127+
- Modify CI to test on new Neovim version.
128+
- Update issue template to mention new Neovim version as released one, make it default choice, and bump Nightly version.
129+
124130
## Adding new config settings
125131

126132
- Add code which uses new setting.
@@ -145,9 +151,13 @@ Begin the process of stopping official support for outdated Neovim version short
145151
- Add Lua source code in 'lua' directory.
146152
- Add tests in 'tests' directory. Use 'tests/dir-xxx' name for module-specific non-test helpers.
147153
- Update 'lua/init.lua' to mention new module: both in initial table of contents and list of modules.
148-
- Update 'scripts/minidoc.lua' to generate separate help file.
149-
- Update 'scripts/dual_sync.sh' to include new module.
150-
- Update 'scripts/dual_release.sh' to include new module.
154+
- Add new module to the following files:
155+
- 'scripts/minidoc.lua' to generate separate help file.
156+
- 'scripts/dual_sync.sh' to include new module.
157+
- 'scripts/dual_release.sh' to include new module.
158+
- '.github/ISSUE_TEMPLATE/bug-report.yml' to be included in a dropdown menu.
159+
- '.github/ISSUE_TEMPLATE/feature-request.yml' to be included in a dropdown menu.
160+
- '.github/DISCUSSION_TEMPLATE/q-a.yml' to be included in a dropdown menu.
151161
- Generate help files.
152162
- Add README to 'readmes' directory. NOTE: comment out mentions of `stable` branch, as it won't work during beta-testing.
153163
- Update main README to mention new module in table of contents.

0 commit comments

Comments
 (0)