Your workspace on GitHub

Because a workspace is plain files, it can live in a git repository like any software project. That gets you a full history of every course, safe rollback, teammate review, and an offsite backup. You don't need to know git; your assistant runs the commands.

Why bother

  • History. Every change to every page and quiz is recorded, with a note about what changed and why.
  • Rollback. A revision that made a course worse is undoable in one step, even weeks later.
  • Review. Teammates can see exactly what changed in a course before it ships, the way developers review code.
  • Backup. The workspace exists somewhere other than your laptop.

Set it up

Create an account at github.com (or another git hosting service) if you don't have one, then hand the rest to your assistant:

Ask your assistant

"Turn this workspace into a git repository and push it to a new private GitHub repository called my-courses."

The assistant initialises the repository, keeps installer output like node_modules/ out of version control, and walks you through connecting your GitHub account if it isn't set up on your machine yet.

Working day to day

Git records a change when you commit it. The habit that works: whenever the course reaches a state you'd be sad to lose, say so.

Ask your assistant

"Commit what we've done so far as 'Module 2 draft with quiz' and push it to GitHub."

And when a direction doesn't work out:

Ask your assistant

"Undo everything since the 'Module 2 draft with quiz' commit."

Working with teammates

A teammate gets the whole workspace by cloning the repository and running pnpm install; then pnpm dev <course> gives them the same live preview you have. For anything beyond casual collaboration, use the review flow: changes are made on a branch and opened as a pull request, and a reviewer checks them before they merge, by running the live preview on the branch or by asking their assistant to summarise exactly what changed. Your assistant can drive all of that too; ask it to "open a pull request for this change" and it will.

Two practical notes

  • Private by default. Course content is usually internal material; make the repository private unless you mean to publish it.
  • Big media. Plain git handles images and short clips fine, but repositories heavy with video get slow. If that happens, ask your assistant about Git LFS, which is built for exactly this.
Copied