> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# Bouwen met een codeeragent

Geef taken aan een codeeragent: de bestanden die hij leest, de plakklare promptbibliotheek, onbeheerde installatie en de review waarmee u de controle houdt.

## Walkthrough voor beginners

Vereisten: lees de twee beginnershandleidingen hieronder, voltooi de lokale webinstallatie en open deze repository op rootniveau in uw editor. Een codeeragent is een AI-tool — Cursor, Claude Code, Devin of een vergelijkbare assistent — die uw project leest, bestanden bewerkt en opdrachten uitvoert. Alles op deze pagina geldt voor welke u ook gebruikt.

Snelle begrippen: een prompt is de instructietekst die u in de agent plakt. Een diff is de lijst met bestandswijzigingen die hij voorstelt. De root van de repository is de bovenste map met package.json — de agent moet daar altijd beginnen.

1. Open de map `prompts/` in de root van de repository en kopieer de prompt die het dichtst bij uw taak ligt. `new-landing-page.md` is een goede eerste poging.

2. Plak hem in uw agent en vul de `<placeholders>` in: de route die u wilt, wat de pagina of het scherm moet doen, wie het mag gebruiken en hoe succes eruitziet. Voeg daarna één regel toe: lees `llms.txt`, daarna `AGENTS.md`, daarna `.ai/PROJECT_CONTEXT.md` voordat u code aanraakt.

3. Laat de agent de bestanden opsommen die hij gaat wijzigen en de controles die hij gaat uitvoeren voordat hij bewerkt. Bekijk de diff wanneer hij klaar is — u keurt echte wijzigingen aan uw product goed.

4. Publiceren, deployen en betaalde providercalls horen nooit deel uit te maken van een taakprompt. Houd ze als aparte stappen die u expliciet goedkeurt.

