guide

From first open to first commit

Five minutes to read, ten to follow. This app assumes one flow — make a worktree, work inside it, commit from there.

macOS · last updated 2026-09-04

1. Install and first run

Take the build for your platform from the Download page and run it. Straight after installing, the only thing you need is git. If you mean to use an agent, the CLI you already use (Claude Code, Codex and the rest) only has to be on PATH — codeme installs nothing for you and uses only what is already there.

There is no sign-in screen on first run. There is no account.

2. Open a project

Open a folder from the project list at the top of the sidebar. CtrlR brings the recent list back. You can keep several projects open at once, and each project's worktrees stack underneath it.

The sidebar has two layouts to pick from (workbench.sidebar):

  • one-rail — projects, worktrees and files stack in one column on the left. This is the default.
  • two-rails — worktrees per project on the left, files on the right.

3. Make a worktree

Make a worktree with on the project row. Give a new branch name and it makes that branch and the worktree together; pick a branch that already exists and it makes only the worktree.

Why a worktree rather than a branch switch. Switching branches rewrites the files in the same directory, and the build cache and node_modules go stale every time. A worktree uses a directory of its own, so you can keep three open at once and leave each build standing.

4. Attach an agent

Pick an agent from the menu on the worktree card. That menu shows two things as separate items.

  • Start fresh — opens an empty session.
  • Resume — picks up the session that was running in that worktree.

Whether an agent is running, or waiting on you, shows as a number in the menu bar. When the window is not in front, an OS notification says so instead — when it is in front the corner toast does that job, so the default is to send no notification.

5. Read what changed

CtrlX opens the Agent changes panel. The files the agent touched on the left, that file's diff on the right.

  • The baseline is the moment the agent started. Edits you made before that are not mixed in.
  • The folded lines between hunks open, down to "which function these three lines sit in".
  • You can switch to a side-by-side view.
  • When you have read it, Mark reviewed moves the baseline forward.

6. Commit and push

CtrlG is the commit panel, CtrlH the history graph. Staging, committing and pushing are in one place, and pushing lives on the same screen as the commit — you do not go looking for somewhere to push once you have committed.

The history draws branches splitting and joining as they actually are. Measured on a repository of a hundred thousand commits.

7. Connect My work (optional)

CtrlY opens the My work panel. Review requests on top, yours underneath. GitHub, Forgejo and Jira are read directly through their own APIs, and connecting takes one paste of a token in the panel.

  • The token goes to the macOS keychain.
  • The settings file keeps only the address. No IPC command hands a token back to the window.
  • A connection you are not signed in to is shown not as a failure but as one line with the address it called, and a Sign in button.

Click a pull request and you either open it in the browser or make a worktree on its branch. If the branch is not on this machine, it is fetched and then made.

8. Pick a theme

A theme has two axes. Change one and the other stays where it is.

SettingsWhat it paintsWhat you can pick
workbench.theme The window's own look — sidebar, toolbar, panels system · light · dark
workbench.codeTheme The surfaces code is drawn on — editor · terminal · diff the whole catalogue

The theme menu in this site's header uses part of that same catalogue — it comes out of the same file.

9. Shortcuts

The default scheme is the VS Code layout (there is an IntelliJ scheme too).

KeyWhat it does
1 / 2 / 3Layout — one group / group + terminal / two groups + terminal
Ctrl`New terminal
\Split the editor
PGo to file
FFind across files
CtrlGSource control (commit)
CtrlHHistory
CtrlXAgent changes
CtrlYMy work
CtrlDContainers
CtrlQDatabases
BFold and unfold the sidebar
CtrlROpen a recent project
,Settings

10. When you get stuck

Completion, hover and go-to-definition do nothing

That language's language server has to be installed on this machine — of rust-analyzer, gopls, clangd and pyright, only the ones already there are used. When there is none, the status bar says so. TypeScript and JavaScript are not in the list because Monaco answers for them with its own service.

The My work panel is empty

The token is missing or expired. It is shown not as a failure but as one line with the address it called, and a Sign in — so start by checking that the address on that line is right.

The terminal draws broken characters

On a machine with no GPU renderer, the core works that out and falls back to the CPU renderer. If it still looks wrong, you can pick the renderer yourself in settings.

Anything else

Tell us through wherever you got the build. No diagnostic data is sent automatically, so what happened is only what you write down.