What this page describes. Jig as it stands today — the code the next release is cut from.
It is not a report about one installed version, so your copy may behave differently.
The changelog is where each release records what changed.
Removing a task worktree deletes ignored files inside it, without asking
A task can be given a worktree of its own: a second working copy of your project, in a folder beside it, so that two agent sessions do not edit the same files. When the task is done, Jig’s housekeeping removes that folder, and you can remove one yourself withgit worktree remove.
Git protects a worktree from removal when it holds changes it is tracking, and when it holds files
it has never seen. Files your project ignores are the exception: git deletes those without a
word and reports success. Jig’s cleanup asks git the same question, and ignored files are not part
of the answer — so a worktree full of ignored work looks empty to it.
What this can cost you is anything that lives in an ignored folder and exists nowhere else:
- a
.envfile, or local settings you never copied anywhere - a local database, uploaded files, or test data you generated by hand
- a separate Git repository you created or cloned inside an ignored folder — it goes with the rest, and its own commits go with it, including any you never pushed
!! is ignored, and every one of them will be deleted. Copy out what you
want to keep. If an ignored folder holds a repository of its own, commit and push from inside that
folder first — the project around it knows nothing about its history.
jig task ship pushes a branch with no commits, then fails
jig task ship hands finished work over: it commits what has been staged, pushes the branch, and
opens the pull request. When nothing has been staged, the first step does nothing and says so — and
the rest of the run carries on regardless:
nothing staged; no commit, and it goes by as
information rather than as a refusal — so the error you are left looking at is about pull requests,
while the actual problem is that nothing was saved.
This happens only when the branch has no commits of its own yet. If an earlier run already
committed the work, an empty staging area is normal and everything proceeds.
What to do instead. Nothing is lost — but nothing was shipped either, and the work is still
sitting in your project unsaved. Ask your agent to stage it and ship again:
Send to your agent
A task that has already started cannot be moved into a worktree
You can ask for a worktree when a task starts. You cannot ask for one afterwards:Send to your agent
An interrupted command leaves temporary files behind
When Jig rewrites one of its own files, it writes the new version beside the old one and then renames it into place, so that a command stopped halfway can never leave you with half a file. What it can leave you with is the spare copy. PressCtrl-C, close the terminal, or let the machine
sleep at the wrong moment, and the spare stays where it was written. Nothing removes it afterwards.
They are easy to recognise: the name of a real file, then .tmp, then a number. A few are named
.new, .join or .restore instead, and one of those is a folder rather than a file.
Send to your agent