Files
timmy-config/wizards/allegro/CLAW-CODE-SETUP-GUIDE.md
2026-04-01 23:00:10 +00:00

2.9 KiB

Claw Code Gitea Identity Setup

Blocker

This VM (167.99.126.228) cannot reach Gitea at 100.101.194.61 (Tailscale network). Tailscale status: Logged out.

Solution

Run these steps on a machine with Tailscale access (Ezra or your local machine).


Step 1: Create Claw-Code User

SSH to Gitea host or use Ezra:

# SSH to Ezra first, then:
ssh 100.101.194.61

# Or run from any Tailscale-connected machine:
export GITEA_URL="http://100.101.194.61:3000"
export ADMIN_TOKEN="your-admin-token"

# Create claw-code user
curl -X POST "${GITEA_URL}/api/v1/admin/users" \
  -H "Authorization: token ${ADMIN_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "claw-code",
    "email": "claw-code@timmy.local",
    "password": "TEMP-PASS-CHANGE-ME",
    "full_name": "Claw Code Harness",
    "must_change_password": false
  }'

Step 2: Generate API Token

# Create token for claw-code
curl -X POST "${GITEA_URL}/api/v1/users/claw-code/tokens" \
  -H "Authorization: token ${ADMIN_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "harness-automation",
    "scopes": ["repo", "issue", "pull_request", "webhook"]
  }'

Save the token response - you'll need the sha1 value.

Step 3: Add to Organization

# Add claw-code to timmy-time org with write access
curl -X PUT "${GITEA_URL}/api/v1/orgs/timmy-time/members/claw-code" \
  -H "Authorization: token ${ADMIN_TOKEN}" \
  -d '{"role": "write"}'

Step 4: Configure Webhook

# Create webhook for auto-dispatch
curl -X POST "${GITEA_URL}/api/v1/repos/timmy-time/timmy/hooks" \
  -H "Authorization: token ${ADMIN_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "gitea",
    "config": {
      "url": "http://167.99.126.228:8646/webhook/gitea",
      "content_type": "json",
      "secret": "your-webhook-secret"
    },
    "events": ["issues", "issue_comment", "pull_request", "label"],
    "active": true
  }'

Step 5: Update Allegro VM

Add to /root/wizards/allegro/home/.env:

CLAW_CODE_GITEA_TOKEN=the-token-from-step-2
CLAW_CODE_WEBHOOK_SECRET=the-secret-from-step-4

Then restart Allegro or reload config.

Step 6: Test Claw Code Dispatch

# On Allegro VM (167.99.126.228)
ssh 167.99.126.228
cd /root/wizards/allegro
source home/.env

# Run test dispatch - creates PR as claw-code
python3 claw-code-dispatcher.py test

Expected Result

PR created by claw-code user (not allegro, not timmy):

  • Author: claw-code
  • Avatar: Default Gitea avatar
  • Commits: Signed by claw-code
  • Comments: Posted by claw-code

Files Prepared

File Purpose Location
claw-code-gitea-setup.sh User/token/webhook creation /root/wizards/allegro/
claw-code-dispatcher.py Auto-dispatch logic /root/wizards/allegro/
CLAW-CODE-SETUP-GUIDE.md This guide /root/wizards/allegro/

Ready for execution once Tailscale connectivity restored.