GitHub Glasses: Repository Manager
  Browse, clone, create, star, and organize all your repositories and organizations — without leaving your editor.
Overview
- 🎯 Unified GitHub explorer — Mirrors personal repositories, organizations, and Starred collections inside one VS Code sidebar.
- 🚀 Guided clone, publish & fork-style workflows — Validate destinations, create folders, handle empty repositories, run Clone & Publish to duplicate external repos under your/org account, and push first commits without leaving VS Code.
- 💛 Starred workspace & bulk actions — Multi-select to star, clone, hide, or remove repositories while the Starred view updates in real time.
- 🛡️ Streamer Mode privacy — Obfuscate names and persist hide rules so you can present or record without exposing sensitive projects.
- ⚡ Instant reload controls — Local caching hydrates trees immediately while scoped refreshes keep large accounts responsive.
- 🤝 Native GitHub authentication — Rely on VS Code sign-in with full organization permission awareness—no tokens required.
All Features
🧭 Repository Explorer
- Cloned / Not Cloned / Starred groups mirror GitHub inside VS Code so you always know where a repository lives.
- Flexible sorting and status badges surface alphabetical/last-updated options, star markers, dirty indicators, and “Last Updated” relative times.
- Bulk operations with progress allow multi-select open, copy, star/unstar, hide/unhide, archive, or delete with success/error summaries.
- Granular visibility controls let you hide orgs or repos with per-org overrides and a dedicated Hidden section.
- Rich tooltips and filtered metadata display language, visibility, forks, timestamps, local paths, and skip archived repositories automatically.
🚀 Cloning & Workspace Automation
- Managed-directory cloning accepts owner/name or URLs, ensures folders exist, fetches the default branch, and offers workspace actions.
- Flexible destination workflows honor git.defaultCloneDirectoryor let you choose a folder, then refresh the tree instantly.
- Configurable repository discovery scans the default clone directory with tunable depth and ignore patterns to register existing clones.
- External repo management links outside projects via lightweight files so they track under Cloned without moving folders (Works with Windows too!)
- Safe removal options warn about dirtiness (*), offers to delete managed clones, or to stop tracking links without touching source files.
🏗️ Create & Publish
- Guided repository creation lets you pick owner, name, description, visibility, and optionally clone the result.
- One-click publish flow initializes Git when missing, handles remote setup, renames master to main when needed, and pushes the first commit.
- Automatic registration adds newly published projects to Cloned immediately and offers a shortcut to the GitHub page.
- Context-aware toolbar surfaces Publish and Manage Local buttons only when a workspace folder needs them.
💛 Favorites & Organization
- Instant starring actions toggle favorites (single or multi-select) with clear progress and immediate Starred updates.
- Starred workspace parity keeps favorites synced with Cloned and Others so repos move automatically as you star or unstar.
- Persistent hide state stores cloned and not-cloned visibility choices with per-repo overrides inside hidden orgs.
- Smart unstar handling returns local clones to the correct organization or Others without manual cleanup.
- Metadata refresh safeguards fetch repository details before starring when local data is missing to keep labels accurate.
🔒 Authentication & Privacy
- Built-in GitHub authentication leverages VS Code’s provider—no personal access tokens required.
- Streamer Mode obfuscation anonymizes users, organizations, repository names, and descriptions with consistent friendly aliases.
- Instant cache hydration displays repository lists immediately while background tasks compute dirtiness and metadata.
- Scoped reload commands refresh everything, a single organization, or cloned/not-cloned sections with spinner feedback.
- Tree-state aware updates preserve expansion and respect Streamer Mode toggles without collapsing your view.
- Recurring directory insights remember search roots and ignore patterns so repeat scans stay fast.
User Manual
Table of Contents:
Understanding the User Interface

The suite organizes the sidebar into purpose-built areas so GitHub workflows stay close to your current file.
- Actions Menu — Launch guided clone, publish, manage-local, search, and reload commands without digging through nested palettes.
- Repositories — Browse Cloned, Not Cloned, Starred, Hidden, and Others trees with live dirtiness, per-org reload spinners, and bulk actions.
- Account — Review your identity, toggle Streamer Mode, check permission hints, and sign out if you need to re-authenticate with additional scopes.
Back to the Table of Contents
"Cloned" vs "Not Cloned"

Repository groups hydrate from cache instantly and stay in sync as background jobs finish fetching metadata.
- Cloned — Shows repositories with a known local path, dirtiness badge, last updated time, and quick actions to open, hide, or delete without rescanning everything.
- Not Cloned — Lists everything else by owner with inline reload controls so you can refresh a single organization instead of the entire account.
- Starred & Hidden — Dedicated trees surface favorites and privacy filters while avoiding duplicate entries across the other sections.
Back to the Table of Contents
Log In into GitHub

