Skip to content

chore: add issue/PR templates, label manifest, and label sync script#52

Merged
Jamkris merged 2 commits intomainfrom
chore/community-templates
Apr 28, 2026
Merged

chore: add issue/PR templates, label manifest, and label sync script#52
Jamkris merged 2 commits intomainfrom
chore/community-templates

Conversation

@Jamkris
Copy link
Copy Markdown
Owner

@Jamkris Jamkris commented Apr 27, 2026

  • .github/ISSUE_TEMPLATE/: bug, feature, agent/skill forms with auto-applied emoji labels (🐞 Bug / ✨ Feature / 🤖 Agent + 🔍 Triage)
  • .github/PULL_REQUEST_TEMPLATE.md: summary, type, test plan checklist
  • .github/labels.yml: 21-label manifest (type / area / severity / triage)
  • scripts/setup-labels.sh: idempotent gh-based sync from labels.yml

Summary by cubic

Add GitHub issue and PR templates, a label manifest, and a hardened label sync script to standardize triage and contributions. This makes issues clearer and keeps labels consistent.

  • New Features

    • Issue templates for bug, feature, and agent/skill requests with auto labels (🐞 Bug, ✨ Feature, 🤖 Agent + 🔍 Triage), plus template config to disable blank issues and link to Discussions/docs
    • PR template with summary, type checklist, and test plan checks
    • Label manifest in .github/labels.yml defining 21 labels by type, area, severity, and triage
    • Idempotent label sync script at scripts/setup-labels.sh; uses gh/python3, sets -euo pipefail, and checks for python3 to avoid masked parser errors
  • Migration

    • Run scripts/setup-labels.sh after merge to create/update labels
    • Requires gh authenticated to the repo and python3 installed

Written for commit 55ffc9e. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • Chores
    • Added structured issue templates for bug reports, feature requests, and agent/skill requests to guide contributor submissions
    • Introduced standardized pull request template with required fields
    • Configured repository labels system for consistent issue and PR categorization
    • Added automation script for label synchronization

- .github/ISSUE_TEMPLATE/: bug, feature, agent/skill forms with auto-applied
  emoji labels (🐞 Bug / ✨ Feature / 🤖 Agent + 🔍 Triage)
- .github/PULL_REQUEST_TEMPLATE.md: summary, type, test plan checklist
- .github/labels.yml: 21-label manifest (type / area / severity / triage)
- scripts/setup-labels.sh: idempotent gh-based sync from labels.yml
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 27, 2026

Walkthrough

Adds standardized GitHub issue templates (agent/skill request, bug report, feature request), pull request template, and label configuration. Includes a shell script to synchronize labels from the configuration file.

Changes

Cohort / File(s) Summary
GitHub Issue Templates
.github/ISSUE_TEMPLATE/config.yml, .github/ISSUE_TEMPLATE/agent_skill_request.yml, .github/ISSUE_TEMPLATE/bug_report.yml, .github/ISSUE_TEMPLATE/feature_request.yml
Defines structured issue templates with predefined labels, metadata fields, and form sections to standardize bug reports, feature requests, and agent/skill proposals.
Pull Request Template
.github/PULL_REQUEST_TEMPLATE.md
Establishes PR submission structure with summary, PR type selector, test plan checklist, and references section.
Labels Configuration
.github/labels.yml
Declares a comprehensive set of issue/PR labels across categories: bugs, features, refactors, docs, tests, severity, triage states, and functional areas.
Label Synchronization Script
scripts/setup-labels.sh
Shell script that parses .github/labels.yml via inline Python, validates dependencies (gh CLI), and syncs labels to the GitHub repository using the gh label create command.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested labels

security, docs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the main changes: adding issue/PR templates, a label manifest file, and a label sync script.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/community-templates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Jamkris Jamkris added the ⚙ Setting Tooling, CI, dependencies, build setup label Apr 27, 2026
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 27, 2026

