feat(cmd): add current command to detect the active worktree#52
Open
fstr wants to merge 1 commit into
Open
Conversation
Add `treehouse current`, which reports whether the working directory is
inside a managed worktree. It exits 0 when it is and non-zero otherwise,
so it composes in scripts, prompts, and hooks.
Detection is authoritative rather than advisory: it derives the owning
repository with git.FindMainRepoRootFrom (so pool resolution is correct
from inside a linked worktree) and cross-checks the cwd against pool state
via the new pool.Current, instead of trusting the $TREEHOUSE_DIR variable
that only the get subshell exports. pool.Current guards on IsPoolDir so it
never creates a pool directory as a side effect.
Output modes:
- default: worktree name, live status, and path (mirrors a status row)
- --path: only the absolute worktree path (silent when outside)
- --json: {"in_worktree":true,...} or {"in_worktree":false}
Non-zero "not here" exits use a new errSilent sentinel so Execute skips
extra stderr decoration.
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add
treehouse current, which reports whether the working directory is inside a managed worktree. It exits 0 when it is and non-zero otherwise, so it composes in scripts, prompts, and hooks.Detection is authoritative rather than advisory: it derives the owning repository with git. FindMainRepoRootFrom (so pool resolution is correct from inside a linked worktree) and cross-checks the cwd against pool state via the new pool.Current, instead of trusting the $TREEHOUSE_DIR variable that only the get subshell exports. pool.Current guards on IsPoolDir so it never creates a pool directory as a side effect.
Output modes:
Non-zero "not here" exits use a new errSilent sentinel so Execute skips extra stderr decoration.