Back to browse
GitHub Repository

wo(rkspace management)

10 starsGo

wo; a better CD for repo management

by itsagamer124·Mar 3, 2026·3 points·0 comments

AI Analysis

MidSolve My ProblemCozy

Smarter cd alternative for multi-project juggling, but autojump/zoxide already solved this.

Strengths
  • Hook profiles let you run project-specific setup (tests, editors, deploys) tied to `wo projectname` without extra scripts
  • SQLite index + shell integration keeps resolution fast even with 50+ repos across deep directory trees
Weaknesses
  • Core feature (fuzzy workspace jumping) is directly competed by autojump, zoxide, and fzf-based cd replacements with larger communities
  • Hooks are nice but not essential—people already use Makefiles, direnv, or shell aliases for per-project setup
Target Audience

CLI/neovim users managing many repositories across multiple directories

Similar To

zoxide · autojump · fzf-based cd wrappers

Post Description

This is something that I've been wanting to make and use myself for the longest time.

if you're anything like me, you have a million projects in a million places ( I have 56 repositories!) and they're all from different people. I'm a big cli and neovim user, so for the longest time I've had to do the following.

cd some/long/path/foo/project

nvim .

This gets really infuriating after a while.

wo changes this to wo project

and you're already cded into your project.

running wo scan --root ~/workspaces --depth <depth>

will automatically scan for git repos (or .wo files if you choose not to track your repo), and add them to your repo list. Names for projects are inferred from the repo name's remote url, so they can be anywhere.

If your repo is local, project owners are inferred from the enclosing folder (e.g. I have a local folder, so project owner will be called local)

But I think the killer feature is hooks.

remember that nvim .?

now you can create custom hooks. on enter, we can automatically bring up nvim. so wo project brings up neovim with all your files loaded.

You can define a hook called claude, and call it like this: wo project claude

You can your hook automatically bring up claude code or any other cli tool of your choice. You can do cursor . code . or zen . or run any arbitrary script of your liking. Hooks can be global as well, no need to redefine for each directory.

I've been using this for a few weeks and it's been exactly what I needed. There's a ton of cool features that I didn't mention that are in the README. and also feel free to star it! ( I need more talking points for my resume). Also feel free to ask me any questions or tell me about similar implementations. or maybe any features you'd like to add!

Whole thing is open source and MIT licensed. Let me know if you guys like it!

Similar Projects

AI/ML●●Solid

I've implemented multi-repo workspace support in Agent of Empires

Git worktrees and Docker sandboxes let agents tackle multi-repo tasks without context collapse.

Niche GemShip It
seluj78
6023d ago
Developer Tools●●Solid

A tool to keep dotfiles and system configs in sync with a Git repo

Treats your repo as a literal shadow of the filesystem and manages individual files (copy, prune, collect) rather than trying to be a full config framework. Notable bits: bidirectional 'collect' mode, section-based inserts for parts of big system files, a local state file to safely prune deletions, and flock-based concurrency handling — nice attention to messy real-world workflows. It's not reinventing the wheel in a crowded dotfile space, but it's a pragmatic, carefully thought-out approach that an ops person will reach for.

Niche GemShip It
senotrusov
103mo ago