Greptile Summary

This PR adds standard GitHub community health files: three issue templates (bug, feature, agent/skill), a PR template, a 21-label manifest, and an idempotent gh-based label sync script. The implementation is clean — scripts/setup-labels.sh correctly uses set -euo pipefail and pre-checks both gh and python3.

Confidence Score: 5/5

Safe to merge — only a cosmetic label color collision remains.

All findings are P2. The script is correctly guarded with pipefail and dependency checks (prior concerns resolved). The sole remaining issue is two labels sharing the same color, which does not affect functionality.

.github/labels.yml — duplicate color for 🤖 Agent and 🌱 Good First Issue.

Important Files Changed

Filename Overview
scripts/setup-labels.sh Idempotent label-sync script using gh + embedded Python YAML parser; set -euo pipefail, gh, and python3 pre-checks all present — looks solid.
.github/labels.yml 21-label manifest; 🤖 Agent and 🌱 Good First Issue share the same color (7057ff), making them visually indistinguishable in the GitHub UI.
.github/ISSUE_TEMPLATE/bug_report.yml Bug report template with required fields and multi-select environment dropdown — looks correct.
.github/ISSUE_TEMPLATE/feature_request.yml Feature request template with required problem/proposal fields; scope dropdown is optional — looks intentional and correct.
.github/ISSUE_TEMPLATE/agent_skill_request.yml Agent/Skill request template with required kind/name/description/when-to-use fields — no issues found.
.github/PULL_REQUEST_TEMPLATE.md PR template covering summary, type checklist, and test plan matching the project's CI scripts — no issues found.
.github/ISSUE_TEMPLATE/config.yml Disables blank issues and adds discussion/docs contact links — correct.

Reviews (2): Last reviewed commit: "fix: address review feedback on PR #52" | Re-trigger Greptile

Comment thread scripts/setup-labels.sh Outdated
Comment thread scripts/setup-labels.sh
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/setup-labels.sh`:
- Line 7: The script currently uses only "set -e" which allows unset variables
and masked pipeline failures; update the strict-mode invocation at the top where
"set -e" appears in scripts/setup-labels.sh to include -u and -o pipefail (e.g.
change to set -euo pipefail) so unset variables cause errors and pipelines fail
if any stage fails, ensuring the while loop/pipeline later doesn't mask Python
parser errors.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: a26aa1ec-4036-4446-91df-6fa4cb3f4a2c

📥 Commits

Reviewing files that changed from the base of the PR and between c7edd60 and da5e3e1.

📒 Files selected for processing (7)
  • .github/ISSUE_TEMPLATE/agent_skill_request.yml
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/config.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/labels.yml
  • scripts/setup-labels.sh

Comment thread scripts/setup-labels.sh Outdated
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 7 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="scripts/setup-labels.sh">

<violation number="1" location="scripts/setup-labels.sh:7">
P1: `set -e` should be `set -euo pipefail` per project convention. This matters here: without `pipefail`, a python3 failure on line 23 is silently swallowed because the pipe's exit status comes from the `while` loop, which returns 0 on empty input. The script would print "Done." and exit 0 despite the parse failure.</violation>

<violation number="2" location="scripts/setup-labels.sh:17">
P2: The script validates that `gh` is installed but does not check for `python3`, which is the other required dependency (used in the parsing pipeline). If `python3` is absent, the pipeline silently produces no output and the script reports success.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review, or fix all with cubic.

Comment thread scripts/setup-labels.sh Outdated
Comment thread scripts/setup-labels.sh
- Use `set -euo pipefail` so a python3 failure isn't silently swallowed
  by the `python3 | while` pipe (was masking parser errors).
- Add explicit python3 availability check, matching the existing gh check.

Flagged by Greptile, CodeRabbit, and cubic.
@Jamkris Jamkris merged commit 86038c4 into main Apr 28, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚙ Setting Tooling, CI, dependencies, build setup

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant