diff --git a/.github/CLAUDE_PR_ASSISTANT.md b/.github/CLAUDE_PR_ASSISTANT.md deleted file mode 100644 index 98dc675..0000000 --- a/.github/CLAUDE_PR_ASSISTANT.md +++ /dev/null @@ -1,235 +0,0 @@ -# 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 - -1. **Permission Check**: Verifies you are `bvdaakster` (only authorized user) -2. **PR Analysis**: Claude analyzes the current PR context and changes -3. **Implementation**: Makes the requested changes directly on the PR branch -4. **Quality Checks**: Runs build, typecheck, and lint -5. **Commit & Push**: Commits changes with descriptive messages -6. **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 `bvdaakster` can 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_comment` on pull requests -- Conditions: Comment contains Claude trigger words -- Permissions: User must be `bvdaakster` - -### Quality Checks -Claude automatically runs: -- `pnpm build` - Verify code compiles -- `pnpm typecheck` - Check TypeScript types -- `pnpm lint` - Ensure code style compliance -- `npm 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 - -1. **Permission Denied** - - Only `bvdaakster` can use Claude PR assistance - - Verify you're commenting as the correct user - -2. **No Changes Made** - - Request might be unclear or already implemented - - Try providing more specific instructions - - Reference specific files or lines - -3. **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: -1. Check the workflow logs in Actions tab -2. Verify your request is specific and actionable -3. Try breaking complex requests into smaller parts -4. 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. \ No newline at end of file diff --git a/.github/claude-config.json b/.github/claude-config.json deleted file mode 100644 index 7bfe8e7..0000000 --- a/.github/claude-config.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "privilegedUsers": [ - "bvdaakster" - ], - "permissions": { - "issueImplementation": { - "strategy": "privilegedUsers", - "description": "Only bvdaakster can request Claude implementations" - }, - "codeReview": { - "strategy": "privilegedUsers", - "description": "Only bvdaakster can trigger Claude reviews" - }, - "prAssistant": { - "strategy": "privilegedUsers", - "description": "Only bvdaakster can use Claude PR assistance" - } - }, - "workflows": { - "issueImplementation": { - "file": "claude-implement-issue.yml", - "triggers": ["@claude implement", "@claude fix", "@claude create"], - "description": "Creates new branch and PR for issue implementation" - }, - "codeReview": { - "file": "claude-code-review.yml", - "triggers": ["automatic on PR"], - "description": "Automatic code review for PRs from privileged users" - }, - "prAssistant": { - "file": "claude-pr-assistant.yml", - "triggers": ["@claude implement", "@claude fix", "@claude improve", "@claude update", "@claude refactor", "@claude help"], - "description": "Assists with PR improvements directly on the PR branch" - } - }, - "strategies": { - "privilegedUsers": "Only users in the privilegedUsers list", - "adminsOnly": "Only repository admins", - "adminOrPrivileged": "Repository admins OR users in privilegedUsers list", - "orgMembersWithWrite": "Organization members with write access", - "everyone": "All users with repository access" - } -} \ No newline at end of file diff --git a/package.json b/package.json index aa0701f..06c6c82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@xtr-dev/payload-billing", - "version": "0.1.6", + "version": "0.1.7", "description": "PayloadCMS plugin for billing and payment provider integrations with tracking and local testing", "license": "MIT", "type": "module",