[Voordat u begint](https://supastack.dev/nl/docs/web/before-you-start.md)

[Basisbeginselen van de terminal](https://supastack.dev/nl/docs/web/terminal-basics.md)

[Lokale webinstallatie](https://supastack.dev/nl/docs/web/ship-in-5-minutes.md)


## De bestanden die uw agent leest

De repository levert een kleine stapel bestanden die voor agenten zijn geschreven, niet alleen voor mensen. U plakt deze context nooit met de hand — wijs de agent naar `llms.txt` en hij leest de rest zelf.

De leesvolgorde doet ertoe: `llms.txt` is de kaart, `AGENTS.md` bepaalt de grenzen en `.ai/PROJECT_CONTEXT.md` draagt mee wat eerdere sessies hebben geleerd. Een agent die de grenzen overslaat, produceert code die u niet kunt shippen.

| Bestand | Wat het de agent oplevert |
|---|---|
| `llms.txt` | De ingangskaart van de repository — elke doc die het lezen waard is plus de beveiligingsprotocollen, in leesvolgorde |
| `AGENTS.md` | De niet-onderhandelbare grenzen: alleen lokaal werk totdat u meer goedkeurt, workspaceId-afbakening, geheimen alleen op de server |
| `.ai/PROJECT_CONTEXT.md` | Geheugen tussen sessies — wat er onlangs is veranderd en waarom; lezen vóór codewijzigingen |
| `.ai/`-mirrordocs | Een bijpassende `.ai/<path>.md`-notitie naast belangrijke bestanden, met beslissingen en open punten per bestand |
| `docs/agent-setup.md` | Het onbeheerde runbook — installatie-, migratie- en uitrolfasen met na elke fase een verificatiepunt |
| `prompts/` | Plakklare taakprompts voor de klussen waar eigenaren het vaakst om vragen |
| `docs/agent-security.md` | De acceptatiechecklist — authenticatie-, werkruimte- en RLS-controles, gemaskeerde logs, bewijs van de uitrol |
| `.env.example` | De volledige omgevingsinventaris — de agent verzint nooit een variabelenaam die niet in dit bestand staat |


## De promptbibliotheek

`prompts/README.md` is de index. Elk bestand is een complete briefing: plak het, vul de `<placeholders>` in en de regels van de kit — design tokens boven hardcoded kleuren, kitblokken boven verzonnen patronen — reizen mee.

Voor het pad van nul naar draaiend plakt u in plaats daarvan `prompts/agent-setup.md` — dat stuurt de hierna beschreven onbeheerde installatie aan.

[Laat de agent de installatie voor u uitvoeren](https://supastack.dev/nl/docs/web/agent-setup.md)

- `agent-setup.md` — zet de kit overeind en rol hem uit met een agent
- `pick-a-style.md` — pas een ontwerpstijl toe op het hele product
- `new-landing-page.md` — bouw een marketingpagina uit kitblokken
- `new-app-screen.md` — voeg een scherm toe binnen de workspace-app-shell
- `restyle-product.md` — herstijl een bestaande pagina naar kit-tokens
- `ui-audit.md` — voer de visuele en toegankelijkheidsaudit uit op een route


## De agent laten installeren en deployen

De kit kan zichzelf grotendeels inrichten. Het plakken van `prompts/agent-setup.md` laat de agent `docs/agent-setup.md` — het meegeleverde runbook — fase voor fase uitvoeren: preflight-controles, omgevingsbestanden, installatie, databasestart, migraties, app-start en optioneel een VPS-deploy. Na elke fase voert hij het verificatiepunt van die fase uit en rapporteert echte uitvoer, geen bewering.

Twee helpers houden dat veilig. `scripts/setup-env.mjs` bootstrapt de env-bestanden vanuit `.env.example`: het maakt alleen ontbrekende bestanden aan, genereert alleen ontbrekende of placeholder-geheimen en de `--check`-modus valideert zonder te schrijven. `docker-compose.dev.yml` is een volledig gecontaineriseerde ontwikkelomgeving — Postgres plus een Node 22-devcontainer — dus de agent heeft geen Node.js op uw computer nodig.

Welke repository u heeft ontvangen, doet hier ertoe. De webrepository en de All Platforms-monorepo leveren het runbook, de compose-bestanden, `scripts/setup-env.mjs` en `prompts/` mee. De op zichzelf staande mobiele en desktoprepositories leveren een toegespitste `llms.txt`, `AGENTS.md`, de `.ai/`-mirrordocs en een uitgekiende set docs waaronder `docs/agent-security.md` — maar niet het installatierunbook of de compose-bestanden, omdat de backend waar die apps mee praten in de webrepository leeft.

[Doorloop de agentgestuurde installatie](https://supastack.dev/nl/docs/web/agent-setup.md)


## Hoe de agent tussen sessies onthoudt

Agenten hebben geen geheugen tussen sessies — de `.ai/`-map ís het geheugen. `.ai/PROJECT_CONTEXT.md` legt vast wat er onlangs is veranderd en waarom. Daarnaast legt een mirrordoc zoals `.ai/apps/web/src/reports.md` de beslissingen achter `apps/web/src/reports.ts` uit die uit de code alleen niet blijken.

Het contract is eenvoudig: lees de mirror van een bestand voordat u het bewerkt en werk de mirror bij wanneer de wijziging landt. Open Threads-vermeldingen houden onafgemaakt werk vast, zodat de volgende sessie verdergaat in plaats van opnieuw te beginnen. Een verouderde mirror is erger dan geen — controleer bij het beoordelen van de diff van de agent of de mirrors van gewijzigde bestanden zijn meeveranderd.


## Het eigen agentoppervlak van de draaiende app

Uw uitgerolde product beantwoordt ook agenten — deze endpoints bestaan op de draaiende app, niet alleen in de repository.

- `GET /llms.txt` — de app serveert zijn eigen llmstxt.org-index: de gidsen, openbare pagina's en openbare endpoints, met absolute URL's.
- `POST /api/mcp` — een stateless MCP-endpoint dat de tools van de app blootstelt. Het accepteert `sk_`-API-sleutels alleen als bearer-tokens — browsersessies met cookies gelden nooit. Maak sleutels aan onder Settings → Developers.
- `GET /api/v1/openapi` — de OpenAPI-specificatie van de openbare REST API, voor clientgeneratoren en agenttools.
- `GET /api/health` — de liveness- en dependency-probe die loadbalancers en uptimechecks aanroepen; hij rapporteert providerconfiguratietypen, nooit geheimen.
- `/status` — een voor mensen leesbare pagina die de gezondheid van elk subsysteem rapporteert.


## Beoordeel het werk van de agent eerlijk

Een afgeronde taak is bewijs, geen samenvatting. Voordat u het werk van de agent houdt, controleert u het zoals `docs/agent-security.md` een deployment controleert:

Als er iets mis is, stuur de diff dan terug — de agent repareert zijn eigen werk het snelst wanneer u de falende controle benoemt. Voor alles wat hij nooit alleen had mogen proberen, zegt u dat eenmalig expliciet; die grens geldt voor de rest van de sessie.

[Verificatiepoorten en de testsuite](https://supastack.dev/nl/docs/web/testing.md)

- Hij heeft de tests gedraaid die hij claimt — vraag om het commando en de uitvoer ervan, geen conclusie.
- Geheimen bleven alleen op de server — niets nieuws draagt een `NEXT_PUBLIC_`- of `EXPO_PUBLIC_`-voorvoegsel en er werd geen sleutel in een rapport of commit afgedrukt.
- Elke lees- en schrijfbewerking van gebruikerseigen data bleef afgebakend op `workspaceId` — geen query vertrouwt een id die door de browser is gestuurd.
- De `.ai/`-mirror van elk gewijzigd bestand is met de code meeveranderd.
- Publiceren, deployen en betaalde providercalls bleven aparte stappen die u goedkeurde — de agent heeft nooit zelf gemerged, gepusht of gedeployed.
- Als een stap twee keer faalde, stopte hij en rapporteerde het falende commando in plaats van eromheen te improviseren.


Wil je verdergaan met de configuratie? Lees [Externe accounts aanmaken](https://supastack.dev/nl/docs/web/external-accounts.md).


## Volgende

[Externe accounts aanmaken](https://supastack.dev/nl/docs/web/external-accounts.md)
