{"id":51431143,"url":"https://github.com/marcoskichel/herdr-muster","last_synced_at":"2026-07-05T04:01:52.652Z","repository":{"id":369014047,"uuid":"1287946904","full_name":"marcoskichel/herdr-muster","owner":"marcoskichel","description":"Agent-aware project switcher for herdr","archived":false,"fork":false,"pushed_at":"2026-07-03T06:27:10.000Z","size":124,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-03T08:23:09.938Z","etag":null,"topics":["herdr-plugin"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcoskichel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-07-03T06:23:55.000Z","updated_at":"2026-07-03T06:27:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/marcoskichel/herdr-muster","commit_stats":null,"previous_names":["marcoskichel/herdr-muster"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/marcoskichel/herdr-muster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcoskichel%2Fherdr-muster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcoskichel%2Fherdr-muster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcoskichel%2Fherdr-muster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcoskichel%2Fherdr-muster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcoskichel","download_url":"https://codeload.github.com/marcoskichel/herdr-muster/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcoskichel%2Fherdr-muster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35142824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["herdr-plugin"],"created_at":"2026-07-05T04:01:51.910Z","updated_at":"2026-07-05T04:01:52.620Z","avatar_url":"https://github.com/marcoskichel.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# muster\n\n![muster switcher](docs/screenshot.png)\n\nAn agent-aware project switcher for [herdr](https://herdr.dev/) inspired by [Tmux Sesh](https://github.com/joshmedeski/sesh)\n\nHit one key and you get a fuzzy list of your projects. The ones already running\nshow up first, tagged with what their agent is doing (blocked, working, done, or\nidle), and anything blocked floats to the top so you know where you're needed.\nEverything else sits below, one keypress away from a fresh workspace.\n\nEach project maps to exactly one workspace. muster remembers that pairing from\nthe moment it creates the workspace, so it never guesses the project from\nwhatever directory a pane happens to be sitting in, and you never end up with\ntwo workspaces for the same repo.\n\n## Install\n\nYou'll need a Rust toolchain, since `herdr plugin install` compiles the binary\nfrom source when it sets the plugin up.\n\n    herdr plugin install marcoskichel/herdr-muster\n\n### Working on it locally\n\n    cargo build --release\n    herdr plugin link /path/to/herdr-muster   # e.g. ~/dev/herdr-muster\n\n## Configure\n\n    herdr plugin config-dir kichel.muster   # prints the config dir\n\nCopy `config.toml.example` into that directory as `config.toml` and edit it:\n\n- `paths` lists directories you always want to see.\n- `roots` gets scanned one level deep for git repos.\n- `use_zoxide` folds in your `zoxide query -l` results when zoxide is installed.\n\n## Bind it to a key\n\nAdd this to your herdr `config.toml`, then run `herdr server reload-config`:\n\n    [[keys.command]]\n    key = \"prefix+space\"\n    type = \"shell\"\n    command = \"herdr plugin pane open --plugin kichel.muster --entrypoint picker\"\n\n## Keys inside the switcher\n\n- Type to fuzzy filter, arrow keys to move.\n- Enter jumps to the project. If it's open it focuses that workspace, otherwise\n  it musters a new one.\n- Ctrl-N forces a brand new workspace for the selected directory.\n- Ctrl-X closes the selected open workspace.\n- Esc or Ctrl-C backs out.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcoskichel%2Fherdr-muster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcoskichel%2Fherdr-muster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcoskichel%2Fherdr-muster/lists"}