Naar inhoud gaan
Alle artikelen
4 min lezen

Een SaaS bouwen met een coding agent: een praktische workflow

Van een bruikbare brief naar een gereviewde wijziging. Geef je coding agent de context, grenzen en feedback die nodig zijn om iets onderhoudbaars te bouwen.

het supastack-team

Begin met een observeerbaar resultaat

Een coding agent kan een overtuigend scherm produceren nog voordat je hebt besloten wat het scherm moet doen. Begin met een klein gebruikersresultaat: een ingelogde gebruiker bewerkt zijn profiel, slaat het op en ziet de opgeslagen naam na herladen. Dat geeft zowel de implementatie als de review een concreet doel.

Neem het huidige gedrag, het gewenste gedrag en de belangrijke faalgevallen op in de brief. Noem de bestaande module die het werk bezit. Een verzoek om profielbewerking toe te voegen moet naar de authenticatielaag wijzen, in plaats van de agent een tweede gebruikersstore te laten verzinnen. Houd credentials uit prompts en screenshots — een geplakte apps/web/.env.local of sessiecookie wordt deel van het gespreksverslag.

Een werkbare brief leest zo: “Laat in het accountscherm een ingelogde gebruiker zijn weergavenaam bewerken en die na herladen zien. De auth-module bezit het gebruikersrecord; voeg geen tabel toe. Een lege naam, of een request dat het record van een andere gebruiker noemt, moet worden afgewezen. Bewijs het met pnpm test en één handmatige save op een smalle breedte.” Vijf zinnen, en het meeste giswerk is weg.

  • Het gebruikerszichtbare resultaat, zo geformuleerd dat je het in de draaiende app kunt checken.
  • Het bestand of de module die het gedrag vandaag bezit — en de gebieden die onaangeroerd moeten blijven.
  • Minstens één faalgeval: een ongeauthenticeerde poging, ongeldige invoer of een herhaalde request.
  • De check die het bewijst — een testcommando, een fixture of een expliciete handmatige doorloop.

Laat de repository zichzelf uitleggen

Documenteer hoe je de applicatie draait, welke controles deterministisch zijn en waar eigenaarschap wordt afgedwongen. In supastack legt AGENTS.md de workspacegrens vast en .ai/ de beslissingen op bestandsniveau. Deze notities zijn het nuttigst als ze de volgende bijdrager — mens of agent — vertellen waarom een implementatie bestaat, niet alleen welke bestanden veranderden. De agent-setupgids laat zien hoe de kit dat materiaal beschikbaar stelt, en de lokale setupgids is de doorloop die de agent echt zal volgen.

Vraag de agent de relevante code te lezen vóór het bewerken. Een beperkte wijziging heeft meestal de interface, zijn servergrens en de tests rond die grens nodig. De hele repository laden is minder nuttig dan de paar plekken begrijpen die bepalen of het nieuwe gedrag correct is: de ownership-check, het schema, de entitlement.

Wanneer een feature configuratie raakt, noem dan het bestand in plaats van het over te typen — “voeg de key toe aan apps/web/.env.local” houdt secrets op schijf. Dezelfde discipline geldt voor providerdashboards: beschrijf de bestemming, plak de credential niet.

Werk in kleine, reviewbare wijzigingen

Agents zijn het betrouwbaarst wanneer een wijziging één eigenaar en één checkbaar resultaat heeft. “Voeg profielbewerking toe” is reviewbaar; “verbeter de accountomgeving” nodigt uit tot refactors waar niemand om vroeg. Als een feature uiteenvalt in een schemawijziging, een servergrens en een scherm, draai ze dan als aparte briefs die elk de build groen laten.

Commit of checkpoint vóór elke agentrun. Een schone baseline maakt van een slechte output een verwijderde diff in plaats van een archeologische exercitie, en het geeft je review een stabiel voor-en-na om te vergelijken.

Review één complete wijziging per keer

Schrijf een acceptatiecheck vóór het wijzigen van gedrag. Voor profielbewerking dek je een geldige update en een ongeautoriseerde poging. Bouw de kleinste implementatie die aan die gevallen voldoet en inspecteer daarna de echte interactie met realistische tekst en een smal viewport.

Review de diff net zo goed als het resultaat. Let op gedupliceerde bedrijfslogica, brede exception-handling en nieuwe dependencies die een probleem oplossen dat de bestaande stack al dekt. Draai de controles van het project en leg vast wat ze aantonen. Een browserfixture kan een formulierinteractie verifiëren; het kan niet vaststellen dat de productiedatabase of een externe provider correct is geconfigureerd.

Elk commando beantwoordt een andere vraag. pnpm test oefent gedrag tegen deterministische fake- en lokale adapters, pnpm check dekt lint, typechecking en formatting, en pnpm build brengt de integratiefouten aan de oppervlakte die alleen tijdens bundelen verschijnen. Samen zijn ze een vloer voor review — de launchchecklist dekt wat er in de echte omgeving nog bewezen moet worden.

pnpm test
pnpm check
pnpm build

Wanneer de agent het mis heeft

Wanneer een resultaat verkeerd is, weersta dan de neiging om vervolgprompts op een slechte diff te stapelen. Keer terug naar het checkpoint, verscherp de brief rond wat verkeerd begrepen is — meestal een onuitgesproken constraint of een ontbrekende eigenaar — en draai opnieuw. Elke retry moet nieuwe informatie meedragen, niet alleen nieuwe urgentie.

