feat: add Local filter to show all local git repositories#19
feat: add Local filter to show all local git repositories#19steipete merged 2 commits intosteipete:mainfrom
Conversation
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>
- 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>
|
Hi @steipete ! This PR and PR #20 are aimed to make foundation for better local management to add worktree visualization and control. This is my first contribution ever to open source. While I've always been passionate about it, in my other life I'm a firmware engineer working with Embedded Systems in Corporate world. I would appreciate any guidance and feedback, I'll take it and don't mind redoing any work. I see RepoBar is aimed at Github sign in only. Is this intentional or is it okay to add local repo support? As for worktree visualization, I want to add a graph visualization and a clean up script to analyze worktrees and give insights for which ones might be ready to clean up, and provide a clean up option. This is to mitigate having worktrees by Claude and Github Copilot (and any other agents) where when it's done working on a task, it doesn't clean up. The issue could also be solved with a prompt file or simple agent Skill. Where the RepoBar will run its scripts to find worktrees, user selects one to clean up, and if they want more than nuke clean up, they can copy a prompt with paths and pass to an agent to do the job. Maybe overshooting here, but the clean up script (no AI or prompts) should be a good start. Please let me know what you think and I'll move forward. Cheers, |
|
Here's a current view of the local filter. In the later part of the video, I show the options and views I'm planning to add to RepoBar, along with the cleanup analysis and graph view. Currently running on a notch type app I'm working on, but same should be possible in RepoBar as well. Untitled.video-1_19_2026.4_58.PM.mp4 |
Summary
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.
Changes
localcase toMenuRepoSelectionenum withisLocalScopepropertyRepositoryDisplayModelinitializer for local-only reposLocalRepoManagerto scan ALL discovered repos, not just GitHub-matching onesrepo.idfor menu cache keys instead ofrepo.title(fixes duplicate name issues)fullNameentries inLocalRepoIndex(worktrees share same remote)Test plan
🤖 Generated with Claude Code