- Use the in-line UI to authenticate your GitHub account.
[!IMPORTANT]
We require special permissions to manage repositories on your behalf; these are requested during sign-in. Displayed in the graphic above.
Authentication relies on VS Code’s built-in GitHub provider, keeping tokens handled by the editor. When you need extra scopes—like delete_repo for remote removal—the Account panel now includes a Sign out of GitHub button so you can re-authenticate with the proper permissions.
Back to the Table of Contents
Setting Up Your Clone Directory

- Use the in-line UI to set the "git.defaultCloneDirectory"in your VSCodesettings.jsonto the path your cloned repositories are located (or plan to locate them).
[!NOTE]
This path is used by default when cloning new repositories and scanning for existing ones. You can change it at any time.
[!TIP]
Customize githubRepositoryManager.cloneDirectoryNamePattern to control the folder name each managed clone uses. The default {owner}-{name} keeps similarly named projects from different owners from colliding, and you can switch to {name} or any other combination of {owner}, {name}, {repo}, and {repository} when you prefer shorter paths.
The managed directory powers cache hydration, external link tracking, and fast dirtiness sweeps. Updates to this setting ripple through the tree so newly cloned or linked repositories appear instantly while hidden and starred states remain consistent across sessions.
Back to the Table of Contents
Creating a repository: from scratch

By hovering the REPOSITORIES tree view title, a + button appears. Click on it, enter the new repository name, description (optional) and visibility. On success, you may choose to clone the new repository.
If you are a member of at least one organization that allows you to create repositories for it, it will be asked, before the repository name input, to pick the new repository owner: your own account or one of those organizations.
Once the repository is provisioned, the extension refreshes the specific owner in place, updates the cache, and offers to open the new GitHub page—no full reload required.
Back to the Table of Contents
Creating a repository: from current project

You may create a GitHub repository and push your current project within the same flow. If there are multiple folders in your workspace that may be published to GitHub, it will be prompted to pick one.
There are 2 possible cases that allows using that publish functionality:
- Your project doesn't have a Git yet. After entering the repository name, description and visibility, the repository will be created, the git will be initialized for the workspace folder, - mainbranch will be created and selected, GitHub remote will be added as- originand your files will then be pushed to it.
 
- Your project has a Git, but it hasn't a remote yet. After filling the repository information, it will be checked if your git HEAD is - master. If so, it will ask if you want the branch to be renamed to- main. Then the repository will be created, the GitHub remote is added as- originand your code is pushed.
 
The wizard now snapshots repository cache data so the freshly published project appears under Cloned immediately. If branch tracking settings conflict, you’ll see a clear warning with next steps instead of a failed push.
Back to the Table of Contents
Cloning and Managing a repository using URL

Paste an owner/name pair or full GitHub URL to kick off the guided clone flow. The extension validates the destination folder, ensures the managed directory exists, and hydrates the tree as soon as the checkout finishes.
Scoped reloads synchronize metadata—star status, visibility, and dirtiness—without waiting for an account-wide refresh, and post-clone quick actions help you open the repository or reveal it in VS Code right away.
Back to the Table of Contents
Clone & Publish (Spork) [Fork alternative]
Duplicate any GitHub repository under your own account without visiting the website. The Clone & Publish (Spork) command:
- Prompts for a source repository URL or owner/name and validates it with GitHub.
- Walks you through choosing the destination owner (personal or organization), repository name, description, and visibility.
- Clones the source into your managed directory, renaming remotes so originpoints to the brand-new repository andupstreamkeeps the original source.
- Pushes an initial commit to the new repository using your VS Code GitHub authentication, even if the original repo stays private.
Managed clones keep using your configured naming pattern—{owner}-{name} by default—so files stay organized under the destination account instead of the source owner. If GitHub blocks a push (for example, workflow files without the workflow scope), the extension preserves the clone, summarizes the failure, and helps you reopen the folder so you can finish the publish manually after adjusting permissions.
Back to the Table of Contents
Managing a repository outside the clone directory

Repositories you publish from outside the managed clone directory are tracked through small JSON link files stored in .githubRepoMgr-links under your configured git.defaultCloneDirectory, so the original folders stay where they are. The Create Repository for Current Project button is only shown when a workspace folder has no Git or no remote, keeping the toolbar focused on actions you can actually perform.
Use Manage Local Repository when a project already has a remote; it registers the existing folder without re-cloning or pushing, and once everything is registered the toolbar buttons quietly step out of the way.
Registration now records the remote URL, updates the cache entry immediately, and moves the repository into Cloned without waiting for a full reload. If you later unlink it, the item returns to Not Cloned while leaving the files untouched.
Back to the Table of Contents
Managing starred repositories

