Files
workflows/claude-agent.yml
2026-04-06 20:52:28 +00:00

79 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
on:
workflow_call:
inputs:
gitea_api_url:
description: 'https://git.moujtahid.com/api/v1'
required: true
type: string
trigger_phrase:
description: 'Trigger-Phrase (default: @claude)'
required: false
type: string
default: '@claude'
timeout_minutes:
description: 'Max. Laufzeit in Minuten'
required: false
type: string
default: '30'
custom_instructions:
description: 'Zusätzliche Instructions werden an die Standard-Instructions angehängt'
required: false
type: string
default: ''
secrets:
GITEA_TOKEN:
required: true
CLAUDE_CODE_OAUTH_TOKEN:
required: true
jobs:
claude:
runs-on: ubuntu-latest
if: |
(github.event_name == 'issues' && contains(github.event.issue.body, '@claude')) ||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude'))
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build custom instructions
id: instructions
run: |
BASE="Du arbeitest in einer selbst gehosteten Gitea-Instanz.
Schreibe Code auf Englisch kommentiert wenn nicht anders angegeben.
Erstelle immer einen PR mit einem klaren Titel und einer Beschreibung was geändert wurde.
Bei NextJS Projekten verwende shadcn und tanstack-query wenn nicht anders angegeben.
Bei NestJS Projekten verwende drizzle, swagger-ui, API-Keys und cors mit localhost:3000-3005 freigabe wenn nicht anders angegeben."
EXTRA="${{ inputs.custom_instructions }}"
if [ -n "$EXTRA" ]; then
echo "value<<EOF" >> $GITEA_OUTPUT
echo "$BASE" >> $GITEA_OUTPUT
echo "" >> $GITEA_OUTPUT
echo "$EXTRA" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
else
echo "value<<EOF" >> $GITEA_OUTPUT
echo "$BASE" >> $GITEA_OUTPUT
echo "EOF" >> $GITEA_OUTPUT
fi
- name: Run Claude Agent
uses: markwylde/claude-code-gitea-action@v1.0.5
with:
gitea_token: ${{ secrets.GITEA_TOKEN }}
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
gitea_api_url: ${{ inputs.gitea_api_url }}
trigger_phrase: ${{ inputs.trigger_phrase }}
timeout_minutes: ${{ inputs.timeout_minutes }}
claude_git_name: 'Claude@Moujtahid'
claude_git_email: 'claude@moujtahid.com'
custom_instructions: ${{ steps.instructions.outputs.value }}