Skip to content

chore: add dotagents#871

Open
KooshaPari wants to merge 5 commits intomainfrom
chore/dotagents-setup
Open

chore: add dotagents#871
KooshaPari wants to merge 5 commits intomainfrom
chore/dotagents-setup

Conversation

@KooshaPari
Copy link
Owner

@KooshaPari KooshaPari commented Mar 24, 2026

Adopts dotagents (Sentry) for standardized agent configuration management.

Summary by CodeRabbit

  • Chores
    • Added standardized GitHub issue templates for bug reports and feature requests
    • Implemented automated quality gate checks and release management workflows to improve development processes

@gemini-code-assist
Copy link

Warning

You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again!

@coderabbitai
Copy link

coderabbitai bot commented Mar 24, 2026

📝 Walkthrough

Walkthrough

This pull request adds GitHub infrastructure files to establish development workflows and issue templates. Seven new configuration files are introduced: GitHub Issue templates for bug reports and feature requests, four GitHub Actions workflows for quality gates, release drafting, self-merge checks, and tag automation, plus an agents configuration file declaring a dotagents skill.

Changes

Cohort / File(s) Summary
GitHub Issue Templates
.github/ISSUE_TEMPLATE/bug_report.yml, .github/ISSUE_TEMPLATE/feature_request.yml
Added issue form templates to standardize bug report and feature request submissions with labeled auto-tagging and required description fields.
GitHub Actions Workflows
.github/workflows/quality-gate.yml, .github/workflows/release-drafter.yml, .github/workflows/self-merge-gate.yml, .github/workflows/tag-automation.yml
Added four CI/CD workflows: quality-gate runs verification scripts on pull requests, release-drafter manages release notes on pushes to main, self-merge-gate checks merge eligibility on code reviews, and tag-automation triggers on version tag pushes.
Configuration
agents.toml
Added agents configuration file declaring version 1 with a single dotagents skill sourced from getsentry/dotagents.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 A new warren of workflows takes flight,
Issue templates gleam in the GitHub light,
Quality gates and release drafts align,
With agents.toml, the setup's just fine!
~CodeRabbit

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title 'chore: add dotagents' accurately reflects the main change—adding dotagents configuration (agents.toml) to the repository for agent configuration management, though it encompasses broader infrastructure additions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/dotagents-setup

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.

Copy link

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

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

Inline comments:
In @.github/ISSUE_TEMPLATE/bug_report.yml:
- Line 2: Update the YAML description value on the bug report template by
replacing the outdated project name "Phenotype" with the current
repository/project name; specifically edit the description field (the string
assigned to the description key) so it reflects the correct project name
throughout the .github/ISSUE_TEMPLATE/bug_report.yml file.

In @.github/ISSUE_TEMPLATE/feature_request.yml:
- Line 2: The description field currently contains the product name "Phenotype"
(see the string "description: Suggest an idea for Phenotype"); update that
string to the correct product/repository name (or a neutral term like "project"
if unsure) so the issue template no longer references the wrong product; ensure
only the text after "description:" is changed and preserve YAML formatting.

In @.github/workflows/quality-gate.yml:
- Around line 1-9: Add an explicit permissions block to the "quality-gate"
workflow to limit GITHUB_TOKEN to the least privilege required (readonly repo
contents); modify the workflow top-level to include permissions: contents: read
so the "verify" job (and steps like the "Run quality checks" step) only get read
access to repository contents and nothing more.

In @.github/workflows/release-drafter.yml:
- Around line 7-12: Add an explicit permissions block to the
update_release_draft job (the job that runs release-drafter/release-drafter@v6)
instead of relying on repo defaults: set contents: write and pull-requests: read
so the action can create/update releases and read PR data; keep the existing env
GITHUB_TOKEN usage and ensure the permissions are declared at the job level for
update_release_draft.

In @.github/workflows/self-merge-gate.yml:
- Around line 7-9: The workflow step "Check self-merge eligibility" runs
./scripts/self-merge-gate.sh but never checks out the repository; add a prior
step that uses the checkout action (e.g., actions/checkout@v4) before the step
that runs ./scripts/self-merge-gate.sh so the script and repository files are
present at runtime; ensure the new step is placed immediately before the
existing "Check self-merge eligibility" step in the job.

