{"id":43901047,"url":"https://github.com/amt911/zsh-mgr","last_synced_at":"2026-02-06T18:49:02.968Z","repository":{"id":227352777,"uuid":"712876130","full_name":"amt911/zsh-mgr","owner":"amt911","description":"A simple plugin manager for zsh.","archived":false,"fork":false,"pushed_at":"2026-02-02T20:49:37.000Z","size":138,"stargazers_count":3,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-03T02:22:04.888Z","etag":null,"topics":["plugin-manager","shell","shell-scripting","shell-scripts","zsh","zsh-plugin"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amt911.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-11-01T11:39:39.000Z","updated_at":"2026-02-02T20:49:41.000Z","dependencies_parsed_at":"2024-03-16T18:54:07.267Z","dependency_job_id":"add93f6e-c67c-400f-b87e-3bedb45e6e80","html_url":"https://github.com/amt911/zsh-mgr","commit_stats":null,"previous_names":["amt911/zsh-mgr"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amt911/zsh-mgr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amt911%2Fzsh-mgr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amt911%2Fzsh-mgr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amt911%2Fzsh-mgr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amt911%2Fzsh-mgr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amt911","download_url":"https://codeload.github.com/amt911/zsh-mgr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amt911%2Fzsh-mgr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29172626,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T16:33:35.550Z","status":"ssl_error","status_checked_at":"2026-02-06T16:33:30.716Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["plugin-manager","shell","shell-scripting","shell-scripts","zsh","zsh-plugin"],"created_at":"2026-02-06T18:49:02.256Z","updated_at":"2026-02-06T18:49:02.955Z","avatar_url":"https://github.com/amt911.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# zsh-mgr\n\nA modern, fast plugin manager for ZSH written entirely in Rust. Features:\n\n- ✅ **Parallel updates** - Update all plugins simultaneously using Rayon\n- ✅ **Real-time progress** - Beautiful tables showing update status  \n- ✅ **Non-blocking auto-updates** - Runs in background, won't slow shell startup\n- ✅ **Auto-recovery** - Recreates plugins.json if deleted (~19ms)\n- ✅ **Manual control** - Explicit plugin loading in .zshrc\n- ✅ **Bootstrap** - Install default plugins automatically\n- ✅ **Smart sync** - Detects plugins from Git repositories\n- ✅ **Clean CLI** - Simple, intuitive commands\n- ✅ **Fast** - Written in Rust for maximum performance\n\n## Installation\n\n### System Package (Recommended)\n\n#### Arch Linux (AUR)\n```console\nyay -S zsh-mgr\n```\n\n#### Debian/Ubuntu\n```console\nwget https://github.com/amt911/zsh-mgr/releases/latest/download/zsh-mgr_amd64.deb\nsudo dpkg -i zsh-mgr_amd64.deb\n```\n\n#### Fedora/RHEL\n```console\nwget https://github.com/amt911/zsh-mgr/releases/latest/download/zsh-mgr.rpm\nsudo rpm -i zsh-mgr.rpm\n```\n\nAfter installing the package, run:\n```console\nzsh-mgr install\n```\n\n### From Source\n\nIf you have Rust installed:\n\n```console\ngit clone --recurse-submodules \"https://github.com/amt911/zsh-mgr.git\" ~/.config/zsh/zsh-mgr\ncd ~/.config/zsh/zsh-mgr/zsh-mgr-rs\ncargo build --release\nmake install PREFIX=$HOME/.local\nzsh-mgr install\n```\n\n**Note:** You can add your own scripts to: `~/.config/zsh/` and source them in your `.zshrc` file.\n\n## Usage\n\n### Bootstrap default plugins\n\nInstall all plugins from `~/.config/zsh/default-plugins.txt`:\n\n```console\nzsh-mgr bootstrap\n```\n\n### Generate .zshrc plugin loading code\n\n```console\nzsh-mgr init\n```\n\nAutomatically adds `load_plugin` lines to your .zshrc based on installed plugins.\n\n### Sync plugins.json from Git repositories\n\nIf plugins.json is deleted or corrupted, recreate it:\n\n```console\nzsh-mgr sync\n```\n\nThis scans `~/.zsh-plugins/` for Git repositories and rebuilds the database (~19ms).\n\n### Add a plugin\n\n```console\nzsh-mgr add zsh-users/zsh-autosuggestions\n```\n\n### Add with custom flags\n\n```console\nzsh-mgr add romkatv/powerlevel10k --flags=\"--depth 1\"\n```\n\n### Add a plugin from a private repository\n\n```console\nzsh-mgr add your-user/private-repo --private\n```\n\n### Update all plugins\n\n```console\nzsh-mgr update\n```\n\nUpdates all plugins in parallel using Rayon. Non-blocking when run via auto-update.\n\n### Update specific plugins\n\n```console\nzsh-mgr update --only plugin1 --only plugin2\n```\n\n### Check next update dates\n\n```console\nzsh-mgr check\n```\n\nShows a beautiful table with update information using comfy-table.\n\n### List installed plugins\n\n```console\nzsh-mgr list\n```\n\n### Remove a plugin\n\n```console\nzsh-mgr remove plugin-name\n```\n\n## Performance\n\n- **Parallel updates**: All plugins update simultaneously using Rayon\n- **Non-blocking**: Auto-updates run in background without blocking shell startup\n- **Fast recovery**: plugins.json recreation takes ~19ms for 7 plugins\n- **Efficient**: Optimal resource usage with thread pools\n- **Safe**: Proper error handling and Git stash management\n- **Smart auth**: Automatic SSH key and agent detection\n\n## Configuration\n\n- **plugins.json**: Located at `~/.zsh-plugins/plugins.json`\n- **Auto-recovery**: Automatically recreated if deleted\n- **Default plugins**: Define in `~/.config/zsh/default-plugins.txt`\n- **Update threshold**: Default 7 days (604800 seconds)\n\n- `ZSH_PLUGIN_DIR`: Where plugins are installed (default: `~/.zsh-plugins`)\n- `ZSH_CONFIG_DIR`: Configuration directory (default: `~/.config/zsh`)\n- `TIME_THRESHOLD`: Update interval in seconds (default: 604800 = 1 week)\n- `MGR_TIME_THRESHOLD`: Manager update interval (default: 604800)\n\n## Building Packages\n\n### Debian/Ubuntu (.deb)\n\n```console\ncd zsh-mgr-rs\ncargo install cargo-deb\ncargo deb\n```\n\n### Fedora/RHEL (.rpm)\n\n```console\ncd zsh-mgr-rs\ncargo install cargo-generate-rpm\ncargo generate-rpm\n```\n\n### Arch Linux (PKGBUILD)\n\n```console\ncd zsh-mgr-rs\nmakepkg -si\n```\n\n## TODO\n\nThe following features are planned:\n\n- \u003cdel\u003eUpdater for the plugin manager itself\u003c/del\u003e ✅\n- \u003cdel\u003eAuto-update for the plugin manager\u003c/del\u003e ✅\n- \u003cdel\u003eParallel updates using Rust\u003c/del\u003e ✅\n- \u003cdel\u003eComplete CLI in Rust\u003c/del\u003e ✅\n- Delete unused plugins via CLI\n- Configuration management via CLI:\n  - Disable auto-update\n  - Change update frequency\n- Plugin dependency management\n\n## Finding bugs\n\nIf you encounter a bug, please open an issue or create a pull request to solve it. I speak both Spanish and English.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famt911%2Fzsh-mgr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famt911%2Fzsh-mgr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famt911%2Fzsh-mgr/lists"}