Merge pull request 'docs: leg Forgejo-als-leidende-forge vast; vervang gh CLI referenties' (#2) from docs/forgejo-pr-rule into main
Some checks are pending
CI / Lint, Typecheck, Test & Build (push) Waiting to run
CI / Detect deploy-relevant changes (push) Blocked by required conditions
CI / Deploy Preview (PR) (push) Blocked by required conditions
CI / Deploy Production (main) (push) Blocked by required conditions
CI / Deploy Manual (workflow_dispatch) (push) Waiting to run

Reviewed-on: #2
This commit is contained in:
Janpeter Visser 2026-05-16 14:52:17 +02:00
commit 4e3df2d425
2 changed files with 26 additions and 8 deletions

View file

@ -29,14 +29,14 @@ Desktop-first Scrum-app voor solo developers en kleine teams. Hiërarchie: produ
## Hoe werk vinden
1. Branch aanmaken: `git checkout -b feat/<batch-slug>` — nog **geen** `gh pr create`
1. Branch aanmaken: `git checkout -b feat/<batch-slug>` — nog **geen** PR aanmaken
2. `mcp__scrum4me__get_claude_context` → pak de next story
3. Voer taken uit in `sort_order`; update status per taak
4. Lees het relevante patroon en styling vóór je begint
5. Verifieer: `npm run verify && npm run build``verify` = lint + typecheck + test
6. Commit per laag: `git add -A && git commit`**geen** `git push` — zie [docs/runbooks/branch-and-commit.md](./docs/runbooks/branch-and-commit.md)
7. Herhaal stap 26 per story; branch blijft dezelfde
8. Queue leeg → `git push -u origin <branch>` + `gh pr create`
8. Queue leeg → `git push -u origin <branch>` → open de Forgejo compare-URL die na push verschijnt en maak daar de PR aan (zie hardstop "Forge" hieronder)
Volledige MCP-tool documentatie: [docs/runbooks/mcp-integration.md](./docs/runbooks/mcp-integration.md)
@ -46,6 +46,7 @@ Volledige MCP-tool documentatie: [docs/runbooks/mcp-integration.md](./docs/runbo
- **Styling:** nooit `bg-blue-500`; altijd MD3-tokens (`bg-primary`, `bg-status-done`, …)
- **UI:** gebruik `@base-ui/react` met `render`-prop, niet Radix `asChild`
- **Forge:** **Forgejo** (`git.jp-visser.nl`) is leidend. `git push` alleen naar `origin` (Forgejo). PRs uitsluitend op Forgejo aanmaken via de compare-URL of `tea` CLI — **nooit** `gh pr create`. GitHub-remote is alleen mirror (push erheen alleen op expliciet verzoek). Reviewen/mergen/sluiten van PRs ook via Forgejo (web-UI of API), niet via `gh`
- **Push:** commits accumuleren lokaal per taak (`git add -A && git commit`); push + PR pas bij lege queue of na expliciete gebruikersbevestiging — zie [branch-and-commit.md](./docs/runbooks/branch-and-commit.md)
- **Demo:** drie lagen — proxy.ts + server action + UI disabled knop
- **Proxy:** `proxy.ts` in repo-root (géén `middleware.ts`) onverzegelt de iron-session, redirect niet-geauthenticeerde users op `/dashboard|/products|/ideas`, en blokkeert niet-GET API-writes voor demo-users behalve `/api/cron/*`

View file

@ -51,14 +51,31 @@ Wanneer de NAS-agent (`/opt/agent/`) een batch jobs uitvoert:
| Moment | Actie | Verbod |
|---|---|---|
| Start run | `git checkout -b feat/<batch-slug>` lokaal | `gh pr create` |
| Start run | `git checkout -b feat/<batch-slug>` lokaal | PR aanmaken |
| Na elke taak | `git add -A && git commit -m "<type>(ST-XXX): <title>"` | `git push` |
| Queue leeg | `git push -u origin <branch>` + `gh pr create` | — |
| Queue leeg | `git push -u origin <branch>` + Forgejo-PR aanmaken (zie hieronder) | — |
- Alle commits accumuleren op dezelfde branch — lopende state blijft op disk tot de run klaar is.
- Één PR per batch → één Vercel preview-deployment.
- Single-task batch (1 job in queue): dezelfde flow — 1 commit → push + PR.
### Forgejo is leidend — PR-flow
**Forgejo (`git.jp-visser.nl`) is de primaire git-server**. Een mirror op GitHub kan bestaan, maar PRs gaan **uitsluitend** op Forgejo. `gh pr create`/`gh pr view`/`gh pr merge` zijn **verboden**.
PR aanmaken:
1. `git push -u origin <branch>` — Forgejo print na de push een compare-URL: `https://git.jp-visser.nl/<owner>/<repo>/compare/main...<branch>`.
2. Geef die URL aan de gebruiker; zij klikt op "Create new pull request" via de Forgejo web-UI.
3. Optioneel (indien `tea` CLI is geïnstalleerd): `tea pr create --title "..." --description "..."` — zelfde resultaat zonder browser.
4. Alleen op expliciet verzoek: `git push github <branch>` als de gebruiker de mirror wil bijwerken.
PR-acties (review, comment, merge, sluiten): via de Forgejo web-UI of de Forgejo API (`POST /api/v1/repos/<owner>/<repo>/pulls/<index>/...`). Geen `gh`.
CI-status: Forgejo Actions in de web-UI, of `curl` op de API. Niet `gh run list` / `gh pr checks`.
Issue-tracking voor PBI/Story: via de Scrum4Me MCP (`mcp__scrum4me__*`); GitHub Issues worden niet gebruikt.
#### End-to-end verificatie: 1 batch = 1 Vercel-deploy
Gebruik deze checklist om te verifiëren dat de batch-flow correct werkt na een agent-run:
@ -68,10 +85,10 @@ Gebruik deze checklist om te verifiëren dat de batch-flow correct werkt na een
2. Trigger de batch via **"Voer alle uit"** op het Solo Board.
3. Wacht tot de agent alle jobs als `done` markeert.
**GitHub-checks**
- [ ] Er is precies **één PR** aangemaakt voor de batch-branch.
**Forgejo-checks**
- [ ] Er is precies **één PR** aangemaakt voor de batch-branch (op `git.jp-visser.nl`).
- [ ] De PR bevat **één commit per taak** (geen squash, geen force-push).
- [ ] Er zijn **geen losse pushes** op de branch vóór de definitieve push (check via `git log --all --graph` of GitHub's "commits" tab).
- [ ] Er zijn **geen losse pushes** op de branch vóór de definitieve push (check via `git log --all --graph` of de "commits"-tab in de Forgejo web-UI).
**Vercel-checks**
- [ ] In het Vercel-dashboard → **Deployments**: er is **exact één preview-deployment** voor de branch in het run-window.
@ -97,7 +114,7 @@ Een veelgestelde vraag: "als meerdere stories dezelfde bestanden raken, krijgen
Mitigaties:
1. **Seriële PRs** — start een nieuwe batch pas als de vorige PR gemerged is. De MCP `get_claude_context`-flow stuurt hier al op (één story tegelijk per agent).
2. **Slim batchen** — stories die hetzelfde domein raken (bv. alles rond Sprint Board) horen in dezelfde batch, niet verspreid over batches.
3. **Rebase vóór push**`git fetch origin main && git rebase origin/main` vóór `gh pr create` lost kleine drift op zonder conflict.
3. **Rebase vóór push**`git fetch origin main && git rebase origin/main` vóór het aanmaken van de Forgejo-PR lost kleine drift op zonder conflict.
---