Before Session 7

Setup

Save your work

Everything you’ve built so far lives in your BlueRock workspace. Before you put an agent on a schedule, you’ll back the project up to a private GitHub repository you control.

What you’ll do
Back your project up to GitHub, and watch it happen.
Why it matters
Scheduled routines need a persistent copy of your project they can reach while you’re away. GitHub provides that copy and gives you a backup you control.
What you’ll have
A private repo under your own GitHub account, with your project inside it.
How long
About 10–15 minutes. Claude Code will guide you through setup and help resolve common issues.

Before you start

  • Claude Desktop or Cursor connected to your project, with the BlueRock toolkit installed. /bluerock:check confirms both.
  • Your email inbox, somewhere you can open it: a new GitHub account verifies your email address.

Your first backup


1

Create your GitHub account

GitHub is the free service your backup will live on, in an account that belongs to you, not to BlueRock. If you already have an account, sign in and move to the next step.

Do this

  1. 1

    Go to github.com/signup and create an account with your own email address. The free plan is all you need.

  2. 2

    Enter the verification code GitHub sends you.

    You’ll see: the code arriving in your email inbox.

  3. 3

    Finish signing in.

    You’ll see: your avatar in the top-right corner of github.com. That means you’re in.

You’re signed in on github.com.

The verification email never arrived

It goes to the address you typed, and it sometimes lands in spam — check there first. Still nothing? Re-request the code from the signup page rather than starting over.

2

Sign your workspace in to GitHub

Your workspace has to be able to talk to your GitHub account. GitHub’s sign-in does this with a one-time code, so your password never touches the workspace.

Do this

  1. 1

    In your chat, ask for the backup.

    back up my project to GitHub

    Or type /bluerock:learn-save-your-work. Either way Claude Code takes it from here: it checks where you already are and skips what’s done.

  2. 2

    Wait while Claude Code runs GitHub’s sign-in.

    You’ll see: a one-time code shaped like XXXX-XXXX and the address github.com/login/device.

  3. 3

    Open github.com/login/device in your browser, type the code in, and approve it. That code is a live sign-in code while it lasts: github.com/login/device is the only place you ever type it.

  4. 4

    Back in your chat, answer the one setting Claude Code asks about: it makes your workspace use this sign-in whenever it talks to GitHub, and it asks before it sets it.

    You’ll see: Claude Code confirming your workspace is signed in, with your GitHub username.

The sign-in from the browser side: Device Activation → the code-entry page → Authorize GitHub CLI (read the access list — this is the grant) → “Congratulations, you're all set!” (9s clip)

The sign-in from the browser side: Device Activation → the code-entry page → Authorize GitHub CLI (read the access list — this is the grant) → “Congratulations, you're all set!” (9s clip)

Claude Code reports your workspace is signed in to GitHub as you.

3

Create your private repo — from right here

A repository (repo) is the container your backup lives in on GitHub. Now that your workspace is signed in, Claude Code can make one for you — no form to fill in, and nothing to get wrong.

Do this

  1. 1

    Tell Claude Code to create it, and give it a name you’ll recognize: my-workspace is the obvious one.

    You’ll see: the repo’s address come back in the chat. It is private, on your account, and your project is already pointed at it.

  2. 2

    Read back what it reports: the repo is private, and your project now has somewhere to send its saves.

    You’ll see: one more line worth reading: nothing has been sent up yet. The repo is empty on purpose until the next step, so an empty page on GitHub right now is correct.

A private repo exists on your account, and your project points at it. Nothing is in it yet — that is the next step.

I’d rather make it on github.com myself

That works, with one thing to get right: the repo has to start completely empty, because your project brings its own history and a repo born with starter files can’t accept it. On github.com, open the + menu and choose New repository, name it, check that Choose visibility says Private, and leave every starter file off — Add README off, Add .gitignore on No .gitignore, Add license on No license. You’ll know it worked when GitHub shows a mostly empty page headed Quick setup; a list of files instead means a starter option got ticked, so delete the repo and make it again while nothing of yours is in it.

4

Send everything up

Two guards run before anything leaves your workspace, and Claude Code names each one as it goes. Watching them run is part of the step.

Do this

  1. 1

    Copy the repo address from the Quick setup page (the one starting https://github.com/) and paste it into your chat when Claude Code asks where the backup should go.

  2. 2

    Answer the checks. Claude Code may ask to switch your backup address off BlueRock’s shared template, or for the name and email your saves should be recorded under. That second ask can be surprising right after signing in: signing in proved to GitHub that you’re allowed in, but the name on each save is written separately — it was never set by the sign-in.

    You’ll see: each ask saying what it is for before you answer it.

  3. 3

    Wait while the guards run.

    You’ll see: the secrets scan reporting what it checked (nothing goes up until it comes back clean) and, on some workspaces, a line saying your project’s shortened history was completed first. Both are guards protecting the backup, not problems.

  4. 4

    Give the go-ahead when Claude Code shows you what’s about to go up.

    You’ll see: a plain report that everything saved in your project went up to your repo.

Claude Code reports the backup went up. The proof is yours, in Step 5.

5

See your files on GitHub

The backup becomes real when you see it yourself.

Do this

  1. 1

    Go back to the repo page in your browser (the one you kept open) and refresh it.

    You’ll see: the Quick setup page replaced by your own files.

  2. 2

    Open one file you recognize and read a line of your own work.

A file from the builder's project (voice.md) open and rendered on the private GitHub repo page
The proof: one of your own files, open on a page only you can see, in an account only you control.

The proof: one of your own files, open on a page only you can see, in an account only you control.

Your project is on a page only you can see, in an account only you control. That page is the backup.

What you just proved

Your work now outlives your workspace: everything you build is backed up to a repo that belongs to you, not to BlueRock. From now on the backup is one yes — every time you close a chat with /bluerock:wrap-up, it offers to send up whatever changed. And like connecting was, this was one-time: the sign-in survives disconnects.

What’s next


Backups are where builders get stuck.

If yours didn't go smoothly, post what you saw. Someone else has almost certainly seen it too.

Get help in Slack

Learn more


What’s the difference between saving and backing up?

Saving a checkpoint takes a snapshot of your project as it is right now, with a note about what changed. It stays in your workspace, and you can look back at it or undo it. Backing up to GitHub is the second, separate step: it sends your saved snapshots to your repo, off this machine. Until you back up, a snapshot exists only in your workspace. That is why this step exists, and why wrap-up offers both.

What did I just authorize, and can I take it back?

Your workspace now holds a sign-in to your GitHub account, which is what lets it send backups without asking for a password every time. You granted it yourself, on GitHub’s own page, with the one-time code. You can see it any time on github.com under Settings → Applications → Authorized OAuth Apps — it’s the entry called GitHub CLI, and its own menu is where you revoke it. Revoking stops future backups until you sign in again; your repo and everything already in it stay yours.

Why did the repo have to be empty?

Your project has been keeping its own history since the day your workspace was created: every checkpoint you saved is in it. If GitHub starts the repo with a README, the repo gets a history of its own, one your project has never seen, and the two can’t be joined by a first backup. An empty repo has no history yet, so it accepts yours exactly as it is. That’s also why the fix for a non-empty repo is delete-and-recreate rather than repair: before your first backup there is nothing in it to lose.

The AI and building terms these sessions use are collected in the glossary.

BlueRock for AI Builders — Save your work