active: false until day-1+ copy is ready. Entered via /subscribe's SUBSCRIBE_ENROLL_COURSE_SLUG=welcome, not signup_list_name — the site's mailing-list signup already adds to the list.
twosquirrelspress-eec-courses
Course content for eec, the self-paced
email course engine — this instance served at eec.twosquirrelspress.com.
Push to master and CI syncs courses/ straight to production — there's no
staging step, so treat a push here the same as a push to eec itself.
Full reference for course/step file format, course.yml fields, the
readiness step, drip-triggered courses, and sync guardrails lives in the
eec-courses README — the
format is identical, only the target instance differs.
Layout
courses/
<slug>/
course.yml
day-0.md
day-1.md
...
Deploying
Push to master → .gitea/workflows/sync.yml tars up courses/ and
POSTs it to this domain's eec-twosquirrelspress container over the internal
Docker network, authenticated with TWOSQUIRRELSPRESS_EEC_SYNC_TOKEN (a Gitea Actions secret
shared with the eec-twosquirrelspress Ansible role's copy). No separate deploy step, no
staging — a push here goes live immediately.