Skip to content

feat: enable local repos without GitHub login#20

Merged
steipete merged 4 commits intosteipete:mainfrom
zzfadi:feat/local-without-login
Jan 22, 2026
Merged

feat: enable local repos without GitHub login#20
steipete merged 4 commits intosteipete:mainfrom
zzfadi:feat/local-without-login

Conversation

@zzfadi
Copy link
Contributor

@zzfadi zzfadi commented Jan 19, 2026

Summary

Enable users to view and manage local repositories without signing into GitHub. The local scanning infrastructure was already independent - this change unlocks the UI.

Note: This PR builds on #19. Merge #19 first.

Changes

  • Add isLoggedIn helper to AccountState for cleaner guard logic
  • Show filter bar when logged out if local folder is configured
  • Show repo list for local scope when logged out
  • Only display "Local" filter option when not signed in (hide All/Pinned/Work)
  • Auto-select local filter when user logs out

Why

Users can now use RepoBar purely for local git repository management without requiring a GitHub account. This makes the app useful for:

  • Developers who don't use GitHub
  • Air-gapped environments
  • Quick local repo overview without authentication

Test plan

  • Sign out of GitHub (or use fresh app with no login)
  • Set local projects folder in Settings
  • Verify only "Local" filter shows (not All/Pinned/Work)
  • Verify local repos appear in the menu
  • Sign back in - verify all filters return

🤖 Generated with Claude Code

Screenshot 2026-01-18 at 11 17 31 PM

Add a new "Local" filter option in the repository filter bar that displays
all git repositories found in the configured local folder, including repos
that don't have GitHub remotes (local-only repos).

Changes:
- Add `local` case to MenuRepoSelection enum with isLocalScope property
- Add RepositoryDisplayModel initializer for local-only repos
- Add isLocalOnly computed property for future submenu handling
- Fix LocalRepoManager to scan ALL discovered repos, not just GitHub-matching
- Reduce filter picker size to accommodate 4 filter options

This enables users to see and manage local repositories that exist only on
their machine without requiring a GitHub remote.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@zzfadi zzfadi force-pushed the feat/local-without-login branch from ca9e057 to 9c58d6b Compare January 19, 2026 03:24
zzfadi and others added 2 commits January 18, 2026 21:13
- Use repo.id instead of repo.title for menu cache keys (fixes duplicate name issues)
- Remove cached menu items from parent menu before reusing (prevents crash)
- Defer menu rebuild to next run loop to avoid modifying during layout
- Filter worktrees from Local scope (accessible via parent's Switch Worktree submenu)
- Handle duplicate fullNames in LocalRepoIndex (worktrees share same remote)
- Change filter label from "Loc" to "Local"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Allow users to view local repositories without signing into GitHub.
The local scanning infrastructure was already independent - this
change unlocks the UI by:

- Adding isLoggedIn helper to AccountState for cleaner guard logic
- Showing filter bar when logged out if local folder is configured
- Showing repo list for local scope when logged out
- Only displaying "Local" filter option when not signed in
- Auto-selecting local filter when user logs out

Users can now use RepoBar purely for local git repository management
without requiring a GitHub account.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@steipete steipete merged commit 61d4aa2 into steipete:main Jan 22, 2026
2 checks passed
@zzfadi zzfadi deleted the feat/local-without-login branch January 24, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants