mirror of
https://github.com/xtr-dev/payload-billing.git
synced 2025-12-10 02:43:24 +00:00
- Create new workflow for PR comment-based Claude assistance - Support multiple commands: implement, fix, improve, update, refactor, help - Work directly on PR branches without creating new PRs - Include comprehensive permission checks (bvdaakster only) - Add detailed documentation and usage examples - Support quality checks: build, typecheck, lint, test - Include smart context awareness of PR changes Features: - Direct PR branch modification - Multiple trigger commands for different types of assistance - Comprehensive error handling and user feedback - Quality assurance with automated checks - Detailed commit messages with attribution Commands: - @claude implement - Add new functionality - @claude fix - Fix bugs or errors - @claude improve - Enhance existing code - @claude update - Update to requirements - @claude refactor - Restructure code - @claude help - General assistance 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
6.6 KiB
6.6 KiB
Claude PR Assistant
This workflow allows Claude to assist with Pull Requests by implementing improvements, fixes, and changes directly on the PR branch when mentioned in comments.
How to Use
1. Comment on Any PR
Use one of these trigger commands in a comment on any open pull request:
@claude implement- Implement new features or functionality@claude fix- Fix bugs or issues in the PR@claude improve- Improve existing code quality@claude update- Update code to match requirements@claude refactor- Refactor code for better structure@claude help- General assistance with the PR
2. Example Usage
@claude fix
Please fix the TypeScript errors in the payments collection and ensure proper typing for the provider data field.
@claude improve
Can you optimize the invoice generation logic and add better error handling?
@claude implement
Add validation for email addresses in the customer billing information fields. Make sure it follows the existing validation patterns.
What Happens
- Permission Check: Verifies you are
bvdaakster(only authorized user) - PR Analysis: Claude analyzes the current PR context and changes
- Implementation: Makes the requested changes directly on the PR branch
- Quality Checks: Runs build, typecheck, and lint
- Commit & Push: Commits changes with descriptive messages
- Notification: Updates the PR with completion status
Features
✅ Direct PR Modification
- Works directly on the existing PR branch
- No new branches or PRs created
- Changes appear immediately in the PR
✅ Smart Context Awareness
- Understands the current PR changes
- Analyzes existing code patterns
- Maintains consistency with the codebase
✅ Comprehensive Request Handling
- Code improvements and refactoring
- Bug fixes within the PR
- Adding missing features
- Documentation updates
- Type error fixes
- Performance optimizations
- Test additions
✅ Quality Assurance
- Follows TypeScript conventions
- Uses ESM module structure
- Runs automated quality checks
- Maintains coding standards
Command Reference
| Command | Purpose | Example |
|---|---|---|
@claude implement |
Add new functionality | "implement user authentication" |
@claude fix |
Fix bugs or errors | "fix the validation logic" |
@claude improve |
Enhance existing code | "improve performance of query" |
@claude update |
Update to requirements | "update to use new API format" |
@claude refactor |
Restructure code | "refactor into smaller functions" |
@claude help |
General assistance | "help with error handling" |
Examples
Bug Fix Request
@claude fix
There's a TypeScript error in `src/providers/stripe.ts` on line 45. The `amount` property is missing from the payment object. Please fix this and ensure proper typing.
Feature Implementation
@claude implement
Add support for recurring payments in the Stripe provider. Follow the same pattern as the Mollie provider and include proper webhook handling.
Code Improvement
@claude improve
The `validatePayment` function in utils.ts is getting complex. Please refactor it to be more readable and add proper error messages for each validation case.
Documentation Update
@claude update
Update the JSDoc comments in the billing plugin configuration to include examples of how to use the new customer info extractor feature.
Response Types
Success Response
✅ PR Assistance Complete!
🔧 Changes Made:
- ✅ Analyzed PR context and requirements
- ✅ Implemented requested improvements/fixes
- ✅ Followed project coding standards
- ✅ Updated the current PR branch
Changes are ready for review! 🚀
No Changes Response
ℹ️ PR Assistance Complete - No Changes
Analysis Result: The requested feature is already implemented
💡 Suggestions:
- Provide more detailed requirements
- Point to specific files or functions
Error Response
❌ PR Assistance Failed
🔄 Try Again:
- Providing more specific instructions
- Breaking down complex requests
Best Practices
Clear Instructions
- Be specific about what you want changed
- Reference specific files or functions when possible
- Provide context about the desired outcome
Examples of Good Requests
@claude fix the TypeScript error in src/collections/payments.ts line 42 where the status field is missing from the Payment interface
@claude implement email validation in the customer billing form using the same pattern as the phone validation
@claude refactor the webhook handler in providers/mollie.ts to extract the payment processing logic into separate functions
Examples of Unclear Requests
@claude fix everything
@claude make it better
@claude help with this
Limitations
- User Restriction: Only
bvdaakstercan use this feature - PR Only: Works on pull request comments, not issue comments
- Open PRs: Only works on open pull requests
- Branch Access: Requires write access to the PR branch
Technical Details
Workflow Triggers
- Event:
issue_commenton pull requests - Conditions: Comment contains Claude trigger words
- Permissions: User must be
bvdaakster
Quality Checks
Claude automatically runs:
pnpm build- Verify code compilespnpm typecheck- Check TypeScript typespnpm lint- Ensure code style compliancenpm run test- Run test suite (if available)
Commit Messages
Automatic commits include:
- Description of the request
- PR number and requester
- Claude attribution
- Proper co-authoring
Branch Strategy
- Works directly on the PR's head branch
- No additional branches created
- Changes pushed to existing PR
- Maintains PR history
Troubleshooting
Common Issues
-
Permission Denied
- Only
bvdaakstercan use Claude PR assistance - Verify you're commenting as the correct user
- Only
-
No Changes Made
- Request might be unclear or already implemented
- Try providing more specific instructions
- Reference specific files or lines
-
Workflow Failed
- Check the Actions tab for detailed logs
- Verify the PR branch is accessible
- Ensure request is actionable
Getting Help
If Claude assistance isn't working:
- Check the workflow logs in Actions tab
- Verify your request is specific and actionable
- Try breaking complex requests into smaller parts
- Use different command triggers (@claude fix vs @claude implement)
Note: This feature uses the official Anthropic Claude Code action for reliable, production-ready assistance. All changes should be reviewed before merging.