{"id":35515814,"url":"https://github.com/marcus/sidecar","last_synced_at":"2026-04-02T11:49:30.712Z","repository":{"id":330601815,"uuid":"1123331936","full_name":"marcus/sidecar","owner":"marcus","description":"Use sidecar next to CLI agents for diffs, file trees, conversation history, and task management with td","archived":false,"fork":false,"pushed_at":"2026-02-09T05:56:26.000Z","size":31110,"stargazers_count":204,"open_issues_count":6,"forks_count":9,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-09T11:41:59.349Z","etag":null,"topics":["agentic-ai","agentic-workflows","claude-code","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-12-26T16:45:25.000Z","updated_at":"2026-02-09T11:33:36.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/marcus/sidecar","commit_stats":null,"previous_names":["marcus/sidecar"],"tags_count":102,"template":false,"template_full_name":null,"purl":"pkg:github/marcus/sidecar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcus%2Fsidecar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcus%2Fsidecar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcus%2Fsidecar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcus%2Fsidecar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcus","download_url":"https://codeload.github.com/marcus/sidecar/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcus%2Fsidecar/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29499815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T03:57:51.541Z","status":"ssl_error","status_checked_at":"2026-02-16T03:55:59.854Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","agentic-workflows","claude-code","tui"],"created_at":"2026-01-03T22:30:29.514Z","updated_at":"2026-04-02T11:49:30.705Z","avatar_url":"https://github.com/marcus.png","language":"Go","funding_links":[],"categories":["Agent Infrastructure","Go"],"sub_categories":["Multi-Agent Orchestration"],"readme":"# Sidecar\n\nYou might never open your editor again.\n\n**Status: Ready for daily use.** Please [report any issues](https://github.com/marcus/sidecar/issues) you encounter.\n\n[Documentation](https://marcus.github.io/sidecar/) · [Getting Started](https://marcus.github.io/sidecar/docs/intro)\n\n![Git Status](docs/screenshots/sidecar-git.png)\n\n## Overview\n\nSidecar puts your entire development workflow in one shell: plan tasks with [td](https://github.com/marcus/td), chat with AI agents, review diffs, stage commits, review past conversations, and manage workspaces—all without leaving Sidecar.\n\n## Quick Install\n\n### macOS (recommended)\n\n```bash\nbrew install marcus/tap/sidecar\n```\n\nThis builds from source and avoids macOS Gatekeeper warnings.\n\n### Linux / Other\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/marcus/sidecar/main/scripts/setup.sh | bash\n```\n\n**More options:** [Binary downloads](https://github.com/marcus/sidecar/releases) · [Manual install](docs/getting-started.md)\n\n## Requirements\n\n- macOS, Linux, or WSL\n- Go 1.21+ (only if building from source)\n\n## Quick Start\n\nAfter installation, run from any project directory:\n\n```bash\nsidecar\n```\n\n## Suggested Use\n\nSplit your terminal horizontally: run your coding agent (Claude Code, Cursor, etc.) on the left and sidecar on the right.\n\n```\n┌─────────────────────────────┬─────────────────────┐\n│                             │                     │\n│   Claude Code / Cursor      │      Sidecar        │\n│                             │                     │\n│   $ claude                  │   [Git] [Files]     │\n│   \u003e fix the auth bug...     │   [Tasks] [Workspaces]│\n│                             │                     │\n└─────────────────────────────┴─────────────────────┘\n```\n\n**Tip:** You can run two sidecar instances side-by-side to create a dashboard view. For example, keep one on the [Tasks] plugin and the other on [Git] or [Workspaces] to monitor everything at once.\n\nAs the agent works, you can:\n\n- Watch tasks move through the workflow in TD Monitor\n- See files change in real-time in the Git plugin\n- Browse and edit code yourself in the File Browser\n- View and resume conversations across all supported agent adapters\n- Switch between built-in and community themes with live previews\n\nThis setup gives you visibility into what the agent is doing without interrupting your workflow. The entire dev loop—planning, monitoring, reviewing, committing—happens in the terminal while agents write the code.\n\n## Usage\n\n```bash\n# Run from any project directory\nsidecar\n\n# Specify project root\nsidecar --project /path/to/project\n\n# Enable debug logging\nsidecar --debug\n\n# Check version\nsidecar --version\n```\n\n## Updates\n\nSidecar checks for updates on startup. When a new version is available, a toast notification appears. Press `!` to open the diagnostics modal and see the update command.\n\n## Plugins\n\n### Git Status\n\nView staged, modified, and untracked files with a split-pane interface. The sidebar shows files and recent commits; the main pane shows syntax-highlighted diffs. [Full documentation →](https://marcus.github.io/sidecar/docs/git-plugin)\n\n![Git Status with Diff](docs/screenshots/sidecar-git.png)\n\n**Features:**\n\n- Stage/unstage files with `s`/`u`\n- View diffs inline or full-screen with `d`\n- Toggle side-by-side diff view with `v`\n- Browse commit history and view commit diffs\n- Auto-refresh on file system changes\n\n### Conversations\n\nBrowse session history from multiple AI coding agents with message content, token usage, and search. Supports Amp Code, Claude Code, Codex, Cursor CLI, Gemini CLI, GitHub Copilot CLI, Kiro, OpenCode, Pi Agent, and Warp. [Full documentation →](https://marcus.github.io/sidecar/docs/conversations-plugin)\n\n![Conversations](docs/screenshots/sidecar-conversations.png)\n\n**Features:**\n\n- Unified view across all supported agents\n- View all sessions grouped by date\n- Search sessions with `/`\n- Expand messages to see full content\n- Track token usage per session\n\n### TD Monitor\n\nIntegration with [TD](https://github.com/marcus/td), a task management system designed for AI agents working across context windows. TD helps agents track work, log progress, and maintain context across sessions—essential for AI-assisted development where context windows reset between conversations. [Full documentation →](https://marcus.github.io/sidecar/docs/td)\n\n![TD Monitor](docs/screenshots/sidecar-td.png)\n\n**Features:**\n\n- Current focused task display\n- Scrollable task list with status indicators\n- Activity log with session context\n- Quick review submission with `r`\n\nSee the [TD repository](https://github.com/marcus/td) for installation and CLI usage.\n\n### File Browser\n\nNavigate project files with a tree view and syntax-highlighted preview. [Full documentation →](https://marcus.github.io/sidecar/docs/files-plugin)\n\n![File Browser](docs/screenshots/sidecar-files.png)\n\n**Features:**\n\n- Collapsible directory tree\n- Code preview with syntax highlighting\n- Auto-refresh on file changes\n\n### Workspaces\n\nManage workspaces for parallel development with integrated agent support. Create isolated branches as sibling directories, link tasks from TD, and launch coding agents directly from sidecar. [Full documentation →](https://marcus.github.io/sidecar/docs/workspaces-plugin)\n\n![Workspaces](docs/screenshots/sidecar-workspaces.png)\n\n**Features:**\n\n- Create and delete workspaces with `n`/`D`\n- Link TD tasks to workspaces for context tracking\n- Launch coding agents (Claude, Codex, Gemini, Cursor, OpenCode, Pi) with `a`\n- Merge workflow: commit, push, create PR, and cleanup with `m`\n- Auto-adds sidecar state files to .gitignore\n- Preview diffs and task details in split-pane view\n\n## Project Switcher\n\nPress `@` to switch between configured projects without restarting sidecar.\n\n1. Add projects to `~/.config/sidecar/config.json`:\n\n```json\n{\n  \"projects\": {\n    \"list\": [\n      { \"name\": \"sidecar\", \"path\": \"~/code/sidecar\" },\n      { \"name\": \"td\", \"path\": \"~/code/td\" },\n      { \"name\": \"my-app\", \"path\": \"~/projects/my-app\" }\n    ]\n  }\n}\n```\n\n2. Press `@` to open the project switcher modal\n3. Select with `j/k` or click, press `Enter` to switch\n\nAll plugins reinitialize with the new project context. State (active plugin, cursor positions) is remembered per project.\n\n## Worktree Switcher\n\nPress `W` to switch between git worktrees within the current repository. When you switch away from a project and return later, sidecar remembers which worktree you were working in and restores it automatically.\n\n## Themes\n\nPress `#` to open the theme switcher. Choose from built-in themes (default, dracula) or press `Tab` to browse 453 community color schemes derived from iTerm2-Color-Schemes.\n\nThe community browser supports search filtering, live preview as you navigate, and color swatches for each scheme. Press `Enter` to save a scheme as your active theme.\n\nSee [Theme Creation Skill](.claude/skills/create-theme/SKILL.md) for custom theme creation and color palette reference.\n\n## Keyboard Shortcuts\n\n| Key                 | Action                           |\n| ------------------- | -------------------------------- |\n| `q`, `ctrl+c`       | Quit                             |\n| `@`                 | Open project switcher            |\n| `W`                 | Open worktree switcher           |\n| `#`                 | Open theme switcher              |\n| `tab` / `shift+tab` | Navigate plugins                 |\n| `1-9`               | Focus plugin by number           |\n| `j/k`, `↓/↑`        | Navigate items                   |\n| `ctrl+d/u`          | Page down/up in scrollable views |\n| `g/G`               | Jump to top/bottom               |\n| `enter`             | Select                           |\n| `esc`               | Back/close                       |\n| `r`                 | Refresh                          |\n| `?`                 | Toggle help                      |\n\n### Git Status Shortcuts\n\n| Key   | Action                    |\n| ----- | ------------------------- |\n| `s`   | Stage file                |\n| `u`   | Unstage file              |\n| `d`   | View diff (full-screen)   |\n| `v`   | Toggle side-by-side diff  |\n| `h/l` | Switch sidebar/diff focus |\n| `c`   | Commit staged changes     |\n\n### Workspace Shortcuts\n\n| Key | Action                  |\n| --- | ----------------------- |\n| `n` | Create new workspace     |\n| `D` | Delete workspace         |\n| `a` | Launch/attach agent     |\n| `t` | Link/unlink TD task     |\n| `m` | Start merge workflow    |\n| `p` | Push branch             |\n| `o` | Open in finder/terminal |\n\n## Configuration\n\nConfig file: `~/.config/sidecar/config.json`\n\n```json\n{\n  \"plugins\": {\n    \"git-status\": { \"enabled\": true, \"refreshInterval\": \"1s\" },\n    \"td-monitor\": { \"enabled\": true, \"refreshInterval\": \"2s\" },\n    \"conversations\": { \"enabled\": true },\n    \"file-browser\": { \"enabled\": true },\n    \"workspaces\": { \"enabled\": true }\n  },\n  \"ui\": {\n    \"showClock\": true,\n    \"theme\": {\n      \"name\": \"default\",\n      \"overrides\": {}\n    }\n  }\n}\n```\n\n## Contributing\n\n- **Bug reports**: [Open an issue](https://github.com/marcus/sidecar/issues)\n- **Feature requests**: Check the [Sidecar Roadmap](https://github.com/users/marcus/projects/3) for planned features and backlog\n\n## Development\n\n```bash\nmake build        # Build to ./bin/sidecar\nmake test         # Run tests\nmake test-v       # Verbose test output\nmake install-dev  # Install with git version info\nmake fmt          # Format code\nmake fmt-check    # Verify formatting for changed Go files\nmake fmt-check-all # Verify formatting across full codebase\nmake lint         # Lint new issues only (merge-base with main)\nmake lint-all     # Lint entire codebase (includes legacy debt)\nmake install-hooks # Install pre-commit hooks (gofmt, go vet, go build)\n```\n\n### Go Lint Baseline\n\n- Formatting: changed Go files must be `gofmt`-clean (`make fmt-check`)\n- Correctness lint: `errcheck`, `govet`, `ineffassign`, `staticcheck`, `unused`\n- Enforcement: CI runs tests and blocks new lint issues on PRs (`.github/workflows/go-ci.yml`)\n- Debt tracking: run `make lint-all` to measure and burn down legacy lint debt\n\n## Privacy\n\nSidecar runs locally and makes no telemetry, analytics, or tracking requests. The only network calls are GitHub API version checks on startup (cached for 3 hours) and user-initiated changelog fetches. See [PRIVACY.md](PRIVACY.md) for full details on data access, file reads/writes, and network behavior.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcus%2Fsidecar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcus%2Fsidecar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcus%2Fsidecar/lists"}