# Uitgaanskrant — werkinstructies voor Claude ## Werkdirectory Werk uitsluitend binnen deze projectdirectory (`/home/bob/Projects/ff-app/uitgaanskrant-1qhvtd`). Niet daarbuiten zoeken of scannen (bijvoorbeeld geen `find /` over het hele bestandssysteem) — scope alle bestandsoperaties tot dit project. ## FlutterFlow-workflow — belangrijk Dit project wordt gebouwd via FlutterFlow (app.flutterflow.io). De FlutterFlow-cloudomgeving is de bron van waarheid, niet deze lokale code-export. - De gebruiker kan **geen** code rechtstreeks genereren of bewerken in dit repo. Alle wijzigingen aan pagina's, componenten en modellen moeten via de FlutterFlow-website gebeuren. - De enige uitzondering is **custom functions/widgets** (`lib/custom_code/`) — en ook die voert de gebruiker in via de Custom Code-editor op de FlutterFlow-website, niet door hier rechtstreeks bestanden te bewerken. - Gevolg: directe Edit/Write-wijzigingen aan gegenereerde bestanden (pagina's, blocks, components, models, `lib/flutter_flow/*` e.d.) worden bij de volgende export/sync vanuit FlutterFlow overschreven. Zulke bestanden hier aanpassen is dus **niet duurzaam**. - Werkwijze: gebruik deze lokale repo om code te lezen, logica te ontwerpen en te verifiëren (bijv. met `flutter analyze`) — maar vertaal het eindresultaat naar concrete, stapsgewijze instructies voor wat de gebruiker in de FlutterFlow-builder (of de Custom Code-editor) moet doen. Ga er niet van uit dat een lokale bestandswijziging behouden blijft. - Als er via de Chrome-browser (Claude in Chrome) rechtstreeks in de FlutterFlow-builder wordt gewerkt: maak na elke **afgeronde taak** (niet na elke losse klik/handeling) een **commit binnen FlutterFlow zelf** (het eigen versiebeheer, te zien bovenin de builder als "main"/"Synced"), met een duidelijke omschrijving van wat er is veranderd. Dit is geen lokale `git commit`. ## Lokale git-repo + pull/push-workflow (sinds 2026-08-01) De projectdirectory zelf is een schone git-repo met `origin` op `ssh://gogs.digitalforce.tv:2222/Uitgaanskrant.com/flutterflow.git`, branch `master`. Dit is een eigen repo van de gebruiker, los van de grotere/rommelige repo die hoger in de mappenstructuur staat (die met AndroidStudioProjects, Flutter-SDK-installaties e.d.) — commits en pushes horen hier, in de projectdirectory zelf. Vaste workflow na elke afgeronde taak (op expliciet verzoek van de gebruiker, 2026-08-01): niet los `flutterflow export-code` draaien, maar het bestaande script gebruiken: ``` /home/bob/Projects/ff-run-fvm.sh emulator-5554 uitgaanskrant-1qhvtd -s ``` Dit script (interactief van aard: device-run + hot-restart-loop) moet via Bash met `run_in_background: true` gestart worden — anders blokkeert het op de keypress-loop. Volg de output (Monitor of Read op het outputbestand) tot minimaal "All done!" (export gelukt) en idealiter ook een succesvolle app-launch op de emulator ("Flutter run key commands" / geen build-errors), voordat je verder gaat. Daarna automatisch (geen aparte bevestiging per keer nodig, staand akkoord van de gebruiker): 1. `git add` — **niet blind `-A`**: controleer `git status --short` eerst. Voeg alleen daadwerkelijke FlutterFlow/app-wijzigingen toe (lib/, android/, ios/, pubspec, .gitignore e.d.). Sluit `.claude/` uit (staat in .gitignore) — dat is sessiestate van Claude Code, geen app-code. 2. `git commit` met een duidelijke boodschap. 3. `git push -u origin master` (of gewoon `git push` zodra tracking staat). **Let op — belangrijke valkuil:** `flutterflow export-code` overschrijft **`.gitignore` telkens terug naar FlutterFlow's eigen standaardversie** (bevestigd 2026-08-01) — een eigen toevoeging zoals de `.claude/`-regel hieronder verdwijnt dus bij elke pull en moet opnieuw toegevoegd worden vóór je commit. (CLAUDE.md zelf wordt door de export NIET verwijderd — dat gebeurde één keer doordat de gebruiker zelf de hele projectmap had verwijderd en opnieuw had gepulled, niet door de export-tool zelf. Maar check voor de zekerheid na elke pull toch even of dit bestand nog bestaat; zo niet, opnieuw aanmaken met deze inhoud.) Voeg dus na elke pull, vóór je staged, deze regel weer toe aan `.gitignore` als hij ontbreekt: ``` # Claude Code session state (not app code) .claude/ ```