-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
configurationProject setup and configuration filesProject setup and configuration filesgithub_actionsGitHub .github/ folder configurationGitHub .github/ folder configuration
Milestone
Description
ci(github-actions): add issue and PR templates
| ⏱️ Estimate | 📊 Priority | 📏 Size | 📅 Start | 📅 End |
|---|---|---|---|---|
| 4h | P2 | M | 05-02-2026 | 05-02-2026 |
📸 Screenshots
| Current | Expected |
|---|---|
| N/A — This change has no visual impact. | N/A — This change has no visual impact. |
📝 Summary
- Add standardized GitHub issue and PR templates to enforce the project's standard format
- Create 6 issue templates in YAML form format: bug, feature, refactor, build, ci, docs
- Create 1 PR template in markdown format
- Add
config.ymlto disable blank issues and provide a link to the README - Templates ensure consistency for external collaborators and reduce manual corrections
💡 Why this change?
- No templates exist — contributors must guess the format when opening issues or PRs
- Issues and PRs follow a documented standard (Conventional Commits, metadata table, required sections)
- Without templates, every issue/PR requires manual corrections to match the format
- Templates enforce consistency regardless of who creates the issue or PR
📋 Steps
Phase 1: Create issue templates
Create 6 YAML form templates inside .github/ISSUE_TEMPLATE/.
All templates share a common structure with these fields:
| File | Name | Description | Labels | Title Prefix | Unique Fields |
|---|---|---|---|---|---|
bug.yml |
🐛 Bug Report | Report a bug or issue | bug |
fix(scope): |
Current Behavior, Expected Behavior, Steps to Reproduce, Environment |
feature.yml |
✨ Feature | New feature or task | (none) | feat(scope): |
(common fields only) |
refactor.yml |
♻️ Refactor | Refactor or improve code quality | (none) | refactor(scope): |
(common fields only) |
build.yml |
🔧 Build / Dependencies | Build system or dependency changes | dependencies |
build(scope): |
Build Type dropdown |
ci.yml |
🔄 CI/CD | CI/CD or automation changes | github_actions |
ci(scope): |
CI/CD Type dropdown |
docs.yml |
📚 Documentation | Documentation changes | documentation |
docs(scope): |
Documentation Type dropdown |
Common YAML structure shared by all templates:
# Common fields (all templates)
assignees:
- beatrizsmerino
body:
# 1. Markdown header (instructions + "write in English" note)
# 2. Title input (conventional commits)
# 3. ⏱️ Estimated Time input
# 4. 📊 Priority dropdown (P0 Critical, P1 High, P2 Medium, P3 Low)
# 5. 📏 Size dropdown (XS <1h, S 1-2h, M 2-4h, L 4-8h, XL >8h)
# 6. 📅 Start Date input (DD-MM-YYYY)
# 7. 📅 End Date input (DD-MM-YYYY)
# 8. 📸 Screenshots textarea (pre-filled with Current|Expected table)
# 9. 📝 Summary textarea (required)
# 10. 💡 Why this change? / Why this bug? textarea (required)
# 11. 📋 Steps textarea (required, phases + checkboxes)
# 12. 🧪 Tests textarea
# 13. 📌 Notes textarea (optional)
# 14. 🔗 References textarea (ordered subsections)- Create
.github/ISSUE_TEMPLATE/feature.yml(reference implementation, baseline for all others)
name: ✨ Feature
description: New feature or task
title: "feat(scope): "
labels: []
assignees:
- beatrizsmerino
body:
- type: markdown
attributes:
value: |
Thanks for creating this issue! Please fill out the information below.
**Note:** Please write all content in English.
- type: input
id: title
attributes:
label: Title
description: Brief title following conventional commits format
placeholder: "feat(component): add new feature"
validations:
required: true
- type: input
id: time
attributes:
label: ⏱️ Estimated Time
description: "Estimated time to complete (e.g., 1h, 2h, 4h, 1d)"
placeholder: "2h"
validations:
required: true
- type: dropdown
id: priority
attributes:
label: 📊 Priority
options:
- P0
- P1
- P2
- P3
default: 1
validations:
required: true
- type: dropdown
id: size
attributes:
label: 📏 Size
options:
- XS (<1h)
- S (1-2h)
- M (2-4h)
- L (4-8h)
- XL (>8h)
default: 1
validations:
required: true
- type: input
id: start_date
attributes:
label: 📅 Start Date
description: "DD-MM-YYYY"
placeholder: "05-02-2026"
- type: input
id: end_date
attributes:
label: 📅 End Date
description: "DD-MM-YYYY"
placeholder: "05-02-2026"
- type: textarea
id: screenshots
attributes:
label: 📸 Screenshots
value: |
| Current | Expected |
|:------:|:------:|
| N/A — This change has no visual impact. | N/A — This change has no visual impact. |
- type: textarea
id: summary
attributes:
label: 📝 Summary
description: Brief summary of what needs to be done (use bullet points)
placeholder: |
- Brief overview of the task
- Key objectives
validations:
required: true
- type: textarea
id: why
attributes:
label: 💡 Why this change?
description: Explain the motivation and reasoning
placeholder: |
- Why this feature is needed
- What problem does it solve
validations:
required: true
- type: textarea
id: steps
attributes:
label: 📋 Steps
description: Implementation steps (use phases and checkboxes)
placeholder: |
### Phase 1: Setup
- [ ] Step 1
- [ ] Step 2
### Phase 2: Implementation
- [ ] Step 3
- [ ] Step 4
validations:
required: true
- type: textarea
id: tests
attributes:
label: 🧪 Tests
description: How to verify this works correctly
placeholder: |
- [ ] Test scenario 1
- [ ] Verify functionality works as expected
- type: textarea
id: notes
attributes:
label: 📌 Notes
description: Additional context (optional)
- type: textarea
id: references
attributes:
label: 🔗 References
placeholder: |
### Files to create
- path/to/new-file.ts
### Files to modify
- path/to/existing-file.ts
### Documentation
- https://docs.example.com
### Related Issues
- Related to: #NNN-
Create
.github/ISSUE_TEMPLATE/bug.ymlwith these differences fromfeature.yml:name: 🐛 Bug Reportdescription: Report a bug or issuetitle: "fix(scope): "labels: [bug]- Title placeholder:
fix(component): resolve layout issue - Replace
💡 Why this change?with💡 Why this bug? - Add 3 fields BEFORE
📋 Steps:❌ Current Behavior(textarea, required)✅ Expected Behavior(textarea, required)🔄 Steps to Reproduce(textarea, required)
- Add
💻 Environmentfield after📌 Notes(OS, Browser, Node version)
-
Create
.github/ISSUE_TEMPLATE/refactor.ymlwith these differences fromfeature.yml:name: ♻️ Refactordescription: Refactor or improve code qualitytitle: "refactor(scope): "labels: []- Title placeholder:
refactor(component): improve code structure
-
Create
.github/ISSUE_TEMPLATE/build.ymlwith these differences fromfeature.yml:name: 🔧 Build / Dependenciesdescription: Build system or dependency changestitle: "build(scope): "labels: [dependencies]- Title placeholder:
build(deps): update npm packages - Add
Build Typemulti-select dropdown BEFORE📝 Summarywith options: Dependency update, Build configuration, Package scripts, Compiler/bundler settings, Other
-
Create
.github/ISSUE_TEMPLATE/ci.ymlwith these differences fromfeature.yml:name: 🔄 CI/CDdescription: CI/CD or automation changestitle: "ci(scope): "labels: [github_actions]- Title placeholder:
ci(github-actions): update workflow configuration - Add
CI/CD Typemulti-select dropdown BEFORE📝 Summarywith options: GitHub Actions workflow, GitHub configuration, Automation scripts, Deployment pipeline, Testing automation, Other
-
Create
.github/ISSUE_TEMPLATE/docs.ymlwith these differences fromfeature.yml:name: 📚 Documentationdescription: Documentation changestitle: "docs(scope): "labels: [documentation]- Title placeholder:
docs(readme): update installation instructions - Add
Documentation Typemulti-select dropdown BEFORE📝 Summarywith options: README, Code comments, API documentation, Tutorial/Guide, CHANGELOG, Other
Phase 2: Create config.yml
- Create
.github/ISSUE_TEMPLATE/config.ymlto disable blank issues and add a README link
blank_issues_enabled: false
contact_links:
- name: README
url: https://github.com/beatrizsmerino/{repo}/blob/master/README.md
about: Check the project documentation for guides and informationNote: The {repo} placeholder must be replaced with the actual repository name.
Phase 3: Create PR template
- Create
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
# type(scope): brief description
| ⏱️ Estimate | 📊 Priority | 📏 Size | 📅 Start | 📅 End |
|---------|-------------|---------|----------|--------|
| Xh | PX | X | DD-MM-YYYY | DD-MM-YYYY |
## 📸 Screenshots
| Current | Expected |
|:------:|:------:|
| N/A — This change has no visual impact. | N/A — This change has no visual impact. |
## 🔄 Type of Change
- [ ] Bug fix
- [ ] Breaking change
- [ ] Dependency
- [ ] New feature
- [ ] Improvement
- [ ] Configuration
- [ ] Documentation
- [ ] CI/CD
## 📝 Summary
<!-- Brief description of changes (use bullet points) -->
## 📋 Changes Made
<!-- List main changes. Use subsections for complex PRs:
### Bug Fixes
### New Features
### Improvements
### Dependencies
### Configuration
### CI/CD
### Documentation
-->
## 🧪 Tests
- [ ] Tests pass
- [ ] Manual verification done
## 📌 Notes
<!-- Additional context (optional) -->
## 🔗 References
### Related Issues
- Closes #
### Related PRs
<!-- - Related to #NNN -->🧪 Tests
- Open "New Issue" and verify all 6 templates appear
- Verify blank issues are disabled (no "Open a blank issue" option)
- Create a test issue with each template and verify fields render correctly
- Open "New Pull Request" and verify the PR template auto-fills
- Verify labels are auto-assigned when selecting a template with labels
- Verify
beatrizsmerinois auto-assigned - Verify the
config.ymlREADME link points to the correct repo URL
🔗 References
Files to create
.github/ISSUE_TEMPLATE/bug.yml.github/ISSUE_TEMPLATE/build.yml.github/ISSUE_TEMPLATE/ci.yml.github/ISSUE_TEMPLATE/docs.yml.github/ISSUE_TEMPLATE/feature.yml.github/ISSUE_TEMPLATE/refactor.yml.github/ISSUE_TEMPLATE/config.yml.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
Documentation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
configurationProject setup and configuration filesProject setup and configuration filesgithub_actionsGitHub .github/ folder configurationGitHub .github/ folder configuration