Skip to content

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.

  • 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 gh isn’t authenticated, a banner offers to sign in; it runs gh auth login in a fresh terminal node.

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.

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.