Skip to content

ThreeFish-AI/hyper-git

Repository files navigation

Hyper Git

Hyper Git

A unified Git change-management and commit workflow for VS Code — multi-changelist grouping, a hand-built commit panel, a hand-rendered commit graph, Shelf, and line-level commits, with architectural seams reserved for future AI-driven Git agents.

CI License: MIT VS Code >= 1.85

English · 简体中文

6 views · 97 commands · 6 settings · 324 unit tests

Features

Overview

  • Multi-Changelist Changes view: group edits into named lists, mark one as the active commit target, create / rename / delete / move lists, persisted in workspaceState (restored across restarts); status colors reuse the gitDecoration.* theme tokens.
  • Commit panel: a hand-built commit view with real-time Conventional Commits validation, Amend / Sign-off / skip hooks, and Commit / Commit & Push; the checkbox selection is the authoritative commit scope, and recent messages are reusable.
  • Log commit graph (hand-rendered DAG): colored swimlanes, branch/merge edges, HEAD/branch/tag badges, virtualized incremental loading; 7 composable filters (author / path / grep / regex / merge-mode / date / clear); per-commit actions (Reset, new branch·tag, Cherry-Pick, Revert, list containing branches).
  • Branches management: favorites / local / remote / tags grouped into four sections with ahead·behind·upstream tracking; create / checkout / delete / rename / merge / rebase / compare / favorite; multi-select batch delete, copy ref, and favorite (with an honest merged/unmerged split confirmation).
  • Stash & Shelf: full stash operations (including keep-index / clear / create branch from stash); a standalone Shelf (patch-based, independent of stash, with 3-way merge Unshelve).
  • Worktrees: full-lifecycle management — create (new branch / checkout / detached), open in a new window, lock / unlock, move, remove, and prune stale entries.
  • Line-level & hunk commits: in-editor "Commit this Hunk" CodeLens, partial stage / unstage, stage at cursor, and hunk-to-changelist attribution.
  • Remote & conflicts: Pull / Push / Fetch plus Push… / Update… / Merge… dialogs (force-with-lease / rebase / squash, etc.) and a hand-built 3-way Merge Editor with conflict-resolution fallbacks.
  • History editing: Cherry-Pick, Revert, Reset, interactive Rebase, Undo / Drop / Fixup / Reword.
  • More: inline Blame annotations, patch export / apply, Reflog, 3-way diff overview, Discard, and Diff (HEAD ↔ Working).

Architecture (Path B: Consume + Hand-render)

  • Consumes the stable Repository API exported by the built-in vscode.git extension as its Git foundation, rather than rebuilding a Git state machine.
  • Controlled CLI channel: capabilities the stable API does not cover (cherry-pick / revert / reset / branch rename / hunk staging / stash listing / graph topology / shelf, etc.) run through GitRepositoryService.execGit, reusing the same Git binary (api.git.path).
  • Hand-rendered views carry the full change-management UI (webviews live under adapter/webview/); pure logic is distilled into engine/ (zero vscode dependency, unit-testable).
  • AI seams: 5 interfaces (ILlmProvider / ICommitMessageProvider / IPreCommitInspector / IChangelistGrouper / IConflictResolver) are reserved (design inspired by JetBrains' CheckinHandler commit lifecycle), currently shipped as Null implementations; the full implementation is deferred to M5.

Framework

Install

  • Manual (recommended for now): download hyper-git-agentic-git-x.x.x.vsix from Releases → run Extensions: Install from VSIX in the Command Palette.
  • VS Code Marketplace: search for Hyper Git - Agentic Git.
  • Requirements: VS Code ≥ 1.85.0 with the built-in Git extension enabled (vscode.git, bundled by default). Local Git repositories only — virtual / Web workspaces are not supported.

Known Limitations

  • Button-UI wiring for the commit panel's Co-authored-by / Author override (--author) / undo-latest-commit (the engine trailer is ready; only the webview interaction is missing).
  • Partial multi-file selection UX and line-level split chunks (splitting a commit by selected lines).
  • Directory / folder diff (virtual documents) and Submodules management.
  • The M5 AI agent (all 5 seams are pre-wired with Null implementations; not started in this release).

See the Engineering Plan, the Implementation Status overview, and the Knowledge Map for details.

Roadmap

Milestone Theme Status
M0 Scaffolding + CI
M1 Git adapter + Changes TreeView (multi-changelist)
M2 Commit panel (template / Amend / CC validation / hook chain)
M3 Log (Graph DAG) + Branches + Diff/Blame
M4 Stash / Shelf / line-level commits / Worktrees
M5 AI agent (seams reserved, implementation pending)

Development

pnpm install                  # install dependencies
pnpm run compile              # type-check + lint + build
pnpm run watch                # watch build (press F5 to launch the Extension Host debugger)
pnpm run test:unit            # unit tests (pure engine logic, Vitest, 324 cases)
pnpm run test:integration     # integration tests (@vscode/test-electron)
pnpm run package              # production build
pnpm dlx @vscode/vsce package # package the .vsix

Packaging and publishing with vsce (@vscode/vsce):

pnpm dlx @vscode/vsce package
# hyper-git-agentic-git-x.x.x.vsix generated
pnpm dlx @vscode/vsce publish
# ThreeFish-AI.hyper-git-agentic-git-x.x.x published to VS Code Marketplace
  • Layering: engine/ (pure logic) → adapter/ (the sole layer touching the vscode API, including the hand-rendered adapter/webview/ UI); agent/ is injected into engine/ via interfaces and never depends on the UI; shared/protocol.ts is the single source of truth for the Webview ↔ Host contract.
  • Release: a v* tag triggers CI to produce a GitHub Release (with the .vsix attached; the body is drawn from docs/releases/) and publish to the VS Code Marketplace (gated by the ENABLE_MARKETPLACE_PUBLISH variable; rc tags go to the pre-release channel).
  • Package management and scripts standardize on pnpm (per the AGENTS.md engineering conventions). Version history is tracked in the Changelog. See the documentation hub for the full docs.

Built with 🧠, ❤️, and an absurd amount of coffee by ThreeFish-AI · Released under the MIT License.

About

HyperGit brings IntelliJ IDEA's powerful Git & Commit modules to VS Code, enhanced with AI-powered autonomous agents for intelligent repository management. Experience Git in a higher dimension.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors