{"id":35644689,"url":"https://github.com/binbandit/workty","last_synced_at":"2026-02-02T00:04:37.260Z","repository":{"id":332410713,"uuid":"1128755082","full_name":"binbandit/workty","owner":"binbandit","description":"Git worktrees as daily-driver workspaces","archived":false,"fork":false,"pushed_at":"2026-01-19T11:01:25.000Z","size":57,"stargazers_count":17,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-19T11:49:18.998Z","etag":null,"topics":["cli","command-line","developer-tools","git","git-worktree","productivity","rust","terminal","workspace","worktree"],"latest_commit_sha":null,"homepage":"https://github.com/binbandit/workty","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/binbandit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-06T05:28:30.000Z","updated_at":"2026-01-19T11:01:29.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/binbandit/workty","commit_stats":null,"previous_names":["binbandit/workty"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/binbandit/workty","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbandit%2Fworkty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbandit%2Fworkty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbandit%2Fworkty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbandit%2Fworkty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/binbandit","download_url":"https://codeload.github.com/binbandit/workty/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/binbandit%2Fworkty/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28996568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","developer-tools","git","git-worktree","productivity","rust","terminal","workspace","worktree"],"created_at":"2026-01-05T12:21:55.875Z","updated_at":"2026-02-02T00:04:37.243Z","avatar_url":"https://github.com/binbandit.png","language":"Rust","readme":"# git-workty\n\nI got mass-context-switching burnout. Every `git stash` felt like shoving clothes under the bed before guests arrive. WIP commits? \"WIP: stuff\" cluttering my history. Worktrees fixed it, but the raw commands are clunky.\n\nSo I built this. Now I just `wnew feat/login`, do the work, `wcd` back to main when someone pings me about a bug, fix it, and `wcd` right back. No stashing. No mental overhead.\n\n```\n$ git workty\n▶ feat/login       ● 3   ↑2↓0   ~/.workty/myrepo/feat-login\n  main             ✓     ↑0↓0   ~/src/myrepo\n  hotfix-auth      ● 1   -      ~/.workty/myrepo/hotfix-auth\n```\n\n## Install\n\n```bash\ncargo install git-workty\n```\n\nThen add shell integration (so `wcd`, `wnew`, `wgo` actually change your directory):\n\n```bash\n# zsh\neval \"$(git workty init zsh)\"\n\n# bash  \neval \"$(git workty init bash)\"\n\n# fish\ngit workty init fish | source\n```\n\n### Manpages\n\nTo generate and install the manpage automatically:\n\n```bash\ngit workty install-man\n```\n\nThis will write `git-workty.1` to `~/.local/share/man/man1`. You may need to add `~/.local/share/man` to your `MANPATH` environment variable if your system doesn't pick it up automatically.\n\n## Usage\n\nThe whole point is to make worktrees feel like browser tabs:\n\n```bash\nwnew feat/login     # new worktree + cd into it\nwcd                 # fuzzy-pick a worktree + cd\nwgo main            # jump to \"main\" worktree\n\ngit workty          # see everything at a glance\ngit workty clean --merged   # tidy up finished work\n```\n\n### All commands\n\n| Command | What it does |\n|---------|--------------|\n| `git workty` | Dashboard showing all worktrees |\n| `git workty new \u003cbranch\u003e` | Create worktree (and branch if needed) |\n| `git workty go \u003cname\u003e` | Print path to worktree |\n| `git workty pick` | Fuzzy selector |\n| `git workty rm \u003cname\u003e` | Remove worktree (prompts if dirty) |\n| `git workty clean --merged` | Remove worktrees with merged branches |\n| `git workty pr \u003cnum\u003e` | Checkout a GitHub PR (needs `gh`) |\n| `git workty doctor` | Diagnose issues |\n\n## Config\n\nOptional. Lives in `.git/workty.toml`:\n\n```toml\nbase = \"main\"                    # default branch for new worktrees\nroot = \"~/.workty/{repo}-{id}\"   # where worktrees go\nopen_cmd = \"code\"                # editor for --open flag\n```\n\n## Why not just...\n\n**Why not `git stash`?** — Stashes get lost. I've got 47 stashes in one repo right now. No idea what's in them.\n\n**Why not WIP commits?** — They clutter history and I forget to squash them.\n\n**Why not just raw `git worktree`?** — The commands are verbose and I kept forgetting the syntax. This is just a nice wrapper.\n\n## Safety\n\nWon't delete dirty worktrees unless you `--force`. Prompts before destructive stuff unless you `--yes`. Every error tells you what to do next.\n\n## License\n\nMIT or Apache-2.0, your choice.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinbandit%2Fworkty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbinbandit%2Fworkty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbinbandit%2Fworkty/lists"}