Skip to content

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 ​

  1. Vraag de wizard aan:

    /spexso-wizard klant onboarden
  2. Claude 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 registers docs/architecture/btp-services.md en tenant-requirements.md.

  3. Claude stelt de stappen voor, bijvoorbeeld:

    1. subdomain en regio van de klant vragen
    2. de subscription in de subaccount van de klant controleren
    3. role collections toewijzen aan de admin van de klant
    4. de destination naar het systeem van de klant aanmaken
    5. 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.

  4. Claude controleert elk btp/cf/glab-commando én het klikpad in de cockpit tegen de SAP-docs, en schrijft scripts/wizards/klant-onboarden.mjs (plus scripts/wizards/_lib.mjs de eerste keer).

  5. 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, cf of glab geï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 .gitignore staan — de wizard waarschuwt anders).
  • Bij een nieuwe run stelt de wizard de waarden uit .env voor; 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.