CodeRabbit improvements + PR Template file#20657
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
📝 WalkthroughWalkthroughThese changes update configuration, documentation, and GitHub templates to establish clearer versioning and validation requirements for component development. The updates enforce semantic versioning on component and app-level bumps, add annotation validation rules, and restructure contributor-facing templates. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes 🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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/pipedream-component-guidelines.md:
- Around line 238-242: The docs currently contradict themselves about the
`annotations` property: the "Actions only. Source components must NOT include an
`annotations` object" line conflicts with the "universal required-properties
example" that still marks `annotations` as required for all components; update
the universal example to exclude `annotations` for source components and
annotate the example text to show `annotations` is required only for action
components. Modify the example block and any nearby text that generically lists
required properties so that `annotations` is shown conditionally (or removed)
for source components and add a short clarifying note referencing the phrases
"Actions only. Source components" and the "universal required-properties
example" to prevent future contradictions.
In @.github/pull_request_template.md:
- Around line 18-20: The Versioning checklist under "### Versioning" is missing
a requirement to add/update CHANGELOG.md; update the checklist by adding a new
checkbox item such as "- [ ] A CHANGELOG.md entry has been added or updated for
this change" immediately after the existing package.json version line so that
the template enforces both a package.json version bump and a CHANGELOG.md entry
when submitting PRs.
🪄 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: 49f8e1e8-f10d-4bb3-9b8c-8e2d01d2d1d0
📒 Files selected for processing (4)
.coderabbit.yaml.github/ISSUE_TEMPLATE/app---service-integration.md.github/pipedream-component-guidelines.md.github/pull_request_template.md
| **Actions only.** Source components must NOT include an `annotations` object — flag its | ||
| presence in any source file as an error. | ||
|
|
||
| Every action must include an `annotations` object that communicates its runtime behavior | ||
| to AI agents and the Pipedream platform: |
There was a problem hiding this comment.
Resolve the annotations requirement contradiction.
Line 238 says sources must not include annotations, but the universal required-properties example still presents annotations as required for all components. Please update that earlier example to avoid conflicting guidance for source components.
Suggested doc fix
export default {
key: "app-action-name", // globally unique; kebab-case; prefixed with app slug
name: "Human Readable Name", // shown in UI and as the MCP tool name
description: "...", // shown in UI and used as MCP tool documentation
version: "0.0.1", // semantic versioning; must be incremented on every change
type: "action", // or "source"
- annotations: { ... }, // MCP tool metadata — see Annotations section
+ // actions only:
+ annotations: { ... }, // MCP tool metadata — see Annotations section
props: { ... }, // configuration inputs
async run({ $ }) { ... }, // execution entry point (signature differs for sources)
};📝 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.
| **Actions only.** Source components must NOT include an `annotations` object — flag its | |
| presence in any source file as an error. | |
| Every action must include an `annotations` object that communicates its runtime behavior | |
| to AI agents and the Pipedream platform: | |
| export default { | |
| key: "app-action-name", // globally unique; kebab-case; prefixed with app slug | |
| name: "Human Readable Name", // shown in UI and as the MCP tool name | |
| description: "...", // shown in UI and used as MCP tool documentation | |
| version: "0.0.1", // semantic versioning; must be incremented on every change | |
| type: "action", // or "source" | |
| // actions only: | |
| annotations: { ... }, // MCP tool metadata — see Annotations section | |
| props: { ... }, // configuration inputs | |
| async run({ $ }) { ... }, // execution entry point (signature differs for sources) | |
| }; |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/pipedream-component-guidelines.md around lines 238 - 242, The docs
currently contradict themselves about the `annotations` property: the "Actions
only. Source components must NOT include an `annotations` object" line conflicts
with the "universal required-properties example" that still marks `annotations`
as required for all components; update the universal example to exclude
`annotations` for source components and annotate the example text to show
`annotations` is required only for action components. Modify the example block
and any nearby text that generically lists required properties so that
`annotations` is shown conditionally (or removed) for source components and add
a short clarifying note referencing the phrases "Actions only. Source
components" and the "universal required-properties example" to prevent future
contradictions.
| ### Versioning | ||
| - [ ] All components updated in this PR had their version updated (`0.0.1` for new ones) | ||
| - [ ] The app updated in this PR had its `package.json`'s version updated |
There was a problem hiding this comment.
Add CHANGELOG.md requirement to versioning checklist.
The versioning section mentions version bumps for components and package.json but omits the required CHANGELOG.md entry. Based on learnings, changes are not complete without both a version bump AND a CHANGELOG.md entry.
📝 Proposed addition for CHANGELOG.md requirement
### Versioning
- [ ] All components updated in this PR had their versions updated (`0.0.1` for new ones)
- [ ] The app updated in this PR had its `package.json`'s version updated
+- [ ] If this PR updates a package, a CHANGELOG.md entry was added following the format: `## [x.y.z] - YYYY-MM-DD` with sections for Added/Changed/FixedBased on learnings: "Do not merge or consider a change complete without both a version bump in package.json and a CHANGELOG.md entry"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/pull_request_template.md around lines 18 - 20, The Versioning
checklist under "### Versioning" is missing a requirement to add/update
CHANGELOG.md; update the checklist by adding a new checkbox item such as "- [ ]
A CHANGELOG.md entry has been added or updated for this change" immediately
after the existing package.json version line so that the template enforces both
a package.json version bump and a CHANGELOG.md entry when submitting PRs.
There was a problem hiding this comment.
Can you explain where you're obtaining this requirement for a CHANGELOG.md entry?
There was a problem hiding this comment.
@GTFalcao, good question — I should be transparent about this. The requirement came from my long-term memory (learnings), specifically two entries that were recorded from the packages/connect-react/CLAUDE.md file:
- "Do not merge or consider a change complete without both a version bump in package.json and a CHANGELOG.md entry"
- "Applies to
packages/connect-react/**/CHANGELOG.md: Add a CHANGELOG.md entry at the top for every change..."
On reflection, I applied these learnings too broadly. Both are explicitly scoped to the packages/connect-react package — not to the entire repository. It was a mistake to apply a package-specific convention to the general PR template.
I'll withdraw that suggestion. If you'd like, I can also remove those learnings from my long-term memory to prevent them from being misapplied again, or we can update them to make the scope clearer.
🧠 Learnings used
Learnt from: CR
Repo: PipedreamHQ/pipedream PR: 0
File: packages/connect-react/CLAUDE.md:0-0
Timestamp: 2026-02-21T00:32:22.081Z
Learning: Do not merge or consider a change complete without both a version bump in package.json and a CHANGELOG.md entry
Learnt from: CR
Repo: PipedreamHQ/pipedream PR: 0
File: packages/connect-react/CLAUDE.md:0-0
Timestamp: 2026-02-21T00:32:22.081Z
Learning: Applies to packages/connect-react/**/CHANGELOG.md : Add a CHANGELOG.md entry at the top for every change, following the format: ## [x.y.z] - YYYY-MM-DD with sections for Added/Changed/Fixed and descriptions of changes
Improved some CodeRabbit guidelines and revamped our
pull_request_templatefileSummary by CodeRabbit