Guides

Studio — write code, open the pull request, get graded on it

The in-platform editor: draft files, commit them to your own GitHub repository, and get the grade posted onto the pull request. A GitHub account is optional.

  • Do a real exercise with no setup — no Node, no ports, no localhost
  • Your work stays yours: repositories are generated into your own GitHub account, not ours
  • A GitHub account is optional — browser-tier exercises run and grade without one
  • Edits are drafts until you press Commit, so nothing becomes public history by accident
  • Every commit is guarded against overwriting work that changed while you were reading

One branch, one exercise, one pull request

Studio is where you write the code. It shows a workspace per exercise — the repository, the branch, the last grade and when you last touched it — and the mapping between them is visible rather than something you have to infer.

A GitHub account is optional

This is the part worth reading twice. Sign-in is by email; GitHub is an integration you choose later, from the connections page, after reading exactly what it can and cannot do. Without it you can still read lessons, run browser-tier exercises, submit work, file tickets and take exams. Nothing here is a wall.

When you do connect, you pick the repositories. The consent screen is GitHub's own, the selection is per-repository, and the connections page lists what was granted in plain words alongside what was not — for example, nothing can add or change a workflow file, and nothing can delete a repository.

Drafts are not commits

Type, and two seconds later the file is stored as a draft. Drafts belong to you and to this branch; they never reach GitHub on their own. This is the single biggest difference from editors that sync every keystroke into public history — committing stays a deliberate act, because it is one worth learning.

Reset to last commit throws the drafts away and leaves everything that was ever committed untouched. It cannot destroy history.

The Commit X-Ray

Before anything is sent, you get a page that says precisely what your click is about to do: every file, whether it is an add, an update or a deletion, how many bytes change, the commit the write is guarded against, and — per file — whether this exercise opens that path for writing.

Two checks then run on the server, not in your browser, and both can refuse:

  • The path list. An exercise opens specific paths. Files that let a repository run code on its own stay closed unless the exercise names one by name.
  • The credential scan. If something looks like a key or a password, the commit is blocked, the line is shown, and the fix is explained. Rotate first, remove second.

The guard

Every commit carries the commit id it expected to find. If the branch moved while you were reading — someone else pushed, or you pushed from a laptop — the write is refused rather than applied, and you are shown your version beside theirs with three choices: keep mine, keep theirs, or keep both. You will never be handed a file with <<<<<<< in it.

What a grade does and does not say

A grade says the tests the exercise defines passed against the code at that commit. It is not a statement about you, and a commit records that this account made a change — not that you personally typed it.

The journey, step by step

StepWhat you doWhat you get
Open StudioGo to Studio and pick an exerciseA workspace card appears, showing the repository, the branch and your last grade
EditChange a file in the editorIt autosaves as a draft after two seconds — saved to the platform, not to GitHub
Check before you sendOpen the Commit X-RayEvery file, the byte change, the guard, and whether each path is open for writing
CommitPress CommitOne commit lands on your branch, signed and attributed, or the write is refused with a reason
Get gradedOpen a pull requestThe grade is posted onto the pull request as a check, test by test

Frequently asked

Do I need a GitHub account?

No. Browser-tier exercises run entirely in your tab and grade without any account. A GitHub connection is an optional integration you choose later, and no part of the platform requires one to sign in.

Does saving publish my work?

No, and this is deliberate. Autosave is not autocommit. Your edits live as drafts on the platform until you press Commit, which is a separate, taught act.

Who owns the repository?

You do. Exercises generate a repository from a template into your own GitHub namespace — an independent repository with no upstream link, which is yours to keep and to show.

What happens if the branch changed while I was working?

The commit is refused rather than overwriting it. You are shown your version beside the one on GitHub and asked to keep yours, keep theirs, or keep both — never a file full of conflict markers.

What can Studio write to?

Only the paths the exercise opens for writing. Files that can make a repository run code on its own — workflow files, package scripts, Dockerfiles, git hooks — stay closed unless an exercise names one explicitly, and the server refuses them regardless of who is asking.

What if I commit a password by mistake?

The write is blocked and the line is shown to you. Rotate the credential first, then remove it — deleting it from a file does not un-share anything already pushed.

How do I disconnect?

The connections page has a Disconnect button, and revoking access from your GitHub settings has the same effect. Your repositories and every commit you made stay exactly as they are.

Related guides

Was this helpful?

Try it, don't just read about it

Founding cohorts are free. Sit Chuun and see this from the inside.