Standalone Git header plugin for DeepSeek Harness.
The plugin shows workspace changes and line deltas, handles loading and Host errors without disappearing, supports an editable commit message, commits all workspace changes only after an explicit click, and offers push only when there are unpushed commits.
Version 0.3.0 adds a complete first-use workflow for workspaces that do not have their own Git repository:
- the header control uses a neutral Set up Git state instead of presenting the folder as an error;
- the workspace can be initialized directly from the status panel;
- an existing GitHub repository can be connected as
originwith an HTTPS or SSH URL; - the first push configures upstream automatically, while later pushes use the existing upstream;
- repository-root checks prevent a nested workspace from staging or committing files from an enclosing repository;
- expected Git setup states are detected without depending on localized Git diagnostics or shell-specific exit-code propagation.
Version 0.3.1 made the GitHub package installable without running build scripts. Version 0.3.2 makes repository probes portable across Bash and PowerShell, whose process wrapper normalizes native Git failures to exit code 1. Version 0.3.3 removes the external clsx runtime dependency and uses a small local class-name helper, so the client plugin can start in isolated installations.
A workspace that is not yet a Git repository is treated as a normal first-use state rather than an error. Open the neutral Set up Git control to follow this flow:
- Initialize repository runs
git initin the workspace. - Connect GitHub adds an existing GitHub repository as remote
origin. - Commit all stages and commits the workspace changes after an explicit click.
- Push to Git performs the first
git push -u origin HEAD; later pushes use the configured upstream.
Connect GitHub accepts standard https://github.com/owner/repository[.git] and git@github.com:owner/repository[.git] URLs. It does not accept embedded credentials, overwrite an existing origin, or create a repository through the GitHub API.
Use an immutable tag or commit in production:
dsh plugin --profile web add github:vornashev/dsh-simple-git#v0.3.3
dsh --profile webFor local development:
dsh plugin --profile web add link:D:/deepseek-harness-plugins/dsh-simple-git
dsh --profile webRestart the Host after changing the plugin. The profile must not load another plugin that owns the same Git UI or route.
Initialize, connect, commit, and push are always explicit user actions. The Host executes Git with danger-full-access, so repository hooks can run code with Host permissions; install this plugin only for workspaces you trust. Commit intentionally stages all workspace changes in the MVP. Selective staging, diff browsing, branch management, pull/fetch, reset, revert, force-push, GitHub OAuth, and GitHub repository creation are not included.
The plugin uses the private-to-this-plugin Host Connection /simple-git channel, avoiding collisions with other Git integrations.