Show HN: I made a better cd to navigate monorepos quicker

1 omranjamal 0 6/12/2025, 12:45:30 PM github.com ↗
I'm a big fan of monorepos but I always thought navigating them from the CLI was kind of a PITA, that's why I created `mono-cd`. It allows you to interactively select the package directory you want to cd into.

Ironically, `mono-cd` is written in Go even though it's primarily built for the JS ecosystem. Just had to do it; starts way faster than a node program.

Usage: When you run `mcd`, it shows an interactive prompt that supports fuzzy search. You can just start typing or use the arrow keys to select a directory. You can even include the fuzzy-search term in the command itself as arguments; if there's only a single match, it'll cd you directly without the interactive prompt.

Out of the box it reads your `workspaces` key in your `package.json` or the `pnpm-workspace.yaml` file if you're using pnpm.

If you're doing monorepos for a different ecosystem, or if you're unhappy with the default behavior of the JS ecosystem workspace definitions, you can define a `.monocdrc.json` file to override it.

WIP: I'm still working on auto-detecting git submodules and adding them as monorepo package candidates.

Comparisons:

- Compared to `fzf`, I think it to be definitely simpler and a bit less overwhelming.

- Compared to zoxide, mono-cd is built to be more predictable and lower initial setup.

Overall a more focused cd utility for monorepos specifically.

.

Would love thoughts and (hopefully constructive) feedback on this tiny tool I built. Thanks in advance.

PS: Yes it works inside Docker too.

Comments (0)

No comments yet