-
Notifications
You must be signed in to change notification settings - Fork 23
docs: added templates for PRs, issues, and bug reports to make contributing easier #195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…asier Created a straightforward PR template with helpful checklists and clear guidelines Added an issue template that makes it simple to report bugs or request features Added a bug report template to capture important details for quicker fixes
📝 WalkthroughWalkthroughIntroduces GitHub templates: a PR template at .github/PULL_REQUEST_TEMPLATE.md and two issue templates (bug_report.md, general_issue.md) under .github/ISSUE_TEMPLATE/. Each file includes YAML front matter and structured sections for standardized submissions. No code or API changes. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
✨ Finishing Touches🧪 Generate unit tests
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. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. CodeRabbit Commands (Invoked using PR/Issue comments)Type Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cubic analysis
No issues found across 3 files. Review in cubic
Hey @bupd @Vad1mo, I’m happy to adjust these templates based on your feedback to make sure they fit the project’s style and workflow perfectly. I’m not totally sure if contributions like this are welcome from outside contributors, but I thought it would be helpful to share them anyway. Kindly review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 5
🧹 Nitpick comments (12)
.github/ISSUE_TEMPLATE.md (3)
6-6
: Avoid auto-labeling all “General Issues” as enhancementDefaulting to
labels: enhancement
will mislabel questions/triage items. Either drop the default label or create a dedicatedfeature_request.md
withlabels: enhancement
, leaving this general template unlabeled.labels: enhancement +## Option A: remove the default label +- labels: '' +## Option B: make this a feature_request.md template and keep enhancement
12-15
: Expand environment prompts for faster triageAdd a few more fields commonly needed in this repo.
- Harbor Satellite version: - OS (e.g., Linux, macOS, Windows): - Kubernetes version (if applicable): -- Others: +- Deployment method (Helm, manifests, other): +- Architecture/Platform (amd64/arm64), Cloud provider (if any): +- Related Harbor/Core/Registry versions (if applicable): +- Logs snippets (sanitized) or link to gist:
10-27
: markdownlint MD003: either convert headings or configure linterTemplates commonly use ATX (
##
) headings. To avoid churn:
- Option A: Keep ATX and configure markdownlint to allow it.
- Option B: Convert to setext headings per rule.
Option A (recommended): add
.markdownlint.json
:{ "MD003": { "style": "atx" } }.github/BUG_REPORT_TEMPLATE.md (4)
19-23
: Expand Environment for actionable reportsAdd common fields used during triage.
- Harbor Satellite version: -- OS/Platform: -- Any other relevant details: +- OS/Platform and architecture (e.g., Ubuntu 22.04 amd64): +- Deployment method (Helm/manifests/other) and version: +- Kubernetes distribution and version (if applicable): +- Cloud provider / on-prem details: +- Related Harbor/Core/Registry versions (if applicable): +- Storage/DB/backing services (type and version, if relevant):
16-18
: Capture severity, frequency, and regression statusThese fields speed up prioritization.
## Actual Behavior *What actually happened?* +## Impact +- Frequency (always/sometimes/rarely): +- Severity (blocker/critical/major/minor/trivial): +- Regression? (worked in previous version): Yes/No/Unknown
7-12
: Request a minimal reproducible example and exact stepsMinor tweak to emphasize actionable repro.
## Steps to Reproduce -*List the steps to reproduce the issue. Screenshots, logs, or error messages are appreciated.* +*List precise steps to reproduce, including commands/configs. A minimal reproducible example is ideal. Screenshots, logs, or error messages are appreciated.*
7-25
: markdownlint MD003: align heading style or configureSame as other templates. Prefer configuring markdownlint to allow ATX headings.
{ "MD003": { "style": "atx" } }.github/PULL_REQUEST_TEMPLATE.md (5)
3-9
: Remove YAML front matter from PR template (not used by GitHub)The PR template doesn’t use
name/about/title/labels/assignees
metadata; keeping it may confuse contributors. Recommend removing these lines.---- -name: Pull Request -about: Submit a pull request to improve Harbor Satellite -title: '' -labels: '' -assignees: '' ----
11-14
: Prompt for “Linked issues” with auto-close syntaxMakes sure maintainers see the linkage and enables auto-closing.
## Description -Briefly describe the purpose of this PR and what it changes. If it addresses an issue, please reference it. +Briefly describe the purpose of this PR and what it changes. + +Linked issues: e.g., Closes #123, Fixes #456
23-26
: Add a “How to test” sectionExplicit steps help reviewers validate changes.
## Screenshots / Demo (if applicable) Include screenshots or demo instructions if relevant. + +## How to test +- Steps for reviewers to validate locally or in CI: +- Any required environment variables/secrets/config:
27-29
: Consider “Breaking changes” and “Release notes” sectionsUseful for maintainers when preparing releases.
## Additional Notes Add any extra context or information for reviewers here. + +## Breaking changes (if any) +- Describe any breaking API/behavior changes and migration steps. + +## Release notes (if user-facing) +- A short, user-facing summary suitable for CHANGELOG/release notes.
11-29
: markdownlint MD003: configure or switch heading styleIf your repo enforces MD003 setext style, convert headings; otherwise configure markdownlint to allow ATX (
##
) for templates. Recommend the latter for readability in GitHub.{ "MD003": { "style": "atx" } }
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/BUG_REPORT_TEMPLATE.md
(1 hunks).github/ISSUE_TEMPLATE.md
(1 hunks).github/PULL_REQUEST_TEMPLATE.md
(1 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
.github/PULL_REQUEST_TEMPLATE.md
11-11: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
15-15: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
23-23: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
27-27: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
.github/ISSUE_TEMPLATE.md
10-10: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
17-17: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
21-21: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
25-25: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: cubic · AI code reviewer
- GitHub Check: Codacy Static Code Analysis
--- | ||
name: General Issue | ||
about: Create a general issue to help us improve Harbor Satellite | ||
title: '' | ||
labels: enhancement | ||
assignees: '' | ||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Template placement/front matter: move to ISSUE_TEMPLATE/ for multi-template chooser
GitHub only shows multiple issue templates when they live under .github/ISSUE_TEMPLATE/
. Keeping this file as .github/ISSUE_TEMPLATE.md
makes it the default, but your separate bug report template at .github/BUG_REPORT_TEMPLATE.md
won’t appear in the chooser. Also, name
/about
are ignored in the single default file.
Recommended:
- Move this to
.github/ISSUE_TEMPLATE/general_issue.md
(keep YAML front matter). - Move the bug template accordingly (see comment there).
- Optionally add
.github/ISSUE_TEMPLATE/config.yml
to disable blank issues and add contact links.
I can provide the exact file layout if helpful.
🤖 Prompt for AI Agents
In .github/ISSUE_TEMPLATE.md around lines 2 to 8, the template uses YAML front
matter but lives as a single default file which prevents GitHub's multi-template
chooser from showing other templates; move this file into a new folder
.github/ISSUE_TEMPLATE/ and rename it to something like general_issue.md
(preserving the current YAML front matter), move the bug report template
similarly into that folder (e.g., bug_report.md), and optionally add a
.github/ISSUE_TEMPLATE/config.yml to configure the chooser (disable blank
issues, add contact links) so all templates appear in GitHub's issue creation
UI.
## Additional Information | ||
|
||
Add any other details, logs, or screenshots that might help us understand your request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add a reminder to redact secrets/PII in attached logs
Prevents accidental leakage of credentials or sensitive data.
Add any other details, logs, or screenshots that might help us understand your request.
+Note: Please sanitize logs and redact any sensitive information (tokens, keys, passwords, secrets, PII) before sharing.
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
## Additional Information | |
Add any other details, logs, or screenshots that might help us understand your request. | |
## Additional Information | |
Add any other details, logs, or screenshots that might help us understand your request. | |
Note: Please sanitize logs and redact any sensitive information (tokens, keys, passwords, secrets, PII) before sharing. |
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)
25-25: Heading style
Expected: setext; Actual: atx
(MD003, heading-style)
🤖 Prompt for AI Agents
In .github/ISSUE_TEMPLATE.md around lines 25 to 27, add a short reminder
instructing users to redact secrets and PII from any attached logs/screenshots;
modify the "Additional Information" section to include one sentence like "Please
redact any secrets, API keys, passwords, or other personally identifiable
information from logs and screenshots before attaching." Keep it concise and
unambiguous so contributors are prompted to sanitize sensitive data prior to
submission.
Implements suggestions from coderabbitai to improve the contribution workflow. - Moves issue templates into the .github/ISSUE_TEMPLATE/ directory to enable GitHub's issue template chooser. - Adds YAML front matter to the issue templates for better integration. - Adds security notes to remind users to redact sensitive information. - Adds a new checklist item for tests to the pull request template.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
♻️ Duplicate comments (2)
.github/PULL_REQUEST_TEMPLATE.md (1)
13-21
: Checklist looks solid; tests item includedIncludes “Unit/E2E tests added or updated”. Good addition.
.github/BUG_REPORT_TEMPLATE.md (1)
8-10
: If you keep this file (not recommended), add a security redaction noteAligns with the subfolder template and reduces accidental secret leaks.
--- ## Environment +<!-- Please sanitize logs and redact any sensitive information (tokens, keys, passwords, secrets, PII) before sharing. -->
🧹 Nitpick comments (4)
.github/PULL_REQUEST_TEMPLATE.md (1)
9-28
: markdownlint MD003: heading style expected setext, got atxYour linter flagged heading style. If the repo enforces MD003 with setext, convert H2s to setext or disable MD003 for this template.
Option A: Convert to setext (H2 with dashes):
-## Description +Description +----------- @@ -## Checklist +Checklist +--------- @@ -## Screenshots / Demo (if applicable) +Screenshots / Demo (if applicable) +----------------------------------- @@ -## Additional Notes +Additional Notes +----------------Option B: Disable for this file by adding at the top (after any front matter):
<!-- markdownlint-disable MD003 -->
.github/ISSUE_TEMPLATE/bug_report.md (3)
25-28
: Expand environment details for registry/cloud-native contextAdd common fields to speed up triage.
## Environment - Harbor Satellite version: - OS/Platform: -- Any other relevant details: +- Kubernetes version (if applicable): +- Container runtime and version (e.g., containerd/docker): +- Harbor core version (if Satellite interacts with a Harbor instance): +- Deployment method (Helm/Operator/Manual): +- Cloud/Infrastructure (if applicable): +- Any other relevant details:
16-24
: Ask for a minimal reproducible config/snippetImproves reproducibility.
## Steps to Reproduce -*List the steps to reproduce the issue. Screenshots, logs, or error messages are appreciated.* +*List the steps to reproduce the issue. Provide a minimal reproducible config or snippet (redact secrets). Screenshots, logs, or error messages are appreciated.*
1-7
: Add security disclosure contact via chooser configConsider adding .github/ISSUE_TEMPLATE/config.yml with contact_links to route security reports to SECURITY.md instead of public issues.
Example config.yml:
blank_issues_enabled: false contact_links: - name: Security vulnerability disclosure url: https://github.com/container-registry/harbor-satellite/security/policy about: Please report security issues via our Security Policy.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (5)
.github/BUG_REPORT_TEMPLATE.md
(1 hunks).github/ISSUE_TEMPLATE.md
(1 hunks).github/ISSUE_TEMPLATE/bug_report.md
(1 hunks).github/ISSUE_TEMPLATE/general_issue.md
(1 hunks).github/PULL_REQUEST_TEMPLATE.md
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- .github/ISSUE_TEMPLATE/general_issue.md
🚧 Files skipped from review as they are similar to previous changes (1)
- .github/ISSUE_TEMPLATE.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
- GitHub Check: Codacy Static Code Analysis
--- | ||
name: Pull Request | ||
about: Submit a pull request to improve Harbor Satellite | ||
title: '' | ||
labels: '' | ||
assignees: '' | ||
--- |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
YAML front matter in single PR template will render as text
GitHub only uses front matter for PR templates when placed under .github/PULL_REQUEST_TEMPLATE/ as multiple selectable templates. In a single .github/PULL_REQUEST_TEMPLATE.md, this block will show up in the PR body.
Prefer either:
- Move this file to .github/PULL_REQUEST_TEMPLATE/ and keep the front matter, or
- Remove the front matter to avoid it rendering.
Example to remove front matter here:
----
-name: Pull Request
-about: Submit a pull request to improve Harbor Satellite
-title: ''
-labels: ''
-assignees: ''
----
+
Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
.github/PULL_REQUEST_TEMPLATE.md lines 1-7: the YAML front matter block at the
top of this single PR template will render as text in the PR body; either move
this file into .github/PULL_REQUEST_TEMPLATE/ as an individual selectable
template (keeping the front matter) or remove the YAML front matter from this
file so it no longer appears in the PR body—pick one approach and update the
repository: if moving, create the .github/PULL_REQUEST_TEMPLATE/ directory and
place the file there with the front matter intact; if removing, delete the
leading YAML block (the lines between the --- markers) so the rest of the
template renders normally.
## Actual Behavior | ||
*What actually happened?* | ||
|
||
## Environment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
add options to include the config of satellite that the user has.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @bupd ,
Thanks for the review!
adding a field for users to include their Harbor Satellite configuration will definitely make it easier to reproduce and debug issues. I’ll update the bug report template to include a prompt for that
- OS (e.g., Linux, macOS, Windows): | ||
- Kubernetes version (if applicable): | ||
- Others: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we need more context on how the different components are run
dagger, docker compose or binary
|
||
- Harbor Satellite version: | ||
- OS (e.g., Linux, macOS, Windows): | ||
- Kubernetes version (if applicable): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any specific reason why kubernetes is required in the current scenario?
If not, this might be redundant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair point — it’s not relevant in every case. I’d still keep it in, but clearly mark it as “if applicable” because some of our issues could be tied to a specific K8s version.
.github/PULL_REQUEST_TEMPLATE.md
Outdated
|
||
## Description | ||
|
||
Briefly describe the purpose of this PR and what it changes. If it addresses an issue, please reference it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main purpose of a PR template was to auto close referenced issues
We need to tell contributors to add "fixes" keywords before referencing issues to do so
I think being more explicit about it will help
.github/PULL_REQUEST_TEMPLATE.md
Outdated
- [ ] Documentation updated (if needed) | ||
- [ ] Changes tested locally | ||
- [ ] Related issues linked (if applicable) | ||
- [ ] Follows project style and guidelines |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we donot have any guideline/style currently
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added that thinking it might be useful in the future when we have a style guide. For now, we could change it to something like "Code should be consistent with existing files" so it still makes sense, and later update it if we add proper guidelines.
hi there @1012Charan I have submitted my review You can take a look and let me know what u think |
Hi @meethereum , |
Made templates clearer, shorter, and easier for contributors to use. - Bug report: Added a place for satellite settings. - General issue: Explained how the system runs, made Kubernetes version optional. - PR: Showed how to link issues with 'fixes', and added a check for consistent code style. - Removed extra 'title' and 'assignees' fields.
Description
Added clear, easy-to-use templates for pull requests, issues, and bug reports.
These templates will help contributors provide all the important details upfront, making collaboration smoother and helping maintainers review and triage more efficiently.
This fixes the issue #184
What's Included
Summary by cubic
Added templates for pull requests, issues, and bug reports to help contributors share clear details and make collaboration easier.
Summary by CodeRabbit