Skip to content

feat(projects): allow direct connection to a specific project via CLI argument to bypass fuzzy finder #39

Description

@danjessen

Is your feature request related to a problem? Please describe.

Right now, herdr-plus projects require going through an interactive fuzzy finder to pick a project workspace template and spin it up. While the fuzzy finder is great for discovery, it creates unnecessary friction for everyday, frequent work projects. I have a few core projects I switch between constantly, and having to type out parts of the name or arrow down to find them slows down the workflow.

This is the exact problem sesh solves for tmux by allowing users to switch directly to a session name, and it aligns heavily with the philosophy behind Neovim plugins like ThePrimeagen/harpoon—avoiding repetitive fuzzy finder re-typing for high-frequency targets.

Describe the solution you'd like

I would love the ability to pass a project name directly as an argument to the project launcher command to connect to it or spin it up instantly.

For example, if I have a project configuration named my-work-app.toml, I could bind a global key or run a quick terminal alias like:

Ideally bypassing the fuzzy UI entirely if an exact match is passed

$ herdr plugin action run cloudmanic.herdr-plus:projects my-work-app

Or via the binary if invoked directly:

herdr-plus projects my-work-app

If the argument matches a configured project name/file, it should immediately build and open that workspace. If no argument is passed, it should fall back to the default interactive fuzzy finder UI.

Describe alternatives you've considered

Using the standard interactive picker every time, which works but adds constant micro-friction for the 2 or 3 projects I open 90% of the time.

Additional context

Providing a deterministic CLI path for specific projects makes it incredibly easy to map them to discrete keys (e.g., via herdr custom key commands, shell aliases, or local scripts), supercharging the speed of context-switching between core repositories.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions