Skip to content

Commit 2f1ed33

Browse files
authored
docs: create beginner issue guidelines (#1325)
Signed-off-by: exploreriii <[email protected]>
1 parent 5ca07c6 commit 2f1ed33

File tree

8 files changed

+388
-485
lines changed

8 files changed

+388
-485
lines changed

.github/ISSUE_TEMPLATE/01_good_first_issue_candidate.yml

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -38,30 +38,36 @@ body:
3838
value: |
3939
> [!IMPORTANT]
4040
> ### 📋 Good First Issue (GFI) Guidelines
41-
>
42-
> **What we generally consider good first issues:**
41+
> A Good First Issue generally has a narrow scope and clear instructions, with examples or solution provided.
42+
>
43+
> Examples of acceptable GFI work include:
44+
>
45+
> - **Very small, explicitly defined changes to `src` functionality**
46+
> *(rare and mechanical only — not behavior-changing)*, such as:
47+
> - Adding or fixing `__str__` or `__repr__` methods **when the exact output is specified**
48+
> - Fully specified typing fixes (e.g. adding a known return type)
49+
> - **Refactors of existing examples** that are purely structural:
50+
> - Splitting an existing example into functions
51+
> - Combining a split example into a single function
52+
> *(when explicitly instructed)*
53+
> - **Documentation improvements** that are instruction-driven:
54+
> - Fixing known typos or grammar issues
55+
> - Renaming variables when new names are provided
56+
> - Making explicitly requested changes to docstrings, comments, or print statements
57+
> - **Functional improvements to examples**
58+
> *(only when the additional steps are explicitly described)*
59+
> - **Small, clearly specified edits to existing tests**
60+
> - Adding a known assertion to an existing test file
4361
>
44-
> - **Narrow changes or additions to `src` functionality** that use generic Python skills which can be tested by adding to an existing test. For example:
45-
> - `__str__` functions
46-
> - `__repr__` functions
47-
> - Typing fixes, like return type hints or basic type conflicts
48-
> - **Refactors of existing examples:**
49-
> - Separating existing examples into separate functions
50-
> - Or, conversely, taking a split example into a monolithic function
51-
> - **Improvements to documentation** in examples and source code:
52-
> - Docstrings: module docstrings, function docstrings
53-
> - Inline comments
54-
> - Addition or changes to print statements to improve clarity
55-
> - **Functional improvements to examples:**
56-
> - Additional steps that would help to illustrate functionality
57-
> - **Specific additions to existing unit or integration tests**
62+
> **What we do NOT consider Good First Issues:**
5863
>
59-
> **What we generally do NOT consider good first issues:**
64+
> - Writing new documentation, examples, or tests
65+
> - Any change that requires deciding *what* to do or *how* something should behave
66+
> - Changes to SDK behavior, public APIs, or contracts
67+
> - Changes to DLT or protocol logic, including `to_proto` / `from_proto`
68+
> - Work spanning multiple files, modules, or subsystems
69+
> - Tasks requiring domain, protocol, or architectural knowledge
6070
>
61-
> - Creation of new examples
62-
> - Creation of new unit and integration tests
63-
> - Changes to DLT functionality, like `to_proto` and `from_proto`
64-
> - Anything requiring knowledge of multiple areas of the codebase
6571
>
6672
> 📖 *For a more detailed explanation, refer to:
6773
> [`docs/maintainers/good_first_issue_candidate_guidelines.md`](docs/maintainers/good_first_issue_candidate_guidelines.md).*
@@ -72,7 +78,7 @@ body:
7278
label: 👾 Description of the issue
7379
description: |
7480
DESCRIBE THE ISSUE IN A WAY THAT IS UNDERSTANDABLE TO NEW CONTRIBUTORS.
75-
YOU MUST NOT ASSUME THAT SUCH CONTRIBUTORS HAVE ANY KNOWLEDGE ABOUT THE CODEBASE OR HIERO.
81+
YOU MUST NOT ASSUME THAT SUCH CONTRIBUTORS HAVE ANY KNOWLEDGE ABOUT THE LANGUAGE, CODEBASE OR HIERO.
7682
IT IS HELPFUL TO ADD LINKS TO THE RELEVANT DOCUMENTATION AND/OR CODE SECTIONS.
7783
BELOW IS AN EXAMPLE.
7884
value: |
@@ -237,7 +243,8 @@ body:
237243
EDIT OR EXPAND THE CHECKLIST ON WHAT IS REQUIRED TO BE ABLE TO MERGE A PULL REQUEST FOR THIS ISSUE
238244
value: |
239245
To be able to merge a pull request for this issue, we need:
240-
- [ ] **Assignment:** You must be assigned to the issue, comment: `/assign` in the issue to get assigned [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
246+
247+
- [ ] **Assignment:** get assigned by commenting `/assign` [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
241248
- [ ] **Changelog Entry:** Correct changelog entry [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/changelog_entry.md)
242249
- [ ] **Signed commits:** commits must be DCO and GPG key signed [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/signing.md)
243250
- [ ] **All Tests Pass:** our workflow checks like unit and integration tests must pass
@@ -254,7 +261,7 @@ body:
254261
value: |
255262
If you have never contributed to an open source project at GitHub, the following step-by-step guide will introduce you to the workflow.
256263
257-
- [ ] **Assignment:** You must be assigned to the issue, comment: `/assign` in the issue to get assigned [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
264+
- [ ] **Assignment:** get assigned by commenting `/assign` [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
258265
- [ ] **Fork, Branch and Work on the issue:** Create a copy of the repository, create a branch for the issue and solve the problem. For instructions, please read our [Contributing guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/CONTRIBUTING.md) file. Further help can be found at [Set-up Training](https://github.com/hiero-ledger/hiero-sdk-python/tree/main/docs/sdk_developers/training/setup) and [Workflow Training](https://github.com/hiero-ledger/hiero-sdk-python/tree/main/docs/sdk_developers/training/workflow).
259266
- [ ] **DCO and GPG key sign each commit :** each commit must be -s and -S signed. An explanation on how to do this is at [Signing Guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/signing.md)
260267
- [ ] **Add a Changelog Entry :** your pull request will require a changelog. Read [Changelog Entry Guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/changelog_entry.md) to learn how.

.github/ISSUE_TEMPLATE/04_good_first_issue.yml

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -30,41 +30,47 @@ body:
3030
value: |
3131
> [!IMPORTANT]
3232
> ### 📋 Good First Issue (GFI) Guidelines
33-
>
34-
> **What we generally consider good first issues:**
33+
> A Good First Issue generally has a narrow scope and clear instructions, with examples or solution provided.
34+
>
35+
> Examples of acceptable GFI work include:
3536
>
36-
> - **Narrow changes or additions to `src` functionality** that use generic Python skills which can be tested by adding to an existing test. For example:
37-
> - `__str__` functions
38-
> - `__repr__` functions
39-
> - Typing fixes, like return type hints or basic type conflicts
40-
> - **Refactors of existing examples:**
41-
> - Separating existing examples into separate functions
42-
> - Or, conversely, taking a split example into a monolithic function
43-
> - **Improvements to documentation** in examples and source code:
44-
> - Docstrings: module docstrings, function docstrings
45-
> - Inline comments
46-
> - Addition or changes to print statements to improve clarity
47-
> - **Functional improvements to examples:**
48-
> - Additional steps that would help to illustrate functionality
49-
> - **Specific additions to existing unit or integration tests**
37+
> - **Very small, explicitly defined changes to `src` functionality**
38+
> *(rare and mechanical only — not behavior-changing)*, such as:
39+
> - Adding or fixing `__str__` or `__repr__` methods **when the exact output is specified**
40+
> - Fully specified typing fixes (e.g. adding a known return type)
41+
> - **Refactors of existing examples** that are purely structural:
42+
> - Splitting an existing example into functions
43+
> - Combining a split example into a single function
44+
> *(when explicitly instructed)*
45+
> - **Documentation improvements** that are instruction-driven:
46+
> - Fixing known typos or grammar issues
47+
> - Renaming variables when new names are provided
48+
> - Making explicitly requested changes to docstrings, comments, or print statements
49+
> - **Functional improvements to examples**
50+
> *(only when the additional steps are explicitly described)*
51+
> - **Small, clearly specified edits to existing tests**
52+
> - Adding a known assertion to an existing test file
5053
>
51-
> **What we generally do NOT consider good first issues:**
54+
> **What we do NOT consider Good First Issues:**
55+
>
56+
> - Writing new documentation, examples, or tests
57+
> - Any change that requires deciding *what* to do or *how* something should behave
58+
> - Changes to SDK behavior, public APIs, or contracts
59+
> - Changes to DLT or protocol logic, including `to_proto` / `from_proto`
60+
> - Work spanning multiple files, modules, or subsystems
61+
> - Tasks requiring domain, protocol, or architectural knowledge
5262
>
53-
> - Creation of new examples
54-
> - Creation of new unit and integration tests
55-
> - Changes to DLT functionality, like `to_proto` and `from_proto`
56-
> - Anything requiring knowledge of multiple areas of the codebase
5763
>
5864
> 📖 *For a more detailed explanation, refer to:
59-
> [`docs/maintainers/good_first_issues_guidelines.md`](docs/maintainers/good_first_issues_guidelines.md).*
65+
> [`docs/maintainers/good_first_issue_candidate_guidelines.md`](docs/maintainers/good_first_issue_candidate_guidelines.md).*
6066
6167
- type: textarea
6268
id: issue
6369
attributes:
6470
label: 👾 Description of the issue
6571
description: |
6672
DESCRIBE THE ISSUE IN A WAY THAT IS UNDERSTANDABLE TO NEW CONTRIBUTORS.
67-
YOU MUST NOT ASSUME THAT SUCH CONTRIBUTORS HAVE ANY KNOWLEDGE ABOUT THE CODEBASE OR HIERO.
73+
YOU MUST NOT ASSUME THAT SUCH CONTRIBUTORS HAVE ANY KNOWLEDGE ABOUT THE LANGUAGE, CODEBASE OR HIERO.
6874
IT IS HELPFUL TO ADD LINKS TO THE RELEVANT DOCUMENTATION AND/OR CODE SECTIONS.
6975
BELOW IS AN EXAMPLE.
7076
value: |
@@ -229,7 +235,8 @@ body:
229235
EDIT OR EXPAND THE CHECKLIST ON WHAT IS REQUIRED TO BE ABLE TO MERGE A PULL REQUEST FOR THIS ISSUE
230236
value: |
231237
To be able to merge a pull request for this issue, we need:
232-
- [ ] **Assignment:** You must be assigned to the issue, comment: `/assign` in the issue to get assigned [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
238+
239+
- [ ] **Assignment:** get assigned by commenting `/assign` [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
233240
- [ ] **Changelog Entry:** Correct changelog entry [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/changelog_entry.md)
234241
- [ ] **Signed commits:** commits must be DCO and GPG key signed [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/signing.md)
235242
- [ ] **All Tests Pass:** our workflow checks like unit and integration tests must pass
@@ -246,7 +253,7 @@ body:
246253
value: |
247254
If you have never contributed to an open source project at GitHub, the following step-by-step guide will introduce you to the workflow.
248255
249-
- [ ] **Assignment:** You must be assigned to the issue, comment: `/assign` in the issue to get assigned [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
256+
- [ ] **Assignment:** get assigned by commenting `/assign` [see guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/training/workflow/04_assigning_issues.md)
250257
- [ ] **Fork, Branch and Work on the issue:** Create a copy of the repository, create a branch for the issue and solve the problem. For instructions, please read our [Contributing guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/CONTRIBUTING.md) file. Further help can be found at [Set-up Training](https://github.com/hiero-ledger/hiero-sdk-python/tree/main/docs/sdk_developers/training/setup) and [Workflow Training](https://github.com/hiero-ledger/hiero-sdk-python/tree/main/docs/sdk_developers/training/workflow).
251258
- [ ] **DCO and GPG key sign each commit :** each commit must be -s and -S signed. An explanation on how to do this is at [Signing Guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/signing.md)
252259
- [ ] **Add a Changelog Entry :** your pull request will require a changelog. Read [Changelog Entry Guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/changelog_entry.md) to learn how.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ This changelog is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.
77
## [Unreleased]
88

99
### Added
10+
- Beginner issue documentation and updated GFI and GFIC templates and documentation
1011
- Enable auto assignment to good first issues (#1312), archived good first issue support team notification. Changed templates with new assign instruction.
1112
- Added unit test for 'endpoint.py' to increase coverage.
1213
- Automated assignment guard for `advanced` issues; requires completion of at least one `good first issue` and one `intermediate` issue before assignment (exempts maintainers, committers, and triage members). (#1142)

docs/GFI/GFI-Guidelines.md

Lines changed: 0 additions & 137 deletions
This file was deleted.

docs/GFI/GFI-Management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ Updates should be treated as **process guidance**, not rigid policy.
155155
## Relationship to Other GFI Documents
156156

157157
This document complements:
158-
- `GFI-guidelines.md` — what qualifies as a GFI
158+
- `good_first_issues_guidelines` — what qualifies as a GFI (docs/maintainers/good_first_issues_guidelines.md)
159159
- `GFI-frequency.md` — how many GFIs to support
160160
- Issue templates and labeling conventions
161161

0 commit comments

Comments
 (0)