Skip to content

Development

Branch and Deployment Strategy

Branch Roles

  • main

    • Purpose: Holds stable production-ready code and updated markdown content

    • Deploys to: Production site

    • Actions:

      • Content updates (e.g., .md, .astro.md)
      • Production deploy script runs on commit
  • dev

    • Purpose: Active development (features, refactors, fixes)

    • Deploys to: Staging site

    • Actions:

      • Non-content work only
      • Does not require latest content from main

Workflow Guidelines

  1. Keep main and dev separate

    • Do not merge main into dev unless content is explicitly needed for development
  2. Develop normally on dev

    • Work on app features, backend logic, styles, etc.
    • Content files from main are not needed here
  3. Update production with new code

    • When feature work is complete:

      Terminal window
      git checkout main
      git merge dev
    • This brings the new code into main, alongside existing content

    • Production deployment is triggered


Summary

  • main: content + stable code → production
  • dev: in-progress code → staging
  • Merge dev into main to release code
  • Avoid polluting dev with content unless needed for specific tests