Skip to content

feat: improve coderabbit workflow#5294

Open
animeshk923 wants to merge 4 commits into
asyncapi:masterfrom
animeshk923:coderabbit-power-up
Open

feat: improve coderabbit workflow#5294
animeshk923 wants to merge 4 commits into
asyncapi:masterfrom
animeshk923:coderabbit-power-up

Conversation

@animeshk923
Copy link
Copy Markdown
Contributor

@animeshk923 animeshk923 commented Mar 29, 2026

Description
This PR introduces a more exhaustive and dependable coderabbit configuration along with a PR review checklist to aid us.

Related issue(s)
Resolves #5291

Summary by CodeRabbit

  • Documentation

    • Added a PR review checklist with guidance on titles, descriptions, comments, tests, review scope, and deployment evidence.
  • Chores

    • Enabled enhanced automated review and status reporting (auto-review, incremental reviews, review/commit/changed-files summaries, related issues/PRs).
    • Enforced stricter pre-merge title checks using Conventional Commits imperative-mood rules.
    • Enabled knowledge-base web search and automatic detection of code guidelines; configured certain bots to be ignored.

@netlify
Copy link
Copy Markdown

netlify Bot commented Mar 29, 2026

Deploy Preview for asyncapi-website ready!

Built without sensitive environment variables

Name Link
🔨 Latest commit 328d232
🔍 Latest deploy log https://app.netlify.com/projects/asyncapi-website/deploys/69e5af94a46a5d000841880e
😎 Deploy Preview https://deploy-preview-5294--asyncapi-website.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 29, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6d25ca61-71b8-4ae5-a9ac-cc705fe30241

📥 Commits

Reviewing files that changed from the base of the PR and between 7f6dce6 and 328d232.

📒 Files selected for processing (1)
  • .github/pr-review-checklist.md
✅ Files skipped from review due to trivial changes (1)
  • .github/pr-review-checklist.md

📝 Walkthrough

Walkthrough

Updated CodeRabbit review configuration to enable knowledge-base awareness, stricter pre-merge title enforcement (Conventional Commits imperative mood), additional automated review outputs, and added a new PR review checklist documenting reviewer expectations and conventions. (33 words)

Changes

