Skip to content

Branches and targets

Each Git-backed task runs in a git worktree. The worktree has a current branch, and Superconductor tracks a target branch for review and comparison.

The current branch holds the worktree’s changes. Example branch names:

feat/api-docs
fix/login-timeout
chore/update-fixtures

When a worktree starts from a generated or temporary branch name, rename it from a Superconductor-launched terminal:

Terminal window
sc worktree rename-branch feat/api-docs

Run the command from the worktree’s terminal so Superconductor resolves the correct worktree.

New worktrees start on a temporary branch prefixed sc-. Superconductor treats the sc- prefix as a signal to require a one-time rename before normal task work, so the first action in a new worktree’s terminal or agent session should be sc worktree rename-branch <name>.

When Settings → Agents → Session default → Branch naming is enabled (the default), Superconductor adds a naming rule to the launched agent’s prompt. The agent then proposes a name and runs sc worktree rename-branch itself.

The built-in convention is kebab-case with a type prefix, drawn from Conventional Commits:

feat/ new feature
fix/ bug fix
refactor/ internal restructuring
docs/ documentation only
chore/ maintenance, dependencies, tooling
test/ tests only
ci/ CI configuration
perf/ performance
style/ formatting only
build/ build system or external deps

Examples:

feat/api-docs
fix/login-timeout
refactor/sidebar-state
docs/install-guide
chore/update-fixtures

Override the built-in rule per scope. Settings cascade global → workspace → project, so a single repository can pin its own convention. Edit the rule in Settings → Agents → Session default → Branch naming; the chosen scope’s rule replaces the prefix list passed to the agent.

A custom rule might require a ticket prefix:

{ticket}/{short-description}, kebab-case, e.g. ENG-1234/login-timeout

If you prefer to name branches yourself, disable automatic branch naming in the same panel, then run sc worktree rename-branch <name> from the worktree’s terminal before starting work. Superconductor blocks normal review actions until the sc- prefix is gone.

Superconductor compares the worktree against the target branch. The target powers review summaries, changed-file counts, behind-target indicators, and review checklists.

Common target branches:

main
master
develop
release/2026-05

Check the current target branch with:

Terminal window
sc worktree status --json

Set the target only when you intend to change the merge target:

Terminal window
sc worktree set-target-branch release/2026-05

Superconductor owns the worktree’s target branch, and the app may use a project-specific or PR-specific value. Do not infer the target from the folder name, the current git branch, or origin/HEAD.

If an agent needs the target branch, tell it to run:

Terminal window
sc worktree status --json

If the target branch has moved, the worktree falls behind. Fetch or rebase through your normal git workflow, then review the diff again.

Before merging, confirm that:

  • The target branch is correct.
  • The current branch is up to date with the target.
  • The diff contains only the intended task.
  • Tests ran against the branch you plan to merge.

When a worktree has an associated pull request, Superconductor uses PR metadata for the target branch and review state. The local target branch still matters because it controls local diff summaries and review commands.