Een wizard maken voor een handmatige procedure
Bij een SaaS-product op BTP blijven er procedures over die een mens moet doen: een klant onboarden, een service broker registreren, een nieuwe omgeving inrichten met CI/CD-variabelen. /spexso-wizard giet zo'n procedure in een script dat iemand stap voor stap begeleidt — en dat je per klant opnieuw draait.
Voorbeeld: een klant onboarden op je SaaS-product
Vraag de wizard aan:
/spexso-wizard klant onboardenClaude leest eerst je project:
mta.yaml(de SaaS registry, services),xs-security.json(role templates en role collections),.gitlab-ci.yml(welke variabelen de pipelines verwachten) en, als ze bestaan, de registersdocs/architecture/btp-services.mdentenant-requirements.md.Claude stelt de stappen voor, bijvoorbeeld:
- subdomain en regio van de klant vragen
- de subscription in de subaccount van de klant controleren
- role collections toewijzen aan de admin van de klant
- de destination naar het systeem van de klant aanmaken
- de tenant-specifieke CI-variabelen zetten
Per waarde zie je waar ze vandaan komt, waar ze naartoe gaat en of ze geheim is. Je stuurt bij.
Claude controleert elk
btp/cf/glab-commando én het klikpad in de cockpit tegen de SAP-docs, en schrijftscripts/wizards/klant-onboarden.mjs(plusscripts/wizards/_lib.mjsde eerste keer).Je commit het script. Wie een klant onboardt, draait voortaan:
node scripts/wizards/klant-onboarden.mjs
Wat de wizard doet als hij draait
- Per stap één scherm met voortgang ("Stage 2/5 · …").
- Is
btp,cfofglabgeïnstalleerd en ben je ingelogd, dan toont de wizard het commando en voert het uit na je bevestiging. Zo niet, dan toont hij het exacte klikpad in de cockpit, opent de URL en wacht tot je klaar bent — zo kan ook een consultant zonder CLI's hem draaien. - Onomkeerbare acties vragen altijd y/N, standaard nee.
- Geheime waarden typ je onzichtbaar in; ze komen nooit op het scherm en nooit in de samenvatting.
- Waarden landen waar afgesproken: in BTP, als GitLab CI/CD-variabele (
glab variable set), of lokaal in.env/default-env.json(die moeten in.gitignorestaan — de wizard waarschuwt anders). - Bij een nieuwe run stelt de wizard de waarden uit
.envvoor; Enter houdt ze.
TIP
Een eenmalige procedure (een cutover, een migratie)? Zeg dat in de eerste ronde: dan komt het script in je tijdelijke map in plaats van in de repo.
Wanneer niet
- Stappen die Claude zelf kan uitvoeren: laat Claude ze gewoon doen.
- Stappen in de subaccount van de klant die hun eigen admin moet doen: de wizard kan de instructies tonen die je doorstuurt, maar hij draait niet bij de klant.