Aanhoudend falen betekent meestal dat de brief context veronderstelt die de repository niet bevat. Als de agent een tweede plek blijft verzinnen om gebruikers op te slaan, is de fix een zin in AGENTS.md over waar identiteit leeft, geen strengere toon. Werk het document bij en probeer de taak dan opnieuw — de agentsgids is waar de kit deze workflow bewaart.

Veelgestelde vragen over agentworkflows

Een paar vragen komen altijd op zodra een founder een coding agent met echt productwerk gaat vertrouwen.

  • Kan een coding agent zelfstandig een hele SaaS bouwen? — Hij kan de zichtbare delen snel in elkaar zetten, maar de duurzame delen — autorisatie, billing-lifecycle, data-isolatie — hebben nog steeds een brief, een check en een review nodig. Snelheid zonder die loop wordt ombouwwerk.
  • Hoe groot moet een taak voor een coding agent zijn? — Klein genoeg dat je het resultaat binnen minuten in de draaiende app kunt verifiëren: één gebruikerszichtbaar resultaat, één bezittende module, één acceptatiecheck.
  • Wat hoort nooit in een prompt? — Providersecrets, sessiecookies, de inhoud van .env.local en klantdata. Noem bestanden en laat de tool ze lokaal lezen in plaats van waarden naar een chatlog te kopiëren.
  • Verandert door een agent geschreven code hoe ik review? — De review verschuift van typen naar lezen: inspecteer de diff op gedupliceerde logica, brede exception-handling en dependencies die een probleem oplossen dat de stack al dekt.
  • Welke tests tellen het meest voor agentoutput? — Degenen die eigenaarschap en faalgedrag vastpinnen: ongeautoriseerde requests, ongeldige invoer en herhaalde submissions, niet alleen het happy path dat de demo toont.

Veelgestelde vragen

14 vragen

Wat is supastack?

supastack is een modulair fundament voor het bouwen van SaaS-producten met AI. Het brengt gemeenschappelijke infrastructuur samen zodat jij je kunt richten op productspecifieke functies.

Ondersteunt het web en mobiel?

Ja. supastack bevat Next.js- en Expo-apps als startpunten voor web- en mobiele ervaringen.

Welke authenticatie is inbegrepen?

Better Auth dekt e-mail/wachtwoord, OTP en sociale login. Persoonlijke workspaces worden bij het account geprovisioneerd zodat productrecords vanaf dag één afgebakend blijven.

Hoe ondersteunt het AI?

supastack bevat configureerbare multi-provider AI, usage-tracking, budgetten en versleutelde bring-your-own-key-ondersteuning.

Hoe worden abonnementen afgehandeld?

Voor producten op de kit vormen Stripe-billing, abonnementen en entitlements het fundament voor betaalde toegang. Providersecrets blijven server-only.

Waar leeft mijn productspecifieke code?

Productspecifieke functies blijven in een aparte codebase terwijl het product de fundamentmodules van supastack configureert en integreert.

Hoe werkt de prijs van supastack?

De kit is een eenmalige aankoop met lifetime updates: One Framework voor $249 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $349) of All Frameworks (Next.js, iOS, Android) voor $499 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $599), plus $75 per extra developer seat. Geen kit-abonnement. Checkout op deze site levert je licentiesleutel per e-mail, met repositorytoegang via een GitHub-uitnodiging.

Hoe bakens workspaces mijn data af?

Records van gebruikers worden afgebakend per workspaceId. Identiteit, entitlements, AI-gebruik, billing-events en auditentries blijven binnen de grens van de persoonlijke workspace.

Hoe werken achtergrondjobs?

Trigger.dev is de expliciete jobruntime. Het JobRunner-contract belooft alleen enqueue, status en cancel — workflowsemantiek blijft Trigger.dev-specifiek en expliciet.

Hoe verschilt e-mail van outreach?

Transactionele e-mail dekt productworkflows zoals voltooiingsnotices. Koude outreach en campagnes zijn productzaken buiten de e-mailmodule van deze kit.

Hoe werken mobiele aankopen?

Mobiel bevat native aankopen en herstel via RevenueCat, met toegang die je server verifieert. Configureer de winkelaccounts en rond apparaattests af vóór publicatie. Webfacturatie blijft afzonderlijk.

Waar leven de AI-providerkeys?

Bring-your-own-key-credentials zijn versleuteld en blijven server-only. Keys worden uit logs gefilterd; gebruik en budgetten blijven zichtbaar op workspaceniveau.

Welke betaalmethoden accepteert de checkout?

De door Stripe gehoste checkout accepteert kaarten en kan ook Alipay en WeChat Pay aanbieden zodra die wallets op het Stripe-account zijn geactiveerd — handig voor kopers in China. Wallet-autorisaties worden asynchroon bevestigd, dus de licentiepagina wordt bijgewerkt zodra de betaling is afgerond.

Kan ik een terugbetaling krijgen?

Zodra je toegang hebt gekregen tot de repository, is supastack voor altijd van jou en kan er dus geen terugbetaling plaatsvinden. Maar wees gerust: je krijgt de volledige broncode met levenslange updates om onbeperkt producten voor jezelf of je klanten te bouwen en te lanceren. Je mag de code alleen niet doorverkopen of de repository herdistribueren als starterkit of template.

NL