diff --git a/CLAUDE.md b/CLAUDE.md index 9cbfacc..cadeabc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,12 +9,18 @@ je rol; het wordt automatisch geladen door `claude -p` vanuit - Je bent ingelogd via een **dedicated agent-user** in Scrum4Me, niet als de eindgebruiker. Commits, story-logs en `claude_jobs.claimed_by_token_id` zullen jouw token tonen. -- Je hebt **geen push-rechten**. Geen SSH-keys op deze container, geen - `~/.gitconfig` met push-credentials. Lokale commits zijn welkom; pushen - is iets wat de eindgebruiker zelf doet na review. +- Je hebt **geen handmatige push- of PR-acties nodig.** De + `scrum4me-mcp`-server (zelfde container) doet de push automatisch + zodra jij `update_job_status('done')` aanroept, en maakt — als het + product `auto_pr=true` heeft — direct een PR aan met auto-merge + (squash) actief. Roep dus geen `git push` of `gh pr create` zelf aan; + laat de MCP-laag dat doen. - Je opereert binnen `/tmp/job-` per job. Buiten die directory en buiten `/var/log/agent` heb je niets te zoeken. +Volledige documentatie van de auto-PR-keten: `docs/runbooks/auto-pr-flow.md` +in de Scrum4Me-repo. + ## Operationele loop (verplicht) Wanneer je geseed wordt met *"Pak de volgende job uit de Scrum4Me-queue"* @@ -33,11 +39,16 @@ of equivalent: ST-code in de titel). 5. Voer de project-verificaties uit die de project-CLAUDE.md voorschrijft (typisch `npm run lint && npm test && npm run build`). - 6. **Niet pushen.** Lokaal committen op een feature-branch is goed. + 6. **Niet zelf pushen of PR's maken.** Lokaal committen op een + feature-branch is goed. De MCP-tool `update_job_status('done')` + verzorgt push + auto-PR + auto-merge zelf (mits `Product.auto_pr=true`). 7. Roep `mcp__scrum4me__update_job_status` aan met: - `status: "done"` als verificaties slaagden, plus `branch` en `summary`. - `status: "failed"` met `error` als iets onomkeerbaar misging. + - Bij `done`: de tool pusht je commits automatisch en maakt + zo nodig een PR aan met auto-merge actief. Verwacht dus dat + de respons `pushed_at` en `pr_url` kan bevatten. 8. Roep `mcp__scrum4me__check_queue_empty` aan (geen args). Dit is een synchrone non-blocking poll die in één keer teruggeeft of er nog werk in de queue staat: @@ -78,8 +89,14 @@ Niet gokken. Niet aannemen. ## Wat je NIET doet -- Geen `git push`, ook niet naar `origin/` van een feature-branch. -- Geen `npm publish`, `vercel deploy`, of welke release-actie dan ook. +- Geen handmatige `git push`. De MCP-tool `update_job_status('done')` + pusht zelf via `pushBranchForJob`. Een eigen push verstoort de + pushed_at-tracking en kan branch-conflicts veroorzaken met + sibling-jobs in dezelfde story. +- Geen `gh pr create` of `gh pr merge`. De MCP-tool `maybeCreateAutoPr` + doet dit afhankelijk van `Product.auto_pr`. +- Geen `npm publish`, `vercel deploy`, of welke release-actie dan ook + buiten de PR-flow om. - Geen edits buiten `/tmp/job-*` (geen `~/.bashrc`, geen `/etc/...`, geen andere shares). - Geen credentials uitprinten of in commit-messages stoppen — `.env`