project-switching

Featured

Project switching implementation in sidecar: project discovery, state management, UI flow, modal rendering, filtering, theme preview, and plugin reinitialization. Use when working on the project switcher feature, project management, worktree switching, or the project configuration system.

AI & Automation 1,041 stars 80 forks Updated today MIT

Install

View on GitHub

Quality Score: 95/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Project Switching Switch between git repositories without restarting sidecar. Press `@` to open the project switcher modal. ## Architecture Overview The project switcher uses the app's declarative modal library (`internal/modal/`) for rendering and mouse handling. ### Key Files | File | Contents | |------|----------| | `internal/app/model.go` | State, init, reset, filter, switch, theme preview | | `internal/app/update.go` | Keyboard and mouse handlers | | `internal/app/view.go` | Modal building and section rendering | | `internal/modal/` | Modal library (builder, sections, layout) | | `internal/config/types.go` | ProjectConfig struct | | `internal/config/loader.go` | Config loading with path validation | ### Model State ```go // internal/app/model.go showProjectSwitcher bool projectSwitcherCursor int projectSwitcherScroll int projectSwitcherInput textinput.Model projectSwitcherFiltered []config.ProjectConfig projectSwitcherModal *modal.Modal // Cached modal instance projectSwitcherModalWidth int // Width for cache invalidation projectSwitcherMouseHandler *mouse.Handler ``` ## Project vs Worktree Switching - **Project Switching** (`@`): Switch between configured projects from `config.json` (arbitrary repos) - **Worktree Switching** (`W`): Switch between git worktrees within the current repository ## Configuration Projects are configured in `~/.config/sidecar/config.json`: ```json { "projects":...

Details

Author
marcus
Repository
marcus/sidecar
Created
7 months ago
Last Updated
today
Language
Go
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

worktree-switching

Git worktree support in sidecar: worktree detection, switching between worktrees, worktree state management, and plugin reinitialization. Covers the full lifecycle of worktree context switching including registry reinit, per-worktree state persistence, deleted worktree detection and fallback. Use when working on git worktree features or worktree-related functionality.

1,041 Updated today
marcus
AI & Automation Solid

project-manager

Manage project-scoped knowledge bases with notes, decisions, and bookmarks. Use when the user wants to create/manage projects, add/view/search notes or decisions for a project, manage bookmarks (add, list, tag to projects), switch project context for conversation, or search across projects. Triggers on phrases like "project", "bookmark", "add a note to", "let's talk about [project]", "switch to [project]", "list projects", "search projects".

36 Updated today
OpenCoven
Data & Documents Listed

project-portfolio

Use this skill when the user is thinking about their work across many projects at once, over time, rather than the single repo or file in front of them. Trigger it when they ask where things stand across everything they're juggling, what to focus on or do next, or for a weekly/periodic review of what's in flight or gone stale; when they want to start keeping track of ongoing efforts scattered across folders (side projects, a job hunt, open pull requests, writing, personal goals) so they stop losing the thread; when they check whether anything changed since they last synced or need to respond to; when they report progress on a weeks-or-months-long effort; or when they wrap up a session and say to log, save, or remember where they left off. This is a persistent, cross-session tracker for long-lived work — not for planning a single task, one-repo status, or one-off questions about the current codebase.

1 Updated 1 weeks ago
mc856