Cohort / File(s) Summary
CodeRabbit configuration
\.coderabbit\.yaml
Replaced review settings: disabled poem, suggested_reviewers, suggested_labels, sequence_diagrams; enabled high_level_summary placeholder, profile: chill, auto_review with auto_incremental_review: true; ignore bots (dependabot, asyncapi-bot); enabled review_status, commit_status, changed_files_summary, assess_linked_issues, related_issues, related_prs; added pre_merge_checks.title with mode: error enforcing Conventional Commits imperative mood; enabled knowledge_base (web_search), code_guidelines auto-detection (.github/pr-review-checklist.md, CONTRIBUTING.md), and mcp usage:auto.
Review documentation
.github/pr-review-checklist.md
New PR review checklist defining reviewer responsibilities: PR title/description conventions (including Resolves/Fixes #...), testing evidence, JSDoc/comments standards, DRY expectations, test coverage/edge cases, commit history guidance, PR scoping advice, and handling bot comments.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐇 I nibble on config, tidy each thread,
I plant a checklist where reviewers tread.
A hop for the rules, a skip for the rest—
Merge-ready fields, dressed in their best! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: improving the CodeRabbit workflow configuration. It directly relates to the primary objective of making CodeRabbitAI more effective through configuration updates.
Linked Issues check ✅ Passed The pull request fully addresses both implementation requirements from issue #5291: updating the CodeRabbit YAML configuration with knowledge-base features and adding a PR review checklist for CodeRabbit.
Out of Scope Changes check ✅ Passed All changes are directly aligned with the linked issue objectives. The .coderabbit.yaml enhancements and .github/pr-review-checklist.md addition both match the specified implementation requirements.
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

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.

@asyncapi-bot
Copy link
Copy Markdown
Contributor

asyncapi-bot commented Mar 29, 2026

⚡️ Lighthouse report for the changes in this PR:

Category Score
🔴 Performance 47
🟢 Accessibility 98
🟢 Best practices 92
🟢 SEO 100
🔴 PWA 33

Lighthouse ran on https://deploy-preview-5294--asyncapi-website.netlify.app/

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (6319719) to head (328d232).
⚠️ Report is 30 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master     #5294   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           22        22           
  Lines          830       830           
  Branches       159       159           
=========================================
  Hits           830       830           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

🧹 Nitpick comments (1)
.github/pr-review-checklist.md (1)

19-19: Consider adding supported PR slash commands to the checklist.

A short note with /ptal, /rtm, /dnm, /au, and /u would make reviewer actions more discoverable.

Based on learnings: The following PR commands are supported in this repository: /please-take-a-look (/ptal), /ready-to-merge (/rtm), /do-not-merge (/dnm), /autoupdate (/au), /update (/u).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/pr-review-checklist.md at line 19, Add a short note under the "Bot
Comments" checklist item listing the supported PR slash commands and their
aliases so reviewers can discover them easily; explicitly include the mappings:
/please-take-a-look (/ptal), /ready-to-merge (/rtm), /do-not-merge (/dnm),
/autoupdate (/au), and /update (/u), phrased as a single-line bullet or
parenthetical note.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.coderabbit.yaml:
- Line 23: Update the .coderabbit.yaml "requirements" value to remove the
Generator-specific clause that starts with "In Generator," so the enforced title
policy no longer demands Generator-prefixed commit titles; edit the requirements
string (and keep the existing "mode: error" behavior) to only require a concise
Conventional Commits-style imperative title (e.g., start with "feat:" or "fix:"
when relevant) and ensure no repository-specific Generator text remains that can
cause false pre-merge failures.
- Line 13: Update the ignore_usernames list so it includes the AsyncAPI
automation account: add "asyncapi-bot-eve" to the existing ignore_usernames
array (the YAML key ignore_usernames) so the entry becomes [dependabot,
asyncapi-bot, asyncapi-bot-eve]; ensure proper YAML quoting/commas if needed and
keep the same spacing/style as the surrounding file.

---

Nitpick comments:
In @.github/pr-review-checklist.md:
- Line 19: Add a short note under the "Bot Comments" checklist item listing the
supported PR slash commands and their aliases so reviewers can discover them
easily; explicitly include the mappings: /please-take-a-look (/ptal),
/ready-to-merge (/rtm), /do-not-merge (/dnm), /autoupdate (/au), and /update
(/u), phrased as a single-line bullet or parenthetical note.
🪄 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: CHILL

Plan: Pro

Run ID: cc5025bc-ec99-4f4d-a662-0b7f013f6249

📥 Commits

Reviewing files that changed from the base of the PR and between 6319719 and 294df52.

📒 Files selected for processing (2)
  • .coderabbit.yaml
  • .github/pr-review-checklist.md

Comment thread .coderabbit.yaml
auto_review:
enabled: true
auto_incremental_review: true
ignore_usernames: [dependabot, asyncapi-bot]
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot Mar 29, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify actual PR author logins used in asyncapi/website (read-only).
# Expected: confirm exact bot logins, then mirror them in reviews.auto_review.ignore_usernames.

gh api repos/asyncapi/website/pulls --paginate -q '.[].user.login' \
  | sort -u \
  | rg -n 'dependabot|asyncapi-bot'

Repository: asyncapi/website

Length of output: 90


🏁 Script executed:

# Search for bot references in the repository structure
find . -type f \( -name "*.yml" -o -name "*.yaml" -o -name "*.md" \) | head -20

Repository: asyncapi/website

Length of output: 960


🏁 Script executed:

# Look for workflow files that might mention bots
fd -e yml -e yaml .github/workflows/ 2>/dev/null | xargs grep -l "dependabot\|asyncapi-bot" 2>/dev/null || echo "No matches found"

Repository: asyncapi/website

Length of output: 76


🏁 Script executed:

# Search for any mentions of bot usernames in the codebase
rg "dependabot|asyncapi-bot" -t yml -t yaml -t md 2>/dev/null || echo "No matches found"

Repository: asyncapi/website

Length of output: 76


🌐 Web query:

GitHub bot usernames naming conventions dependabot asyncapi-bot exact format

💡 Result:

GitHub bot usernames follow a convention of ending with -bot or [bot]. Dependabot uses dependabot-bot (commit signing account for the Dependabot app, github.com/dependabot-bot). asyncapi-bot is the top contributor to AsyncAPI repositories like asyncapi/chatbot (github.com/asyncapi/chatbot contributors). No strict official format is documented in GitHub docs; common practice is descriptive name + "-bot" for identification as a bot account. GitHub usernames allow alphanumeric characters and hyphens, no underscores generally (except internal uses). Branch names for Dependabot PRs follow "dependabot/{packageManager}/{targetBranch}/{dependencyName}-{version}", configurable via dependabot.yml (e.g., separator: space or hyphen).

Citations:


🏁 Script executed:

# Check if there's any CONTRIBUTING or documentation mentioning bots
fd -t f \( -name "CONTRIBUTING*" -o -name "AUTHOR*" -o -name "README*" \) | xargs grep -l "bot\|dependabot" 2>/dev/null || echo "No docs found mentioning bots"

Repository: asyncapi/website

Length of output: 337


🏁 Script executed:

# Search for any references to bot accounts in the entire repo
rg "asyncapi-bot|dependabot" -i --max-count 20 2>/dev/null || echo "No references found"

Repository: asyncapi/website

Length of output: 2328


🏁 Script executed:

# Check the .coderabbit.yaml file to see full context
cat -n .coderabbit.yaml | head -30

Repository: asyncapi/website

Length of output: 1280


🌐 Web query:

asyncapi-bot-eve GitHub AsyncAPI project bot username

💡 Result:

The GitHub username for the asyncapi-bot-eve, which is an official bot for the AsyncAPI project named after their mascot Eve, is asyncapi-bot-eve. It handles automation tasks like managing global GitHub Actions workflows across AsyncAPI repositories, as part of the @asyncapi/bots team. Repositories need to add @asyncapi-bot-eve to their CODEOWNERS file for automatic PR approvals from the bot.

Citations:


Add asyncapi-bot-eve to the ignore_usernames list.

Line 13 is missing asyncapi-bot-eve, which is the official AsyncAPI bot listed in CODEOWNERS and governance documentation as actively used for GitHub Actions automation. The configuration should be:

ignore_usernames: [dependabot, asyncapi-bot, asyncapi-bot-eve]

This ensures auto-review is skipped for both dependabot and the AsyncAPI bot accounts. The current configuration will still trigger auto-reviews for PRs from asyncapi-bot-eve.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.coderabbit.yaml at line 13, Update the ignore_usernames list so it includes
the AsyncAPI automation account: add "asyncapi-bot-eve" to the existing
ignore_usernames array (the YAML key ignore_usernames) so the entry becomes
[dependabot, asyncapi-bot, asyncapi-bot-eve]; ensure proper YAML quoting/commas
if needed and keep the same spacing/style as the surrounding file.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Should this be implemented?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check actual PR authors that are bots in asyncapi/website
gh api "repos/asyncapi/website/pulls?state=all&per_page=50" \
  -q '.[].user | select(.type == "Bot" or (.login | test("bot"; "i"))) | .login' \
  | sort | uniq -c | sort -rn | head -20

Length of output: 44


@animeshk923 Based on checking the last 50 PRs in asyncapi/website, the only bot accounts that actually open PRs are:

Bot PRs (recent 50)
asyncapi-bot 15
dependabot[bot] 12
asyncapi-bot-eve 0

asyncapi-bot-eve operates as a reviewer/approver (via CODEOWNERS), not as a PR author, so adding it to ignore_usernames would have no practical effect for this repository.

You can safely skip this suggestion. The current configuration already covers the bots that actually open PRs here.

One minor note for awareness: the actual GitHub login for Dependabot is dependabot[bot], but CodeRabbit's ignore_usernames matching is case-insensitive and handles the [bot] suffix, so the existing dependabot entry works correctly.


🧠 Learnings used
Learnt from: akshatnema
Repo: asyncapi/website PR: 3298
File: .coderrabbit.yml:2-2
Timestamp: 2024-10-23T09:13:57.844Z
Learning: When a user prefers detailed reviews including nitpicks, set `reviews.profile` to `"assertive"` in the `.coderrabbit.yml` configuration file.

Learnt from: akshatnema
Repo: asyncapi/website PR: 3265
File: tests/fixtures/toolsObjectData.js:51-52
Timestamp: 2024-10-09T17:35:36.557Z
Learning: When reviewing code in the 'asyncapi/website' repository, akshatnema prefers that I do not provide committable code suggestions.

Learnt from: asyncapi-bot
Repo: asyncapi/website PR: 0
File: :0-0
Timestamp: 2025-02-18T12:07:42.211Z
Learning: The following PR commands are supported in the asyncapi/website repository:
- `/please-take-a-look` or `/ptal`: Requests attention from reviewers who haven't reviewed the PR
- `/ready-to-merge` or `/rtm`: Triggers automerge when all conditions are met
- `/do-not-merge` or `/dnm`: Blocks automerge even if all conditions are met
- `/autoupdate` or `/au`: Adds autoupdate label to keep PR in sync with target branch
- `/update` or `/u`: One-time update of PR with latest changes from target branch

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Seems like the humans are having a chat. I'll hop back into my burrow for now. If you need me again, just tag @coderabbitai in a new comment, and I'll come hopping out!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@animeshk923 not needed. asyncapi-bot-eve does not creats pr

Comment thread .coderabbit.yaml Outdated
apply suggestion from asyncapi#5294 (comment)

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Comment on lines +1 to +8
### What reviewer looks at during PR review
The following are ideal points maintainers look for during review. Reviewing these points yourself beforehand can help streamline the review process and reduce time to merge.

1. **PR Title**: Use a concise title that follows our [Conventional Commits](https://github.com/asyncapi/website/blob/master/CONTRIBUTING.md#conventional-commits) guidelines and clearly summarizes the change using [imperative mood](https://cbea.ms/git-commit/#imperative) (it means `spoken or written as if giving a command or instruction`, like "add new helper for listing operations")

1. **PR Description**: Clearly explain the issue being solved, summarize the changes made, and mention the related issue.
> **Note** - Ensure the PR Description includes `Resolves #<issue-number>` or `Fixes #<issue-number>` this will automatically close the linked issue when the PR is merged and helps automate the maintainers workflow.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In this checklist, please add the most important point: attaching testing evidence from the temporary deployment link. This should be mandatory.

Even if your code is just a refactoring and does not add any new features, you should still provide testing evidence for the parts of the code you modified to ensure there are no regressions.

Hence, please add this point.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

what do we mean and consider as a testing evidence here?

Copy link
Copy Markdown
Contributor Author

@animeshk923 animeshk923 Apr 20, 2026

Choose a reason for hiding this comment

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

resolved through 328d232

@princerajpoot20
Copy link
Copy Markdown
Member

@animeshk923 any update on this one? i have answered your query over slack. Let me know if you need more clarification

@sonarqubecloud
Copy link
Copy Markdown

@animeshk923
Copy link
Copy Markdown
Contributor Author

animeshk923 commented Apr 20, 2026

@animeshk923 any update on this one? i have answered your query over slack. Let me know if you need more clarification

Applied the suggestion from #5294 (comment) via 328d232

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

Labels

None yet

Projects

Status: To Be Triaged

Development

Successfully merging this pull request may close these issues.

[FEATURE] CodeRabbitAI Knowledge-Base–Aware

3 participants