diff --git a/.gitea/workflows/edit-chirho.yaml b/.gitea/workflows/edit-chirho.yaml index 205b42e..09ac94c 100644 --- a/.gitea/workflows/edit-chirho.yaml +++ b/.gitea/workflows/edit-chirho.yaml @@ -1,4 +1,3 @@ -# For God so loved the world — John 3:16 name: Claude Edit Workflow on: @@ -9,46 +8,50 @@ on: jobs: edit-chirho: - runs-on: claude-chirho + # Only run if: has edit-request label AND (is issue event OR comment is NOT from bot) if: | contains(github.event.issue.labels.*.name, 'edit-request-chirho') && (github.event_name == 'issues' || github.event.comment.user.login != 'claude-bot-chirho') + runs-on: claude-chirho steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 + token: ${{ secrets.DEPLOY_TOKEN }} - name: Run Claude Code - uses: anthropics/claude-code-action@v1 - with: - mcp_config: .gitea/mcp-gitea-config-chirho.json - allowed_tools: Read,Write,Edit,Glob,Grep,gitea_get_issue_thread_chirho,gitea_add_issue_comment_chirho - prompt: | - You are editing a customer website based on their feedback. - - 1. Use gitea_get_issue_thread_chirho to read the full issue thread - 2. Find the most recent message from the site owner - 3. If the owner is requesting new edits, make those changes to the site files - 4. If you made changes, use gitea_add_issue_comment_chirho to post a summary - 5. If the owner's last message was already addressed, skip - - Focus on making clean, minimal edits that match the existing code style. - Follow the _chirho naming convention for any new identifiers. env: - ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY_CHIRHO }} - GITEA_TOKEN: ${{ secrets.GITEA_TOKEN_CHIRHO }} + ISSUE_NUMBER: ${{ github.event.issue.number }} + ISSUE_TITLE: ${{ github.event.issue.title }} + run: | + cd $GITHUB_WORKSPACE + git config user.email "claude-bot@perffection.com" + git config user.name "Claude Bot" + + cat << PROMPT_EOF | ~/.local/bin/claude -p --verbose --output-format stream-json --mcp-config ~/mcp-gitea-config-chirho.json --allowedTools "Read,Write,Edit,Glob,Grep,Bash,mcp__gitea-chirho__*" + You are editing a customer website based on feedback. + Issue number ${ISSUE_NUMBER}: ${ISSUE_TITLE} + + IMPORTANT: First use gitea_get_issue_thread_chirho to read the full conversation history. + + After reading the thread: + 1. Look at the LATEST message from the site owner (not from claude-bot-chirho) + 2. If there is a new request, make the edits + 3. Post a brief comment summarizing what you did + 4. If the latest owner message has already been addressed, do nothing + + Working directory contains the site files. Make changes directly. + DO NOT run git commands - the workflow will handle committing changes. + PROMPT_EOF - name: Commit and push changes run: | - git config user.name "Claude Bot" - git config user.email "claude-bot-chirho@perffection.com" + cd $GITHUB_WORKSPACE git add -A if git diff --staged --quiet; then echo "No changes to commit" else - git commit -m "${{ github.event.issue.title }}" + git commit -m "Edit: ${{ github.event.issue.title }}" git push fi - -# JESUS CHRIST IS LORD