JFWaskin/dsh-git-nexus
Git and GitHub panel for the DSH web profile: stage/unstage/discard/diff, branches, commit, push/pull/sync, log, file browser, workflow board, and GitHub OAuth with PR creation.
dsh-git-nexus is a single self-contained DSH web plugin that merges git management (SCM change panel + branch management from the popular dsh-web-ui plugin) with GitHub access, a workflow board and file browsing in one panel: Changes (working-tree status, per-file diff, stage/unstage/discard, commit), Branches (list/switch/create/delete), Remote (push/pull/sync/fetch), a bounded structured commit Log, Files (tracked files with search, read any text file), a persistent Workflow step board (Claude Code-style plan tracking), and GitHub (device-flow login, scope seal, PR creation). Every git/file command runs through a fresh /bin/sh -c child with a 30s timeout and 2 MiB output cap; branch names, paths and commit messages are shell-quoted with control characters rejected; GitHub tokens live only under ~/.dsh/storages/dsh-git-nexus/ with 0600 permissions.
Install
dsh plugin --profile web add "file:/absolute/path/to/dsh-git-nexus"README EN verified 2026-09-02 (repo JFWaskin/dsh-git-nexus). Self-contained web plugin; install per README: clone the repo, then dsh plugin --profile web add "file:/absolute/path/to/dsh-git-nexus" and restart dsh web. Appears under Settings → Plugins and as a panel pill in the session header of git-managed workspaces. Targets DSH 0.1.0-rc.6 (web profile) and ships a strict Typert host manifest. GitHub OAuth uses the device flow (any OAuth App client id works; callback ignored) or an already-authenticated gh CLI. Community plugin under the dsh-plugin topic.
Compatibility
DSH 0.1.0-rc.6 web profile; strict Typert host manifest; GitHub OAuth device flow (scopes repo, workflow, read:user, user:email) or gh CLI.
Details
- Repo: JFWaskin/dsh-git-nexus
- Category: Development & Runtime
- Stars: 1
- Version: git github:JFWaskin/dsh-git-nexus
- Last push: 2026-08-16
- First seen: 2026-08-16
Recent updates
SCM change panel + branches + remote + log; file browser; workflow step board; GitHub device-flow OAuth (revocable, 0600 token store) or gh CLI; shell-quoted, capped commands.
FAQ
- How does GitHub login work?
- Device flow: paste an OAuth App client id (any name/homepage/callback works — the callback is ignored), click Connect, open the printed URL and enter the user code. If the gh CLI is already authenticated, the plugin uses it and no client id is needed.
- Where are GitHub tokens stored?
- Under ~/.dsh/storages/dsh-git-nexus/ with 0600 permissions, requesting repo, workflow, read:user and user:email scopes (revocable from GitHub).
- Which DSH version does it target?
- DSH 0.1.0-rc.6 (web profile), shipped with a strict Typert host manifest.
Alternatives
PerryLink/dsh-github · LJH-snow/dsh-tool-github · Wongzexu/dsh-git-status