|
| 1 | +name: Good First Issue Candidate Template |
| 2 | +description: Propose a potential Good First Issue (candidate) |
| 3 | +labels: ["Good First Issue Candidate"] |
| 4 | +assignees: [] |
| 5 | +body: |
| 6 | + - type: markdown |
| 7 | + attributes: |
| 8 | + value: | |
| 9 | + --- |
| 10 | + ## **Thanks for creating a Good First Issue Candidate!** 😊 |
| 11 | +
|
| 12 | + Good First Issue Candidates are proposed tasks that are being evaluated for suitability as Good First Issues. They may require clarification or refinement before they are ready to be picked up by new contributors. |
| 13 | +
|
| 14 | + Read more: |
| 15 | + > [Applying Good First Issue Candidate Label](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-maintainers/labelling-issues-examples.md) |
| 16 | + > [Issue Progression System](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-maintainers/README.md) |
| 17 | + --- |
| 18 | +
|
| 19 | + - type: textarea |
| 20 | + id: intro-gfi-candidate |
| 21 | + attributes: |
| 22 | + label: ⚠️ Good First Issue — Candidate |
| 23 | + value: | |
| 24 | + > This issue is not yet a confirmed Good First Issue. |
| 25 | + > It is being evaluated for suitability and may require |
| 26 | + > clarification or refinement before it is ready to be picked up. |
| 27 | + > |
| 28 | + > **Please wait for maintainer confirmation before asking to be assigned.** |
| 29 | + validations: |
| 30 | + required: false |
| 31 | + |
| 32 | + - type: textarea |
| 33 | + id: intro |
| 34 | + attributes: |
| 35 | + label: 🆕🐥 Newcomer Friendly |
| 36 | + description: | |
| 37 | + Adapt as needed. Welcome message. |
| 38 | + value: | |
| 39 | + Welcome! This is a **[Good First Issue Candidate](https://github.com/issues?q=is%3Aopen%20is%3Aissue%20org%3Ahiero-ledger%20archived%3Afalse%20no%3Aassignee%20(label%3A%22good%20first%20issue%22%20OR%20label%3A%22skill%3A%20good%20first%20issue%22)%20(repo%3Ahiero-ledger%2Fhiero-sdk-cpp%20OR%20repo%3Ahiero-ledger%2Fhiero-sdk-swift%20OR%20repo%3Ahiero-ledger%2Fhiero-sdk-python%20OR%20repo%3Ahiero-ledger%2Fhiero-sdk-js%20OR%20repo%3Ahiero-ledger%2Fhiero-website))** designed to be approachable to brand-new contributors. |
| 40 | +
|
| 41 | + 🏁 **When this issue is complete, you will have:** |
| 42 | +
|
| 43 | + ✅ Learned how to fork and navigate the codebase |
| 44 | + ✅ Learned our contribution workflow |
| 45 | + ✅ Implemented a real change to the SDK |
| 46 | +
|
| 47 | + - type: textarea |
| 48 | + id: issue |
| 49 | + attributes: |
| 50 | + label: 🐞 Problem Description |
| 51 | + description: | |
| 52 | + Describe the issue in a way that's easy for new contributors to understand. |
| 53 | + Briefly explain why this change is useful or needed, even if the impact seems small. |
| 54 | + Please avoid assuming prior knowledge of the language, codebase, or Hiero, as Good First Issues are often surfaced to new developers. |
| 55 | + value: | |
| 56 | + <!-- Describe the issue here --> |
| 57 | +
|
| 58 | + <!-- Identify which files to look at --> |
| 59 | + validations: |
| 60 | + required: true |
| 61 | + |
| 62 | + - type: textarea |
| 63 | + id: solution |
| 64 | + attributes: |
| 65 | + label: 💡 Solution |
| 66 | + description: | |
| 67 | + Describe the solution. |
| 68 | + Keep this high-level and easy to understand. Implementation details can go in the subsequent Implementation Steps section. |
| 69 | + value: | |
| 70 | + <!-- Describe the solution here --> |
| 71 | + validations: |
| 72 | + required: true |
| 73 | + |
| 74 | + - type: textarea |
| 75 | + id: implementation |
| 76 | + attributes: |
| 77 | + label: 🛠️ Implementation Steps |
| 78 | + description: | |
| 79 | + To make this issue easy to pick up and complete, please include: |
| 80 | + - Which files need to be changed or added |
| 81 | + - Any functions, classes, or modules involved |
| 82 | + - The complete steps to implement the solution |
| 83 | + - What the final result or output should look like |
| 84 | + - Links to relevant documentation or code (if helpful) |
| 85 | + For good first issues, please keep this as guided and clear as possible. |
| 86 | + value: | |
| 87 | + <!-- Identify what to change in which files --> |
| 88 | +
|
| 89 | + <!-- Provide the step by step solution --> |
| 90 | + validations: |
| 91 | + required: true |
| 92 | + |
| 93 | + - type: textarea |
| 94 | + id: new_contributors |
| 95 | + attributes: |
| 96 | + label: 🧠 Good First Issue Developers — Prerequisites & Expectations |
| 97 | + description: | |
| 98 | + Adapt as needed. Concrete requirements before claiming this good first issue. Adapt as needed. |
| 99 | + value: | |
| 100 | + > [!IMPORTANT] |
| 101 | + > **This issue does not require prior domain knowledge.** |
| 102 | + > |
| 103 | + > - No Hiero or Hedera experience needed |
| 104 | + > - No distributed ledger background required |
| 105 | + > - **Beginner Programming is sufficient** |
| 106 | +
|
| 107 | + > [!NOTE] |
| 108 | + > ⏱️ **Typical time to complete:** ~1 Day / ~4 hours (including set-up) |
| 109 | + > 🧩 **Difficulty:** Small, well-contained change |
| 110 | + > 🎓 **Best for:** New contributors |
| 111 | +
|
| 112 | + 🤖 AI Usage Policy |
| 113 | +
|
| 114 | + - Good First Issues are open for humans, AI bot-authored PRs will be rejected. |
| 115 | + - Refer to our set-up and workflow guides, AI may make mistakes. |
| 116 | +
|
| 117 | + > [!WARNING] |
| 118 | + > We expect pull requests to use our workflow and meet the quality standards outlined in this issue. |
| 119 | +
|
| 120 | + - type: textarea |
| 121 | + id: setup_steps |
| 122 | + attributes: |
| 123 | + label: 📋 Step-by-Step Setup Procedure |
| 124 | + description: Provide a step-by-step setup guide for new contributors |
| 125 | + value: | |
| 126 | + - [ ] Visual Studio (VS) Code: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#visual-studio-code) |
| 127 | +
|
| 128 | + - [ ] GitHub Desktop: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#github-desktop) |
| 129 | +
|
| 130 | + - [ ] Hedera Testnet Account with root .env file: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#2-setting-up-a-portal-account) |
| 131 | +
|
| 132 | + - [ ] Create a GPG key linked to GitHub: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#3-set-up-a-gpg-key-for-signing) |
| 133 | +
|
| 134 | + - [ ] **Fork** Create an online and local copy of the repository: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#4-fork-the-repository) |
| 135 | +
|
| 136 | + - [ ] **Connect** origin with upstream: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#5-connect-your-origin-with-upstream) |
| 137 | +
|
| 138 | + - [ ] **Install Packages** and protobufs: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#6-install-packages-and-protobufs) |
| 139 | +
|
| 140 | + - [ ] **Windows users:** see the [Windows Setup Guide](https://github.com/hiero-ledger/hiero-sdk-python/blob/main/docs/sdk_developers/setup_windows.md) for platform-specific installation steps. |
| 141 | +
|
| 142 | + - [ ] **Sync Main** pull any recent upstream changes: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#7-sync-main) |
| 143 | +
|
| 144 | + You are set up! 🎉 |
| 145 | +
|
| 146 | + - type: textarea |
| 147 | + id: workflow_steps |
| 148 | + attributes: |
| 149 | + label: 📋 Step-by-step workflow guide |
| 150 | + description: Provide a contribution workflow suitable for new contributors. |
| 151 | + value: | |
| 152 | + #### ✅ Get ready |
| 153 | +
|
| 154 | + - [ ] **Claim the issue:** comment `/assign`: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#1-get-assigned-to-an-issue). Pull requests created without being assigned will be automatically closed. |
| 155 | +
|
| 156 | + - [ ] **Double check the Issue and AI plan:** carefully re-read the issue description and any AI plan below |
| 157 | +
|
| 158 | + - [ ] **Ask questions early:** ask on [Discord](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/discord.md), and the `@good_first_issue_support_team` (setup and workflow help) |
| 159 | +
|
| 160 | + - [ ] **Sync Main** pull any recent upstream changes: [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-setup.md#7-sync-main) |
| 161 | +
|
| 162 | + - [ ] 💡 Tip: Before coding, you are free to leave a short comment describing what you plan to change. We'll confirm you're on the right track. |
| 163 | +
|
| 164 | + #### 🛠️ Solve the Issue |
| 165 | +
|
| 166 | + - [ ] **Create a branch from `main`:** [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#2-create-a-branch) |
| 167 | +
|
| 168 | + - [ ] **Implement the solution**: follow the implementation steps in the issue description. |
| 169 | +
|
| 170 | + - [ ] **Commit with Conventional format and DCO, GPG signing:** commit changes using: `git commit -S -s -m "chore: your message"`, [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#3-commit-your-changes) |
| 171 | +
|
| 172 | + - [ ] **Add a `CHANGELOG.md` entry:** under the appropriate **[UNRELEASED]** section and commit as `git commit -S -s -m "chore: changelog entry"` [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#4-create-a-changelog-entry) |
| 173 | +
|
| 174 | + #### 🚀 Create the pull request |
| 175 | +
|
| 176 | + - [ ] **Push your commits:** push your branch to your fork `git push origin your-branch-name` [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#5-submitting-a-pull-request) |
| 177 | +
|
| 178 | + - [ ] **Open a pull request:** [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#5-submitting-a-pull-request) |
| 179 | +
|
| 180 | + - [ ] **Complete the PR description:** briefly describe your changes, [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#5-submitting-a-pull-request) |
| 181 | +
|
| 182 | + - [ ] **Link the Issue:** link the issue the PR solves in the PR description, [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/contributor-workflow.md#5-submitting-a-pull-request). Pull requests created without a linked issue will be automatically closed. |
| 183 | +
|
| 184 | + - [ ] **Submit the pull request:** click `**Create pull request**` and `Ready to Review` 🎉 |
| 185 | +
|
| 186 | + - type: textarea |
| 187 | + id: acceptance |
| 188 | + attributes: |
| 189 | + label: ✅ PR Quality Checklist |
| 190 | + description: | |
| 191 | + Adapt as needed. These are the standards the contributor must meet before opening a PR. |
| 192 | + value: | |
| 193 | + To be able to close this issue, the following criteria must be met: |
| 194 | +
|
| 195 | + Workflow: |
| 196 | +
|
| 197 | + - [ ] I have worked from a branch that is up to date with main |
| 198 | + - [ ] I have not made changes outside the scope of this issue |
| 199 | + - [ ] My commits are signed: `git commit -S -s -m "chore: description"` — [Signing guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/signing.md) |
| 200 | + - [ ] I added a CHANGELOG.md entry (if appropriate) under `[Unreleased]` — [Changelog guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/changelog-guide.md) |
| 201 | + - [ ] I linked the issue in my PR description using `Fixes #issue_number` to automatically close it when merged |
| 202 | + - [ ] I have applied appropriate linting, code quality, and formatting tools used in this repo (if applicable). |
| 203 | +
|
| 204 | + Issue Requirement: |
| 205 | + - [ ] The issue is solved: I've carefully read and implemented the issue requirements |
| 206 | + --- |
| 207 | +
|
| 208 | + - type: textarea |
| 209 | + id: pr_expectations |
| 210 | + attributes: |
| 211 | + label: 🤔 What to expect after submitting a PR |
| 212 | + description: Explain what happens after a pull request is opened. |
| 213 | + value: | |
| 214 | + Once you open a pull request, here's what happens next. |
| 215 | +
|
| 216 | + **🤖 1. Automated checks** |
| 217 | + Automated checks will run and all must pass before merging. |
| 218 | + Open any failed check at the bottom of the PR to see details. Ask for help if you don't understand a failure or how to fix it. |
| 219 | +
|
| 220 | + **😎 2. Initial Team review** |
| 221 | + Once tests pass, a team member will check if your PR follows the workflow. |
| 222 | +
|
| 223 | + **✅ 3. Team review** |
| 224 | + Once your tests pass and the workflow is followed, a team member will review the implementation. |
| 225 | + You may be asked to make changes or your PR may be approved. |
| 226 | + Approved PRs are usually merged within **one day**. |
| 227 | +
|
| 228 | + **🔄 Merge conflicts (sometimes)** |
| 229 | + Conflicts can happen and are normal as the SDK updates. Resolve using this [Guide](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/merge_conflicts.md) |
| 230 | +
|
| 231 | + > [!TIP] |
| 232 | + > **Follow the workflow and double check your work** |
| 233 | + > This is the best way to ensure a fast review and merge process. |
| 234 | + --- |
| 235 | +
|
| 236 | + - type: textarea |
| 237 | + id: getting_help |
| 238 | + attributes: |
| 239 | + label: 🧭 Getting help if you're stuck |
| 240 | + description: How to get support while working on this issue. |
| 241 | + value: | |
| 242 | + **🆘 Stuck?** |
| 243 | +
|
| 244 | + > [!TIP] |
| 245 | + > |
| 246 | + > - Comment on this issue and ask maintainers or tag `@good_first_issue_support_team` |
| 247 | + > |
| 248 | +
|
| 249 | + #### Other Resources: |
| 250 | +
|
| 251 | + - [New Starter Docs (Signing, Rebasing, Changelog, Merge Conflicts, Workflow, Setup)](https://github.com/hiero-ledger/sdk-collaboration-hub/tree/main/guides/issue-progression/for-developers) |
| 252 | + - [All Things Github Workflows](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/github-action-workflows.md) |
| 253 | + - [Community Calls](https://zoom-lfx.platform.linuxfoundation.org/meetings/hiero?view=week) |
| 254 | + - [Discord](https://github.com/hiero-ledger/sdk-collaboration-hub/blob/main/guides/issue-progression/for-developers/discord.md) |
| 255 | +
|
| 256 | + --- |
0 commit comments