From ticket to coding in 30 seconds
Type the ticket id. Fuzzy-pick repos. thicket creates worktrees, drops a
seeded CLAUDE.local.md, and launches your AI session named after the slug.
The whole flow above is one command: thicket start sc-65825.
No id? thicket start fuzzy-picks across your assigned tickets.
What you get
-
Ticket-aware workspaces
Each workspace folder is named
<ticket-id>-<title-slug>, with one git worktree per repo on a matching branch. Source clones stay clean on their default branch — worktrees share the.gitso storage is cheap and no double-fetch. -
LLM picks the repos
thicketasks Claude (Haiku, via API or your localclaudebinary) which repos in your GitHub orgs the ticket actually touches — then opens a bubbletea picker so you can refine, drop, or add. Pass--onlyto skip the LLM entirely. -
Live fuzzy pickers
Repos, tickets, 1Password items, workspaces — everything interactive runs through a live
sahilm/fuzzyfilter with type-ahead. ↑/↓ to navigate, Enter to pick, Esc to go back a step. -
Password-manager-backed secrets
Never asks for a raw token. Point
thicketat 1Password, Bitwarden, orpassand it fetches on demand. The config file stores only references.thicket doctorverifies each reference resolves without ever showing the value. -
Parallel sessions, no collisions
Each workspace is its own git worktree at its own filesystem path — not a branch checkout in your source clone. Open N tickets in N terminals (or N Claude sessions) at once, each on its own branch, with zero
git stash/git checkoutthrashing. Source clones stay clean on their default branch; worktrees share the source's.gitso creation is instant and storage is cheap. -
No telemetry
thickettalks to Anthropic, Shortcut, and GitHub only to do its job. No phone-home, no analytics, no dashboard you didn't ask for.
Install
One-liner (macOS, Linux)
curl -fsSL https://github.com/uribrecher/thicket/releases/latest/download/install.sh | sh
Detects your OS + arch, downloads the matching tarball, verifies SHA-256 against
checksums.txt, and drops the binary into $HOME/.local/bin.
Pin a version: THICKET_VERSION=v0.1.2 sh. Different path:
INSTALL_DIR=/usr/local/bin sh.
With Go
go install github.com/uribrecher/thicket/cmd/thicket@latest
Auto-update skips $GOBIN installs — you stay in charge of your Go toolchain.
Manual
Grab a tarball from
the latest release
and drop the thicket binary on your $PATH.
Quickstart
# one-time setup wizard: tokens, GitHub orgs, paths (re-run anytime to edit)
thicket config
# sanity check — verifies CLI tools, tokens, env-var overrides
thicket doctor
# spawn a workspace for a ticket
thicket start sc-12345
# done? wipe the worktrees, keep the source clones clean
thicket rm sc-12345-fix-inventory
Full command reference, secrets setup, and architecture notes: README on GitHub.