In @.github/workflows/tag-automation.yml:
- Around line 11-12: The "Create release tag" step is a no-op printing
github.ref_name; replace it with real tagging/publishing logic: ensure the job
includes actions/checkout so the repo is available, then either (A) run shell
commands to configure git (git config user.name/email), fetch history, create an
annotated tag (git tag -a "${{ github.ref_name }}" -m "Release ${{
github.ref_name }}") and push it (git push origin "${{ github.ref_name }}"), or
(B) use actions/create-release (e.g., actions/create-release@v1) with tag_name:
${{ github.ref_name }} and upload assets as needed; update the step named
"Create release tag" to perform one of these real actions instead of echo.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 1eb4851c-ae97-40b6-8863-7957885dcb61

📥 Commits

Reviewing files that changed from the base of the PR and between bcfa405 and 62792e3.

⛔ Files ignored due to path filters (1)
  • agents.lock is excluded by !**/*.lock
📒 Files selected for processing (7)
  • .github/ISSUE_TEMPLATE/bug_report.yml
  • .github/ISSUE_TEMPLATE/feature_request.yml
  • .github/workflows/quality-gate.yml
  • .github/workflows/release-drafter.yml
  • .github/workflows/self-merge-gate.yml
  • .github/workflows/tag-automation.yml
  • agents.toml

@@ -0,0 +1,16 @@
name: Bug Report
description: File a report to help us improve Phenotype
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Update repository name in bug template description.

Line 2 uses Phenotype; this should match the current project name to avoid confusion.

Suggested patch
-description: File a report to help us improve Phenotype
+description: File a report to help us improve cliproxyapi-plusplus
📝 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
description: File a report to help us improve Phenotype
description: File a report to help us improve cliproxyapi-plusplus
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/bug_report.yml at line 2, Update the YAML description
value on the bug report template by replacing the outdated project name
"Phenotype" with the current repository/project name; specifically edit the
description field (the string assigned to the description key) so it reflects
the correct project name throughout the .github/ISSUE_TEMPLATE/bug_report.yml
file.

@@ -0,0 +1,11 @@
name: Feature Request
description: Suggest an idea for Phenotype
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Fix product name in template copy.

Line 2 still references Phenotype, which doesn’t match this repository and can confuse issue reporters.

Suggested patch
-description: Suggest an idea for Phenotype
+description: Suggest an idea for cliproxyapi-plusplus
📝 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
description: Suggest an idea for Phenotype
description: Suggest an idea for cliproxyapi-plusplus
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/ISSUE_TEMPLATE/feature_request.yml at line 2, The description field
currently contains the product name "Phenotype" (see the string "description:
Suggest an idea for Phenotype"); update that string to the correct
product/repository name (or a neutral term like "project" if unsure) so the
issue template no longer references the wrong product; ensure only the text
after "description:" is changed and preserve YAML formatting.

Comment on lines +1 to +9
name: quality-gate
on: [pull_request]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run quality checks
run: ./scripts/quality-gate.sh verify
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Set explicit GITHUB_TOKEN permissions for least privilege.

This workflow has no permissions block, so token scope depends on repo defaults. Since it only needs source checkout and local script execution, lock it down to read-only contents.

Suggested patch
 name: quality-gate
 on: [pull_request]
+permissions:
+  contents: read
 jobs:
   verify:
📝 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
name: quality-gate
on: [pull_request]
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run quality checks
run: ./scripts/quality-gate.sh verify
name: quality-gate
on: [pull_request]
permissions:
contents: read
jobs:
verify:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run quality checks
run: ./scripts/quality-gate.sh verify
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/quality-gate.yml around lines 1 - 9, Add an explicit
permissions block to the "quality-gate" workflow to limit GITHUB_TOKEN to the
least privilege required (readonly repo contents); modify the workflow top-level
to include permissions: contents: read so the "verify" job (and steps like the
"Run quality checks" step) only get read access to repository contents and
nothing more.

Comment on lines +7 to +12
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

For release-drafter/release-drafter@v6, what exact workflow permissions are required for GITHUB_TOKEN?

💡 Result:

For release-drafter/release-drafter@v6 using the default GITHUB_TOKEN, the workflow requires the following permissions: permissions: contents: write pull-requests: read contents: write is required to create and update GitHub releases (draft or published). pull-requests: read is required to access pull request data for generating release notes from merged PRs. If using the autolabeler feature, upgrade to pull-requests: write. These permissions can be set at the workflow level (applied to the job/step) or job/step level for finer control. Workflow-level read permissions (e.g., contents: read) are often used at the top for initial checkout/access, with write escalated in the release-drafter job. Example workflow: name: Release Drafter on: push: branches: [main] permissions: contents: write pull-requests: read jobs: update_release_draft: runs-on: ubuntu-latest steps: - uses: release-drafter/release-drafter@v6 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Citations:


Declare explicit token permissions for Release Drafter.

Without a permissions block, this job depends on repo defaults and can break in hardened repositories or be over-permissive in others. Set explicit scopes required by release-drafter/release-drafter@v6: contents: write (to create and update releases) and pull-requests: read (to access PR data for release notes).

Suggested patch
 name: Release Drafter
 on:
   push:
     branches:
       - main
+permissions:
+  contents: write
+  pull-requests: read
 jobs:
   update_release_draft:
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/release-drafter.yml around lines 7 - 12, Add an explicit
permissions block to the update_release_draft job (the job that runs
release-drafter/release-drafter@v6) instead of relying on repo defaults: set
contents: write and pull-requests: read so the action can create/update releases
and read PR data; keep the existing env GITHUB_TOKEN usage and ensure the
permissions are declared at the job level for update_release_draft.

Comment on lines +7 to +9
steps:
- name: Check self-merge eligibility
run: ./scripts/self-merge-gate.sh
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Add repository checkout before running local script.

Line 9 executes a repo script, but the job never checks out code. This will fail at runtime.

Suggested patch
 jobs:
   check:
     runs-on: ubuntu-latest
     if: github.event.review.state == 'approved'
     steps:
+      - uses: actions/checkout@v4
       - name: Check self-merge eligibility
         run: ./scripts/self-merge-gate.sh
📝 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
steps:
- name: Check self-merge eligibility
run: ./scripts/self-merge-gate.sh
steps:
- uses: actions/checkout@v4
- name: Check self-merge eligibility
run: ./scripts/self-merge-gate.sh
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/self-merge-gate.yml around lines 7 - 9, The workflow step
"Check self-merge eligibility" runs ./scripts/self-merge-gate.sh but never
checks out the repository; add a prior step that uses the checkout action (e.g.,
actions/checkout@v4) before the step that runs ./scripts/self-merge-gate.sh so
the script and repository files are present at runtime; ensure the new step is
placed immediately before the existing "Check self-merge eligibility" step in
the job.

Comment on lines +11 to +12
- name: Create release tag
run: echo "Creating release for ${{ github.ref_name }}"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Implement real tag automation (current step is a no-op).

Line 12 only prints a message; it does not create any release or perform tag-related automation.

Suggested patch
 name: Tag Automation
 on:
   push:
     tags:
       - 'v*'
+permissions:
+  contents: write
 jobs:
   tag:
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v4
       - name: Create release tag
-        run: echo "Creating release for ${{ github.ref_name }}"
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        run: gh release create "${{ github.ref_name }}" --generate-notes
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/tag-automation.yml around lines 11 - 12, The "Create
release tag" step is a no-op printing github.ref_name; replace it with real
tagging/publishing logic: ensure the job includes actions/checkout so the repo
is available, then either (A) run shell commands to configure git (git config
user.name/email), fetch history, create an annotated tag (git tag -a "${{
github.ref_name }}" -m "Release ${{ github.ref_name }}") and push it (git push
origin "${{ github.ref_name }}"), or (B) use actions/create-release (e.g.,
actions/create-release@v1) with tag_name: ${{ github.ref_name }} and upload
assets as needed; update the step named "Create release tag" to perform one of
these real actions instead of echo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant