SourceSteward

FOR HUMANS & AI AGENTS

Your changes.
A steady hand.

Know where you are. Understand what changes.
Keep control of what happens next.

A small, explainable toolkit for everyday version control.
Familiar in your terminal. Predictable for your agents.

PRE-RELEASE · IMPLEMENTED Native Git/jj inspection, task workspaces, local tidy and GitHub reads.
Human output or versioned JSON; explicit authorization for local changes.

stwLOCAL · READ-ONLY

$ stw inspect . --json

Native Git or jj identity

$ stw inventory . --json

Workspaces, references and qualified state

$ stw hosting repo . --json

Local GitHub repository candidates · no network

Check completeness and qualifications in each result.

ONE TOOLKIT.
RESPECT EACH WORKFLOW.

GitNative Tier 1 · inspect, workspaces, tidy
Jujutsu jjNative Tier 1 · standalone & colocated
GitButlerOptional integration planned

IMPLEMENTED TODAY

More than help and version.

Every data command offers human output and --json. Git and jj retain their native identities and limits. Check your installed version and command help.

Inspect and query

help · version · inspect · inventory

stw inventory . --query dirty \
  --scope disk --scope untracked --json

Local observations; no fetch or snapshot. Known false queries exit 0; unknown evidence exits 1.

Create an isolated workspace

workspace plan · workspace apply

stw workspace plan /path/to/source --base HEAD \
  --destination /path/to/task --task issue-42 \
  --owner developer --state-dir /path/to/state --json

Use an unused destination and existing private mode0700 state directory. jj may use @ as its base. Planning stores state; reviewed apply needs --authorize.

Hand off and prepare retirement

workspace handoff · workspace retire-plan

stw workspace handoff /path/to/task \
  --state-dir /path/to/state --json

Describe owned work and retention evidence. Preparation does not delete registrations or files.

Review and apply local tidy

tidy plan · tidy apply

stw tidy plan . --base main \
  --ref finished-task --json

Select an explicit native base/reference. Uncertain work retains. Apply needs a stored plan; owned retirement has separate registration and exact-path file selections.

Read GitHub evidence

hosting repo · hosting pr · hosting ci

stw hosting ci 42 . \
  --repo owner/project --json

repo is offline. PR/CI uses gh 2.102.0+ authentication and bounded HTTPS reads. No push, PR edit, merge or CI rerun.

Use the optional gh extension

gh jj repo · gh jj pr · gh jj ci

gh jj pr 42 /path/to/jj-workspace \
  --repo owner/project --json

Shares SourceSteward operations; requires jj ownership and explicit extension installation. No replacement of an existing extension.

Worked examples, effects and prerequisites → · Generated CLI reference →

THE APPROACH

Convenience you can account for.

Small commands. Clear outcomes. The same facts for the person
reviewing the work and the agent doing it.

01 /

Make state legible.

Concise human output and versioned structured results, without parsing a wall of terminal text.

02 /

Explain the action.

Review stored plans, targets and declared effects. Apply requires explicit authorization and fresh checks.

03 /

Respect the workspace.

Preserve worktree ownership and backend semantics. No silent migration, reset or raw-Git write fallback.

PLANNED · NOT AVAILABLE YET

What comes next.

Full roadmap
01

Stacks, checkpoints and conflict diagnosis

Stack inspection/diffs, checkpoint/resume and integration preflight.

PLANNED
02

Edit, transfer and restack work

Work transfer, amend/fixup/split editing, local restacking and upstream synchronization.

PLANNED
03

Coordinate stacked PRs and GitButler

Forge writes and native GitButler integration have separate future contracts.

PLANNED

Current tidy recovery evidence is bounded; automatic restoration is not implemented.
Explore native backend capabilities and limits →

A steady start. An open project.

Go + Cobra. Specification-led. Local workflows need no model or cloud account; GitHub reads need authentication.

Explore on GitHub