Dentolize · PR Template Sandbox Block Walkthrough
On this pageThe one-sentence versionWhat problem this solvesWhat actually changedThe one real behavior changeWho should read what

Overview

This PR adds a 🧪 Sandbox section to the repo's default pull-request description template (.github/PULL_REQUEST_TEMPLATE.md). It is a documentation/discoverability change to the engineering workflow, not a change to the Dentolize product — no clinic-facing screen, resolver, or database model is touched.

The one-sentence version

Every new pull request now opens with a pre-filled YAML block that shows — and lets you edit — the settings for that PR's auto-deployed preview sandbox, instead of those settings being a feature you had to already know existed.

What problem this solves

Dentolize's CI already stands up a full disposable preview environment (web app, API, database, S3 mock, WhatsApp mock, terminal access) for every open pull request, and that environment was already steerable from a ## 🧪 Sandbox YAML block placed in the PR description. The catch: nothing told authors the block existed. You had to already know the magic heading text and the exact key names, or dig through .github/workflows/sandbox.yml to find them. This PR closes that gap by putting the block — pre-filled with the current defaults and inline comments explaining each key — directly in the template every new PR starts from.

What actually changed

One file, twenty lines added, nothing removed:

File.github/PULL_REQUEST_TEMPLATE.md
Change+20 lines, 0 removed
Workflow logicUnchanged — the parser, gate, and deploy steps in .github/workflows/sandbox.yml already existed before this PR

The block that gets added is reproduced in full in The 🧪 Sandbox settings block, and the mechanics of how editing it triggers a redeploy are covered in How an edit triggers a redeploy.

The one real behavior change

Templates are pre-filled defaults, not documentation-only text — a new PR that gets opened without anyone touching the Sandbox section still carries env: IS_SANDBOX: "true" into the parsed settings, because that's what's sitting in the template body. Before this PR, a PR with no Sandbox block in its description parsed to {} (no env overrides at all). After this PR, the default, untouched state of a new PR's description now injects IS_SANDBOX=true into the server/queue/cron containers of every sandbox. See The 🧪 Sandbox settings block for where that value currently is (and isn't) consumed.

Who should read what

  • Skimming for the shape of the change → Walkthrough.
  • Editing or reviewing the sandbox settings block itself →

The 🧪 Sandbox settings block.

  • Debugging "why didn't my sandbox redeploy" →

How an edit triggers a redeploy.

  • Non-engineering context on why this matters → the By team pages.