Skip to content

CodeRabbit improvements + PR Template file#20657

Open
GTFalcao wants to merge 2 commits intomasterfrom
coderabbit-improvements
Open

CodeRabbit improvements + PR Template file#20657
GTFalcao wants to merge 2 commits intomasterfrom
coderabbit-improvements

Conversation

@GTFalcao
Copy link
Copy Markdown
Collaborator

@GTFalcao GTFalcao commented Apr 21, 2026

Improved some CodeRabbit guidelines and revamped our pull_request_template file

Summary by CodeRabbit

  • Documentation
    • Updated component development guidelines to define versioning requirements and clarify annotation standards for components
    • Restructured pull request template with revised sections and enhanced checklist for versioning and PR types
    • Enhanced code review validation rules for component version increments and semantic versioning compliance

@vercel
Copy link
Copy Markdown

vercel bot commented Apr 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
pipedream-docs-redirect-do-not-edit Ignored Ignored Apr 21, 2026 1:45am

Request Review

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Apr 21, 2026

📝 Walkthrough

Walkthrough

These 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

Cohort / File(s) Summary
Code Review Configuration
.coderabbit.yaml
Added explicit validation rules for component version increments following semantic versioning and requiring app-level package.json bumps. Relocated component-level annotations validation to action-specific rules and added prohibition of annotations in source components.
Component Development Guidelines
.github/pipedream-component-guidelines.md
Added "Versioning" section mandating version increments on every change starting at 0.0.1, defined semantic version bump rules by change type, and required app package.json bumping by same-or-greater segment. Updated "Annotations" section to disallow annotations in source components and limit to actions only.
GitHub Templates
.github/ISSUE_TEMPLATE/app---service-integration.md, .github/pull_request_template.md
Removed punctuation in issue template. Restructured PR template by replacing "WHY" section with "Summary", adding PR description placeholders, and introducing "Checklist" with subsections for PR type, versioning, and app integration status.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The PR description provides a brief summary of changes but does not follow the required template structure which specifies a 'WHY' section for author completion. Follow the repository's PR description template by including the 'WHY' section to explain the motivation and context for these changes.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title mentions CodeRabbit improvements and PR template file, which aligns with the main changes in the changeset (updates to .coderabbit.yaml, component guidelines, and PR template).
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 coderabbit-improvements

Comment @coderabbitai help to get the list of available commands and usage tips.

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

🤖 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

📥 Commits

Reviewing files that changed from the base of the PR and between 0a9d50d and f5ee3b7.

📒 Files selected for processing (4)
  • .coderabbit.yaml
  • .github/ISSUE_TEMPLATE/app---service-integration.md
  • .github/pipedream-component-guidelines.md
  • .github/pull_request_template.md

Comment on lines +238 to 242
**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:
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.

⚠️ Potential issue | 🟠 Major

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.

Suggested change
**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.

Comment on lines +18 to +20
### 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
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot Apr 21, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

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/Fixed

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

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Can you explain where you're obtaining this requirement for a CHANGELOG.md entry?

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.

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

  1. "Do not merge or consider a change complete without both a version bump in package.json and a CHANGELOG.md entry"
  2. "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

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