{"id":16149132,"url":"https://github.com/zardoy/github-manager","last_synced_at":"2025-10-06T02:10:19.101Z","repository":{"id":46047192,"uuid":"387486868","full_name":"zardoy/github-manager","owner":"zardoy","description":"Quickly switch between cloned repos via `owner/name` search","archived":false,"fork":false,"pushed_at":"2022-05-06T14:50:39.000Z","size":579,"stargazers_count":2,"open_issues_count":7,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-18T13:33:47.262Z","etag":null,"topics":["git","github","github-manager","vscode","vscode-extension","vscode-github"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=zardoy.github-manager","language":"TypeScript","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/zardoy.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}},"created_at":"2021-07-19T14:10:07.000Z","updated_at":"2025-09-15T17:28:35.000Z","dependencies_parsed_at":"2022-07-20T06:47:13.211Z","dependency_job_id":null,"html_url":"https://github.com/zardoy/github-manager","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/zardoy/github-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zardoy%2Fgithub-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zardoy%2Fgithub-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zardoy%2Fgithub-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zardoy%2Fgithub-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zardoy","download_url":"https://codeload.github.com/zardoy/github-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zardoy%2Fgithub-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547821,"owners_count":26004775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"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":["git","github","github-manager","vscode","vscode-extension","vscode-github"],"created_at":"2024-10-10T00:36:50.454Z","updated_at":"2025-10-06T02:10:19.076Z","avatar_url":"https://github.com/zardoy.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Manager\n\n- Fast integration with GitHub without any caching\n- Highly configurable. A lot of sorting settings\n- Syncable history of recently opened repos\n\nThere are two main commands: `Open GitHub Repository...` and `Open Cloned GitHub Repository...`. Both are using sync-ignored setting: path to directory where all your cloned repositories live (more below). The first command uses integration with your GitHub account and lists all remote and cloned repos (I call it *remote* command). Here is an example:\n\n![Github Manager open-repository-command](media/demo-open-repository.png)\n\nHere, repository entries that have folder icon are cloned and available offline. If you select one of them, new VSCode window with repository will be opened.\n\nRepos that have *globe* icon, are obviously not cloned. If you select one of them, repo will be cloned to your *default clone directory*.\n\nCloned repos that are not listed as your GitHub repo have different octokit icon:\n\n![Github Manager foreign repos](media/demo-foreign-repos.png)\n\n\u003e Note 1: It uses `repo` scope with authentication, but only to read list of your private repos.\n\u003e\n\u003e Note 2: This extension won't detect repos names, they will just appear on bottom. If you know that some of your repositories were renamed (or their ownership were changed) use [rename-repos](https://github.com/zardoy/rename-repos)'s script to update *origins*.\n\u003e\n\u003e Note 3: This is the fastest way to search and/or clone your repositories. I highly recommend to bind it to some key and use whenever you create new repo or want to search for old repo.\n\u003e\n\u003e Note 4 (rare case): if you have repos with the same origin, (perhaps you duplicated cloned directory repository), only first (random) one will be shown as yours and another one will be shown as foreign. It's recommended to remove duplicated directories in these cases.\n\nWhen cloning repository, if its' size is over *50 MB*, you will see this dialog:\n\n![Github Manager big repository shallow clone suggestion](media/demo-big-repo.png)\n\nAlso, you have 3 buttons to the right of title (*Select repository to open*). Select desired repository with arrow keys (it's not possible with mouse) and click the icon:\n\n- Folder icon: to reveal cloned repo in Explorer/Finder\n- Globe icon: to open repo on GitHub\n\nAnd there is one global button, that toggles visibility of forks, that have 3 states: visible (*default*), only or hidden.\n\n---\n\nBut your primary command will be `Open Cloned GitHub Repository...` as it is fast and doesn't require internet connection. It is like the command above, but display only all cloned repos (those with globe icon). I highly recommend to bind it to some key.\n\nYou can even use this extension freely without authentication (or even forcefully disable authentication via setting).\n\n---\n\n- This extension is similar to [Project Manager extension](https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager), but the latter is a more comprehensive extension for working with git dirs (tags, bookmarks and so on...)\n\n## Open Location\n\nExtension always tries to reuse empty windows. But if windows isn't empty (have tabs or opened workspace), folder will be opened in new window by default.\n\nYou change this via setting `githubManager.whereToOpen` to `ask(after)`, so whenever windows is not empty extension will ask you where to open the directory:\n\n![Github Manager asks where to open repository](media/demo-where-to-open.png)\n\n## Source of Truth\n\n- This extension uses `git.defaultCloneDirectory` underneath from which it gets cloned repos, it is sync-ignored by default. However you don't need to specify the path manually, just use the button from error notification.\n\n## Sorting\n\nHere is how we apply sorting for repository entries.\n\n### Recently Opened\n\nRecently opened repos will appear on top for all commands. You can disable it by setting `githubManager.boostRecentlyOpened` to `false`\n\n### For Cloned\n\nFor commands that have `cloned` in title, we apply sorting by count of respos of owner and then by name of repo.\nIn other words, repos of owner that have most repos will appear on top.\n\n### For Remote\n\nFor commands that don't have `cloned` in title, we apply sorting according to `githubManager.onlineRepos.sortBy` setting.\nWe don't apply sorting for repos that you don't have access.\n\n## Command Arguments\n\n- Every open command:\n  - `owner` to display repos only from that user (but note, that user still can be ignored)\n  - `showForks` Initial state of *toggle forks visibility* button. Can be: `false` (default), `true` or `\"only\"`\n- For `githubManager.openGithubRepository`: `notClonedOnly: true` to display only not-cloned repos\n\nExample for `keybindings.json`:\n\n```json\n{\n    \"key\": \"\u003csomeKey\u003e\",\n    \"command\": \"githubManager.openGithubRepository\",\n    \"args\": {\n        \"notClonedOnly\": true,\n        \"owner\": \"some-crap\",\n        \"showForks\": \"only\"\n    }\n}\n```\n\nIt would show only forked not-cloned repos that you have access to (perhaps collaborator).\n\n## Comparison to GitHub Repositories\n\n[GitHub Repositories](https://marketplace.visualstudio.com/items?itemName=GitHub.remotehub) might be better for simple text editing, as it opens your repository instantly, without using *clone*. Also with this extension you don't need to worry about pushing/pulling anything, as you work with your repository \"online\".\n\nAlso, there is [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) for cloud development, which might become more convenient for your day-to-day workflow.\n\n## Other Similar Extensions\n\n- [GitHub Repository Manager](https://marketplace.visualstudio.com/items?itemName=henriqueBruno.github-repository-manager) - similar idea but with side-panel, instead of Quick Pick. Less configurable, uses different API for fetching repos. Shows local repositories that have changes.\n\n## Open at GitHub\n\nThis is a command for opening current cloned repository at GitHub, in multi-root workspaces you have to select folder (cloned GitHub repo).\n\nThis command receives arguments: `path`, `remoteName` (defaults to `origin`)\n\n### About the Icon\n\nInitially I wanted to use GitHub icon with Project Manager icon background, however I presume I [can't use it](https://github.com/logos) in my \"products\".\nSo I picked [repo-push Octicon](https://github.com/primer/octicons/blob/main/icons/repo-push-24.svg)\n\n### Other Ideas\n\nI didn't find use cases for them, however if you need something, please open an issue:\n\n- custom repository render template? (I don't really need it)\n- allow other remoteName (defaults to origin) (From which origin extract repository url)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzardoy%2Fgithub-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzardoy%2Fgithub-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzardoy%2Fgithub-manager/lists"}