Skip to content

Commit 3dde0b1

Browse files
committed
feat: #123 enhance issue and contribution workflows
- Add structured GitHub issue forms for: - Bug reports with environment details - Feature requests with acceptance criteria - Documentation improvements with checklists - Update contributing guide with: - Issue-based branch naming convention - Issue number references in commits - Clear forking and PR workflows
1 parent 516dd89 commit 3dde0b1

File tree

5 files changed

+300
-25
lines changed

5 files changed

+300
-25
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
name: 🐛 Bug Report
2+
description: File a bug report
3+
title: "[Bug]: "
4+
labels: ["bug"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill out this bug report!
10+
11+
- type: textarea
12+
id: bug-description
13+
attributes:
14+
label: Bug Description
15+
description: A clear and concise description of what the bug is
16+
placeholder: When I run X command, Y happens instead of Z...
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: reproduction
22+
attributes:
23+
label: Steps To Reproduce
24+
description: Steps to reproduce the behavior
25+
placeholder: |
26+
1. Run command '...'
27+
2. With input '...'
28+
3. See error
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: expected
34+
attributes:
35+
label: Expected Behavior
36+
description: What did you expect to happen?
37+
placeholder: The command should have...
38+
validations:
39+
required: true
40+
41+
- type: dropdown
42+
id: os
43+
attributes:
44+
label: Operating System
45+
description: What OS are you using?
46+
options:
47+
- macOS
48+
- Linux
49+
- Windows
50+
validations:
51+
required: true
52+
53+
- type: input
54+
id: python-version
55+
attributes:
56+
label: Python Version
57+
description: What version of Python are you using?
58+
placeholder: e.g., 3.9.6
59+
validations:
60+
required: true
61+
62+
- type: input
63+
id: helm-version
64+
attributes:
65+
label: Helm Version
66+
description: What version of Helm are you using?
67+
placeholder: e.g., 3.12.0
68+
validations:
69+
required: true
70+
71+
- type: input
72+
id: package-version
73+
attributes:
74+
label: Package Version
75+
description: What version of helm-values-manager are you using?
76+
placeholder: e.g., 0.1.0
77+
validations:
78+
required: true
79+
80+
- type: textarea
81+
id: logs
82+
attributes:
83+
label: Relevant Log Output
84+
description: Please copy and paste any relevant log output
85+
render: shell
86+
87+
- type: textarea
88+
id: additional
89+
attributes:
90+
label: Additional Context
91+
description: Add any other context about the problem here

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: 💬 Questions & Discussions
4+
url: https://github.com/zipstack/helm-values-manager/discussions
5+
about: Please ask and answer questions here.
6+
- name: 📖 Documentation
7+
url: https://github.com/zipstack/helm-values-manager/tree/main/docs
8+
about: Check our documentation before creating an issue.
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: 📚 Documentation
2+
description: Suggest improvements or report issues in documentation
3+
title: "[Docs]: "
4+
labels: ["documentation"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for helping us improve our documentation!
10+
11+
- type: dropdown
12+
id: doc-type
13+
attributes:
14+
label: Documentation Type
15+
description: What type of documentation needs attention?
16+
options:
17+
- README
18+
- API Documentation
19+
- Installation Guide
20+
- Usage Examples
21+
- Architecture/Design Docs
22+
- Contributing Guide
23+
- Other
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: current-issue
29+
attributes:
30+
label: Current Documentation Issue
31+
description: What's missing, unclear, or incorrect in the current documentation?
32+
placeholder: The current documentation lacks information about...
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: suggested-changes
38+
attributes:
39+
label: Suggested Changes
40+
description: Describe your suggested changes or additions
41+
placeholder: |
42+
The documentation should include:
43+
1. ...
44+
2. ...
45+
validations:
46+
required: true
47+
48+
- type: checkboxes
49+
id: checklist
50+
attributes:
51+
label: Checklist
52+
options:
53+
- label: I've checked that this isn't already documented somewhere else
54+
required: true
55+
- label: I've provided specific suggestions for improvement
56+
required: true
57+
- label: I've included examples where relevant
58+
required: false
59+
60+
- type: textarea
61+
id: additional
62+
attributes:
63+
label: Additional Context
64+
description: Add any other context about the documentation request here
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: ✨ Feature Request
2+
description: Suggest an idea for this project
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to suggest a new feature!
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Problem Statement
15+
description: Is your feature request related to a problem? Please describe.
16+
placeholder: I'm always frustrated when [...]
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: solution
22+
attributes:
23+
label: Proposed Solution
24+
description: Describe the solution you'd like
25+
placeholder: |
26+
A clear and concise description of what you want to happen.
27+
Include any specific implementation details you have in mind.
28+
validations:
29+
required: true
30+
31+
- type: textarea
32+
id: alternatives
33+
attributes:
34+
label: Alternative Solutions
35+
description: Describe alternatives you've considered
36+
placeholder: What other approaches could solve this problem?
37+
validations:
38+
required: false
39+
40+
- type: checkboxes
41+
id: requirements
42+
attributes:
43+
label: Requirements
44+
description: Please confirm these requirements
45+
options:
46+
- label: This feature aligns with the project's scope and goals
47+
required: true
48+
- label: I've checked that this feature doesn't already exist
49+
required: true
50+
- label: I've searched for existing feature requests
51+
required: true
52+
53+
- type: textarea
54+
id: acceptance-criteria
55+
attributes:
56+
label: Acceptance Criteria
57+
description: List the requirements that should be met
58+
placeholder: |
59+
- [ ] Feature does X when Y
60+
- [ ] Handles error case Z
61+
- [ ] Documentation updated
62+
- [ ] Tests added
63+
validations:
64+
required: true
65+
66+
- type: textarea
67+
id: additional
68+
attributes:
69+
label: Additional Context
70+
description: Add any other context about the feature request here

CONTRIBUTING.md

Lines changed: 67 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -10,53 +10,95 @@ We love your input! We want to make contributing to Helm Values Manager as easy
1010

1111
## Development Process
1212

13-
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
14-
15-
1. Fork the repo and create your branch from `main`.
16-
2. If you've added code that should be tested, add tests.
17-
3. If you've changed APIs, update the documentation.
18-
4. Ensure the test suite passes.
19-
5. Make sure your code passes all code quality checks.
20-
6. Issue that pull request!
13+
Before starting work:
14+
1. Check if a GitHub issue exists for your feature/bug
15+
- If not, create a new issue using the appropriate template:
16+
- Bug Report: For reporting bugs
17+
- Feature Request: For proposing new features
18+
- Documentation: For documentation improvements
19+
- If yes, comment on the issue to let others know you're working on it
20+
21+
For contributors with write access:
22+
1. Create a new branch from `main` using the issue number (see Branch Naming below)
23+
2. Make your changes following our development guidelines
24+
3. Create a pull request
25+
26+
For contributors without write access:
27+
1. Fork the repository
28+
2. Create a new branch in your fork
29+
- We recommend creating a branch even in your fork to:
30+
- Keep your fork's main branch clean and in sync with upstream
31+
- Work on multiple issues simultaneously
32+
- Make PR feedback changes easier
33+
3. Make your changes in the branch
34+
4. Create a pull request from your fork's branch to our main repository
35+
36+
For all contributors:
37+
1. If you've added code that should be tested, add tests
38+
2. If you've changed APIs, update the documentation
39+
3. Ensure the test suite passes
40+
4. Make sure your code passes all code quality checks
2141

2242
## Version Control Guidelines
2343

24-
### Branch Naming
25-
- Feature branches: `feature/short-description`
26-
- Bug fixes: `fix/issue-description`
27-
- Documentation: `docs/what-changed`
28-
- Release branches: `release/version-number`
44+
### Branch Naming Convention
45+
46+
All branches should follow this naming convention:
47+
48+
```
49+
<issue-number>-<short-description>
50+
```
51+
52+
For example:
53+
- `123-add-aws-secrets-backend`
54+
- `456-fix-path-validation`
55+
- `789-update-documentation`
56+
57+
Note: This naming convention is required for branches in the main repository. When working in your own fork, we recommend:
58+
1. Creating a dedicated branch for each issue (don't work in main)
59+
2. Following the same naming convention for consistency
60+
3. Keeping your fork's main branch clean for easy upstream syncing
2961

3062
### Commit Messages
31-
Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification:
63+
64+
Follow the [Conventional Commits](https://www.conventionalcommits.org/) specification with issue number references:
65+
3266
```
33-
<type>[optional scope]: <description>
67+
<type>[optional scope]: #<issue-number> <description>
3468
3569
[optional body]
3670
3771
[optional footer(s)]
3872
```
3973

4074
Types:
41-
- `feat`: New feature
42-
- `fix`: Bug fix
75+
- `feat`: A new feature
76+
- `fix`: A bug fix
4377
- `docs`: Documentation only changes
4478
- `style`: Changes that do not affect the meaning of the code
45-
- `refactor`: Code change that neither fixes a bug nor adds a feature
79+
- `refactor`: A code change that neither fixes a bug nor adds a feature
4680
- `test`: Adding missing tests or correcting existing tests
4781
- `chore`: Changes to the build process or auxiliary tools
4882

49-
Example:
83+
Examples:
84+
```
85+
feat: #123 add AWS Secrets backend
86+
fix: #456 handle empty paths correctly
87+
docs: #789 update installation guide
88+
test: #234 add integration tests for Value class
5089
```
51-
feat(value): add support for remote storage backends
52-
53-
- Implement ValueBackend interface
54-
- Add AWS Secrets Manager backend
55-
- Add Azure Key Vault backend
5690

57-
Closes #123
91+
For multiple issues, include all issue numbers:
92+
```
93+
fix: #111 #222 resolve path handling edge cases
5894
```
5995

96+
Note:
97+
- Always include the issue number with a `#` prefix
98+
- Place the issue number before the description
99+
- Multiple issues should be space-separated
100+
- The description should still be clear without the issue number
101+
60102
## Important Documentation
61103

62104
Before contributing, please review these important documents:

0 commit comments

Comments
 (0)