Skip to content

Conversation

1012Charan
Copy link

@1012Charan 1012Charan commented Aug 11, 2025

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

  • Pull Request Template – Checklist and sections to clearly describe changes, link related issues, and confirm the contribution follows the project’s guidelines.
  • Issue Template – A friendly guide for reporting bugs, requesting features, or asking questions with prompts to provide the right information.
  • Bug Report Template – Focused fields for environment details, reproduction steps, and logs to help the team identify and fix problems faster.

Summary by cubic

Added templates for pull requests, issues, and bug reports to help contributors share clear details and make collaboration easier.

  • New Features
    • Pull request template with a checklist and sections for clear change descriptions.
    • Issue template for reporting bugs, feature requests, or questions.
    • Bug report template with fields for environment, steps to reproduce, and expected behavior.

Summary by CodeRabbit

  • Documentation
    • Added a standardized pull request template with sections for description, checklist, screenshots/demo, and additional notes to guide contributors.
    • Introduced a bug report issue template with structured fields (description, steps to reproduce, expected/actual behavior, environment, configuration, possible solution) and a reminder to sanitize sensitive data.
    • Added a general issue template for enhancements and other requests, including environment details, description, steps/use case, and additional information. Default labels applied where appropriate to streamline triage.

…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
Copy link
Contributor

coderabbitai bot commented Aug 11, 2025

📝 Walkthrough

Walkthrough

Introduces 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

Cohort / File(s) Summary of changes
Pull Request Template
.github/PULL_REQUEST_TEMPLATE.md
Added PR template with YAML front matter (name, about, labels) and sections: Description, Checklist, Screenshots/Demo, Additional Notes.
Issue Templates
.github/ISSUE_TEMPLATE/bug_report.md, .github/ISSUE_TEMPLATE/general_issue.md
Added bug report and general issue templates with YAML front matter and structured sections for environment, description, steps, and more; standardized labels (bug, enhancement).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2b564ae and 605c927.

📒 Files selected for processing (3)
  • .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 as they are similar to previous changes (3)
  • .github/ISSUE_TEMPLATE/general_issue.md
  • .github/PULL_REQUEST_TEMPLATE.md
  • .github/ISSUE_TEMPLATE/bug_report.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
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions bot added the documentation Improvements or additions to documentation label Aug 11, 2025
Copy link

@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.

cubic analysis

No issues found across 3 files. Review in cubic

@1012Charan
Copy link
Author

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.

Copy link
Contributor

@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: 5

🧹 Nitpick comments (12)
.github/ISSUE_TEMPLATE.md (3)

6-6: Avoid auto-labeling all “General Issues” as enhancement

Defaulting to labels: enhancement will mislabel questions/triage items. Either drop the default label or create a dedicated feature_request.md with labels: 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 triage

Add 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 linter

Templates 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 reports

Add 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 status

These 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 steps

Minor 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 configure

Same 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 syntax

Makes 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” section

Explicit 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” sections

Useful 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 style

If 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

📥 Commits

Reviewing files that changed from the base of the PR and between 4501b27 and 2b2d791.

📒 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

Comment on lines 2 to 8
---
name: General Issue
about: Create a general issue to help us improve Harbor Satellite
title: ''
labels: enhancement
assignees: ''
---
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

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.

Comment on lines 25 to 27
## Additional Information

Add any other details, logs, or screenshots that might help us understand your request.
Copy link
Contributor

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.

Suggested change
## 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.
Copy link
Contributor

@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: 2

♻️ Duplicate comments (2)
.github/PULL_REQUEST_TEMPLATE.md (1)

13-21: Checklist looks solid; tests item included

Includes “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 note

Aligns 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 atx

Your 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 context

Add 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/snippet

Improves 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 config

Consider 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

📥 Commits

Reviewing files that changed from the base of the PR and between 2b2d791 and 2b564ae.

📒 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

Comment on lines 1 to 7
---
name: Pull Request
about: Submit a pull request to improve Harbor Satellite
title: ''
labels: ''
assignees: ''
---
Copy link
Contributor

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
Copy link
Collaborator

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.

Copy link
Author

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:

Copy link
Collaborator

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):
Copy link
Collaborator

@meethereum meethereum Aug 11, 2025

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

Copy link
Author

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.


## Description

Briefly describe the purpose of this PR and what it changes. If it addresses an issue, please reference it.
Copy link
Collaborator

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

- [ ] Documentation updated (if needed)
- [ ] Changes tested locally
- [ ] Related issues linked (if applicable)
- [ ] Follows project style and guidelines
Copy link
Collaborator

@meethereum meethereum Aug 11, 2025

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

Copy link
Author

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.

@meethereum
Copy link
Collaborator

hi there @1012Charan

I have submitted my review

You can take a look and let me know what u think
Also, I think templates need to be as minimal as possible for less friction
We can remove fields which add little to no information (for eg :- title / assignees as it would be already very visible on Github)

@1012Charan
Copy link
Author

Hi @meethereum ,
Thanks for taking the time to review this!
I went with a more detailed template initially to make sure it could cover a wider range of PRs/issues and prompt contributors for all the key details upfront. That said, I completely get your point about keeping things minimal to avoid unnecessary friction. I’ll check and try to remove unnecessary fields like title/assignees and any others that don’t add much value

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.
@1012Charan 1012Charan requested review from meethereum and bupd August 13, 2025 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants