feat: Add n8n workflow automation integration #88
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Claude Assistant | |
| on: | |
| issue_comment: | |
| types: [created] | |
| pull_request_review_comment: | |
| types: [created] | |
| issues: | |
| types: [assigned, labeled] | |
| pull_request_review: | |
| types: [submitted] | |
| jobs: | |
| claude-response: | |
| if: | | |
| ( | |
| !contains(github.actor, '[bot]') || | |
| github.actor == 'github-actions[bot]' | |
| ) && | |
| github.actor != 'dependabot[bot]' && | |
| github.actor != 'renovate[bot]' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| issues: write | |
| actions: read | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: anthropics/claude-code-action@beta | |
| with: | |
| claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }} | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| trigger_phrase: "@claude" | |
| label_trigger: "claude" | |
| direct_prompt: | | |
| Analyze this issue and implement a fix: | |
| 1. Read the codebase structure and understand tool patterns (see praisonai_tools/tools/lumalabs_tool.py as reference) | |
| 2. Implement the tool following existing patterns: | |
| - BaseTool class + standalone @tool functions | |
| - Lazy imports (import requests inside functions) | |
| - Env vars as constructor params (api_key=None, falls back to os.getenv) | |
| - Proper error handling with descriptive messages | |
| - Export in praisonai_tools/tools/__init__.py | |
| 3. Run: python -c "import ast; ast.parse(open('praisonai_tools/tools/<new_file>.py').read()); print('OK')" | |
| 4. Create a feature branch, commit, push, and create a PR: | |
| git checkout -b feat/<tool-name> | |
| git add . | |
| git commit -m "feat: add <tool-name> tool" | |
| git push origin feat/<tool-name> | |
| gh pr create --title "feat: Add <tool-name> tool" --body "Closes #<issue-number>" --base main | |
| CRITICAL: You MUST create the PR using `gh pr create`. The GITHUB_TOKEN has write permissions. | |
| If `gh pr create` fails, try: GH_TOKEN=$GITHUB_TOKEN gh pr create ... | |
| allowed_tools: | | |
| Bash(git:*) | |
| Bash(python:*) | |
| Bash(pip:*) | |
| Bash(pytest:*) | |
| Bash(gh:*) | |
| Bash(python -m pytest:*) | |
| Bash(python -m pip:*) | |
| View | |
| GlobTool | |
| GrepTool | |
| BatchTool | |
| Edit | |
| Replace | |
| timeout_minutes: 30 |