You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A linked worktree's .git is a file, not a directory. scan treats a .git file as a
repository boundary and stops descending, which covers linked worktrees and .claude/worktrees/
in one rule rather than two special cases.
The picker is a numbered list on stderr reading from stdin. An fzf integration is deliberately
deferred until the built in one has been used for a while.
Acceptance criteria
internal/scan walks root into Repo values and stops descending at a repository
boundary, with a test covering a linked worktree.
gitcd list prints every repository under root.
gitcd list --json prints the same as structured output.
gitcd list --worktrees includes linked worktrees, which are hidden by default.
gitcd cd <query> resolves a unique partial match to a path on stdout.
An ambiguous query with a terminal on stdin shows a numbered picker on stderr.
An ambiguous query without a terminal exits non zero and lists the candidates on stderr.
A query matching nothing exits non zero with a message naming the query.
Shell completion for cd in zsh and fish, shipped through shell-init.
Tests cover matching, ambiguity and the non terminal path.
Activity
docs(agents): record the status, sync and open packages
feat(scan): walk the root into repositories
feat(cli): add list and cd
feat(shell): wrap cd and complete it in zsh and fish
docs(agents): record the scan package
fix(scan): find a worktree nested inside its own repository
fix(cli): say what the picker actually knows