Source control
nodeterm has a built-in Source Control panel driven by the system’s git (and gh for
GitHub). Open it with the ⎇ button. It works file-by-file and opens changes as
diff nodes on the canvas.
The panel
Section titled “The panel”- Stage / unstage / discard — each changed file has controls to stage it (
+), unstage it (−), or discard its changes. - Diff a file — click a file to open it as a diff node.
- Branches — switch branches or create a new one.
- Commit & push — write a message at the top and commit, then push, sync, or publish the branch.
- Recent commits — the panel lists your latest commits.
- GitHub sign-in — if
ghisn’t authenticated, a banner offers to sign in; it runsgh auth loginin a fresh terminal node.
AI commit messages
Section titled “AI commit messages”Press ✦ Generate to draft a commit message. This spawns your chosen local agent CLI read-only on the staged diff — it reads the change and writes a message, nothing else.
There’s no built-in model: you bring your own agent (for example claude or codex).
Choose which agent runs and add an extra prompt of your own in Settings. The same
mechanism powers AI naming for terminals.
Scopes
Section titled “Scopes”The panel doesn’t operate on the whole project blindly — it works on a selected scope, which is either the main checkout or a bound worktree. When you have a worktree group selected on the canvas, the panel targets that worktree; otherwise it targets the main checkout. Every action — diffs, commits, running a command in a terminal — uses the scope’s folder, so committing in one worktree never touches another.
See Git worktrees for how a worktree becomes a scope.