The Starred organization mirrors your GitHub favorites with real-time updates. Toggle stars from any tree via context menus or multi-select bulk actions; the extension immediately moves repositories between Starred, Cloned, and Not Cloned so you never see duplicates.
- Star/unstar actions synchronize the cache, keeping language, dirtiness, and hidden states accurate even offline.
- Bulk starring provides aggregated confirmations, making it easy to curate long lists.
- Context menus stay selection-aware, always presenting the correct Star or Unstar option for the focused item.
Back to the Table of Contents
Managing user & organization repositories

Inline reload icons and cached hydration keep large accounts responsive. Refresh a single organization to update its cloned and not-cloned sections while the rest of the tree remains interactive.
- Cached repositories display immediately before background tasks refine dirtiness, timestamps, and language metadata.
- Reloads snapshot local paths so managed projects stay visible even as metadata updates.
- Internal locks prevent overlapping reload requests, keeping progress indicators accurate.
Back to the Table of Contents
Hiding and Unhiding repositories and organizations

Fine-tune your tree by hiding entire organizations or selective repositories. This is perfect for demos, temporary decluttering, or keeping sensitive work out of sight while Streamer Mode is disabled.
- Per-organization overrides let you expose a short allowlist while the rest of the repos remain hidden.
- Hidden states persist in storage and stay synchronized with cache refreshes so they survive reloads and restarts.
- Bulk hide/unhide actions keep multi-select flows fast when you need to tidy up larger groups.
Back to the Table of Contents
Deleting CLONED Repositories (or just Unlinking them)

Removal prompts differentiate between managed directory clones and external links. Confirm whether you want to unlink the repo (keeping files on disk) or delete the clone entirely, with dirtiness warnings so you never lose uncommitted work.
- Multi-select deletes aggregate results and update the tree immediately once the cleanup finishes.
- External repositories simply drop their link file, returning to Not Cloned without touching your working copy.
- When you trigger GitHub deletions, targeted reloads keep the Not Cloned list accurate without reloading everything else.
Back to the Table of Contents
Archiving NOT CLONED Repositories
Archive repositories you no longer actively maintain directly from the Not Cloned section. The archive action appears in the context menu for repositories where you have admin permissions, letting you:
- Archive single or multiple repositories in one operation with bulk confirmation.
- Immediately hide archived repositories from the tree view since the extension automatically filters them during synchronization.
- Keep archived repositories read-only on GitHub, available to unarchive later if needed.
When to archive instead of delete:
- You want to preserve the repository history and code without it appearing in active lists.
- The repository is no longer maintained but might be referenced or needed for historical purposes.
- You need a reversible action—archived repositories can be unarchived on GitHub, unlike deletions.
Note: Archived repositories remain visible on GitHub but are marked as read-only and automatically excluded from this extension's repository lists.
Back to the Table of Contents
Streamer Mode

Streamer Mode keeps demos and recordings safe by anonymizing every personal detail in the UI without changing your actual repositories.
- Toggle it from the Account panel under your username before you go live.
- All user, organization, and repository names swap to consistent aliases for the entire session, so screenshots stay readable.
- The eye/eye-closed toolbar icon reflects the current state and every tree view refreshes automatically when you flip the switch.
- Your choice persists across VS Code restarts, and the privacy playbook in STREAMER_MODE_PRIVACY_CONSIDERATIONS.md covers advanced tips.
Back to the Table of Contents
Bulk Actions
Bulk Actions allow you to perform operations on multiple repositories at once, streamlining your workflow and saving time.
Available Actions
- Star/Unstar Repositories: Quickly star or unstar multiple repositories.
- Archive Repositories: Archive multiple not-cloned repositories to mark them as read-only on GitHub.
- Delete Repositories: Remove multiple repositories from your account.
- Hide/Unhide Repositories: Manage the visibility of several repositories simultaneously.
How to Use
- Select the repositories you want to manage by holding down the Ctrlkey and clicking on each repository.
- You can also select a range of repositories by clicking the first repository with Ctrl, and then while additionally holding down theShiftkey, click the last repository in the range.
 
- Right-click on one of the selected repositories to open the context menu.
- Confirm your action.
Recommended Use Cases
- Unstarring multiple repositories that are no longer updated.
- Archiving multiple completed or unmaintained projects to keep them accessible but out of active lists.
- Deleting multiple obsolete repositories in one go.
- Hiding several repositories to declutter your workspace.
Back to the Table of Contents
 Roadmap 
- Panel: Commits
- Panel: Branches
- Panel: Remotes
- Panel: Tags
Licensing
- Current source (2025-10-12 and later): Licensed under the Business Source License 1.1 with no automatic changeover date. Commercial licensing is available from Mario Ricalde (licensed by 6o8).
- Additional Use Grant: Internal production use by individuals and companies is permitted, provided you do not resell or host the extension (or derivatives) for third parties.
- Historical releases and pre-transition code: Continue to be available under the original MIT License authored by Henrique Bruno Fantauzzi de Almeida.