ClaudeMods
☰
EN
● 0 online · Views 0 times
SponsorsSubmit a project
Reddit posts · by mnfctrd

I built a VS Code-style Source Control panel for Claude Code, as a Claude Code mod

A Reddit post showcasing a Claude Code mod that adds a VS Code-style Source Control panel: a status band above the chat box (branch, pull/push counts, changed files) with one context-aware action button, plus a side panel for staging, committing, history graph, branches, worktrees and stashes. Merge conflicts get a dedicated section that can be handed to Claude. Install via /plugin marketplace add manuel-will/cc-source-control and /plugin install source-control@cc-source-control; needs Claude Code 2.1.287+. MIT licensed, English and German, repo link said to be in the first comment.

Translated

About this mod

The author describes building the mod starting from the Claude Code mods guide and the built-in /diff mod as a design reference: a plan was written first, then implemented over 41 commits in five days. Tests were run with claude plugin test plus real terminal sessions covering conflict pulls, detached HEAD, offline and first-commit states, and a playground script produced 15 repo states for automated desktop-app screenshot verification. Notable findings: mods can only draw in fixed places (the left sidebar is off-limits), Claude Code runs git for mods with repo hooks disabled so Husky-style hooks are skipped and the panel says so, SVG <line>/CSS-class graphs didn't render in the desktop app and were rebuilt with paths and circles, Chromium doesn't repaint covered windows so screenshots went stale, and redrawing on every status poll broke clicks until 0.7.1 limited redraws to visible changes. Only non-destructive actions are offered: no force push, no reset.

Installation

See the original source for installation instructions.

Original text / README

What it is Claude Code shows the chat, but not where your repo stands. I kept switching to a terminal just to see whether I had to pull or push. So I built a mod for Claude Code (desktop app and terminal, needs 2.1.287 or newer): A band above the chat box: branch, ↓ commits to pull, ↑ commits to push, changed files. One main button does what is due (Sync, Commit, Publish, Resolve). A panel beside the chat: stage and commit, a VS Code-style history graph, branches, worktrees, stashes. Merge conflicts get their own section, and one click hands them to Claude. Background fetch, and only non-destructive actions. No force push, no reset, nothing discarded. How Claude Code built it It started from the "Getting started with Claude Code mods" guide. The source of the built-in /diff mod served as the design reference, so the mod looks native. Plan first: Claude wrote a plan into the repo (states, buttons, what a mod can and can't draw), I decided the open questions, then it implemented. 41 commits from 0.1 to 0.7.1 in five days. Tests run with claude plugin test (git parsing, the history graph). On top of that Claude drove real terminal sessions through every state: pull with conflict, detached HEAD, offline, first commit. The desktop app was the hard part to verify. Claude wrote a playground script that puts a throwaway repo into 15 states (behind, diverged, conflict, worktrees and so on) and a screenshot tour that photographs the Claude Desktop window for each one. Claude then checked its own UI from the pictures. What I learned Mods draw only in fixed places. The left project sidebar of the desktop app is off limits, so the panel on the right replaces it. Claude Code runs git for mods with repo hooks turned off. If your repo uses Husky or similar, a commit from the mod skips them, and the panel says so. The first desktop screenshots showed an empty history. The graph SVG used <line> elements and CSS classes, and the desktop app didn't draw them. Rebuilt with paths and circles only, it showed up. Chromium doesn't repaint a covered window. The automated screenshots went stale until the script brought the window to the front before each shot. Redrawing on every status poll made clicks unreliable. 0.7.1 only redraws when something visible changes. Install /plugin marketplace add manuel-will/cc-source-control /plugin install source-control@cc-source-control English and German, MIT licensed. Repo with screenshots and a 30-second demo: link in the first comment. I'd like to hear what's missing, especially from people who juggle one repo across several machines. submitted by /u/mnfctrd [link] [comments]

Similar projects