Description
Add workspace functionality for organizing and managing multiple Git repositories as logical groups, improving workflow for projects spanning multiple repos.
Features
Workspace Management
- Create named workspaces
- Add repositories to workspace
- Remove repositories from workspace
- Rename workspaces
- Delete workspaces
- Import/export workspace definitions
Workspace Types
- Local Workspaces - Stored locally, machine-specific
- Cloud Workspaces - Synced across devices (optional cloud service)
- Solution-linked - Auto-detect repos in solution folder
Workspace View
- List all workspaces
- Expand to see repositories in each
- Repository status indicators (clean/dirty/ahead/behind)
- Quick actions per repository
- Bulk operations on workspace repos
Repository Actions (Per Workspace)
- Fetch all repositories
- Pull all repositories
- View combined status
- Open repository in new window
- Remove from workspace
Auto-Discovery
- Scan folder for Git repositories
- Add all repos in solution
- Smart detection of related repos
Workspace Definition
{
"name": "My Project",
"repositories": [
{ "path": "C:/repos/frontend", "name": "Frontend" },
{ "path": "C:/repos/backend", "name": "Backend" },
{ "path": "C:/repos/shared", "name": "Shared Libs" }
]
}
Configuration Options
- Default workspace location
- Auto-detect repositories toggle
- Cloud sync settings (if applicable)
- Workspace file format
Related Issues
Note: This feature extends the single-repository management capabilities from #10 to support multiple repositories organized into workspaces. Individual repository features from #10 apply to each repo within a workspace.
Acceptance Criteria
Description
Add workspace functionality for organizing and managing multiple Git repositories as logical groups, improving workflow for projects spanning multiple repos.
Features
Workspace Management
Workspace Types
Workspace View
Repository Actions (Per Workspace)
Auto-Discovery
Workspace Definition
{ "name": "My Project", "repositories": [ { "path": "C:/repos/frontend", "name": "Frontend" }, { "path": "C:/repos/backend", "name": "Backend" }, { "path": "C:/repos/shared", "name": "Shared Libs" } ] }Configuration Options
Related Issues
Acceptance Criteria