BMAD-METHOD/DEPLOY_NETLIFY.md

3.0 KiB

Deploying to Netlify — quick guide

What this adds

  • A GitHub Action (.github/workflows/deploy-netlify.yml) that deploys the demo client (static site) and Netlify Functions to your Netlify site on push to main or v6-alpha.

What you must do (one-time)

  1. Create a Netlify site

    • Sign in to Netlify and create a new site from Git. Choose this repository and the branch you want to deploy (recommended: v6-alpha for this work).
    • Netlify will ask for build settings. We use the repo files directly; the GitHub Action will run the deploy so set the build command to blank and the publish directory to bmad/tools/serverless-samples/demo-client (Netlify will respect the uploaded deploy from the Action).
  2. Get your Netlify Site ID and Personal Access Token

    • Site ID: On your site dashboard, go to Site settings → Site information → Copy 'Site ID'.
    • Personal Access Token: Go to User settings → Applications → Personal access tokens → New access token. Save the token safely.
  3. Add GitHub secrets to this repo

    • In the GitHub repository, go to Settings → Secrets and variables → Actions → New repository secret.
    • Add these secrets:
      • NETLIFY_AUTH_TOKEN =
      • NETLIFY_SITE_ID =
  4. Add runtime environment variables in Netlify (optional but recommended)

    • In Netlify site settings → Build & deploy → Environment → Edit variables, add the following server-side keys (these will be available to Netlify Functions):
      • OPENAI_API_KEY = your OpenAI key
      • AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_REGION / S3_BUCKET (for audio uploads)
      • LINKEDIN_CLIENT_ID / LINKEDIN_CLIENT_SECRET / LINKEDIN_REDIRECT_URI
      • ADMIN_API_KEY or JWT_SECRET (optional)
  5. Trigger the deploy

    • Push a commit to v6-alpha or main. The GitHub Action will run and deploy the demo client and functions to your Netlify site using the netlify CLI.

Testing the deployed site

  • After the workflow completes, visit your Netlify site URL. The demo client will be served from the bmad/tools/serverless-samples/demo-client folder. The functions will be available under /.netlify/functions/<function-name> or via the Netlify Functions endpoint your site provides.

Local testing (fast feedback loop)

  • You can run functions locally with Netlify CLI or test using the LOCAL_TEST=1 option for the transcribe-worker file.

Security notes

  • Do not commit real secrets to the repo. Use GitHub Secrets and Netlify Environment variables.
  • Audio files are ephemeral; review the functions to ensure audio deletion TTL is enforced.

If you want, I can:

  • Create a Netlify site for you (requires Netlify access) or walk you through each UI step while you do the clicks.
  • Run a checklist and validate the first successful deploy when you add the secrets.

Tell me whether you want me to also create a small GitHub Issue board with the sprint tickets (I can auto-create Markdown issues) or proceed to validate the deploy once you add the secrets.