diff --git a/README.md b/README.md index f6512c6..e0066d1 100644 --- a/README.md +++ b/README.md @@ -44,9 +44,14 @@ - **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. As pre-M5 groundwork, a **Claude Code executable path** setting (`hyperGit.claudeCode.executablePath`) and a **`~/.claude/settings.json` shortcut** are already configurable — see [Claude Code configuration](./docs/features/claude-code-config.md); plus **`hyperGit.agent.*` preferences** (base branch + Commit / Create PR / Review agent instructions) — see [Agentic Git preferences](./docs/features/agentic-git-preferences.md).

- Framework + + + Hyper Git core architecture layers: Views layer (Commit/Graph webviews plus four TreeViews in the bottom-panel hyper-git container), Adapter layer (GitRepositoryService dual-channel vscode.git API + execGit, webview hosts, command groups, repo-scoped domain state), Engine layer (15 pure-logic modules, zero vscode dependency), Agent layer (5 AI seams, currently Null implementations), on top of the vscode.git built-in extension and the git CLI +

+> [Interactive diagram](./docs/assets/architecture/architecture/engineering-plan-layers-en.html) · [Mermaid source](./docs/assets/mermaid/architecture/engineering-plan-layers-en.mmd) (asset provenance: [diagram index](./docs/assets/mermaid/README.md)) + ## Install - **Manual (recommended for now)**: download `hyper-git-agentic-git-x.x.x.vsix` from [Releases](https://github.com/ThreeFish-AI/hyper-git/releases) → run `Extensions: Install from VSIX` in the Command Palette. @@ -65,14 +70,14 @@ See the [Engineering Plan](./docs/architecture/engineering-plan.md), the [Implem ## 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) | ⏳ | +

+ + + Hyper Git roadmap M0 to M5: M0 Scaffolding + CI, M1 Git adapter + multi-changelist Changes, M2 Commit panel, M3 Log graph + Branches + Diff/Blame, M4 Stash / Shelf / line-level commits / Worktrees — all shipped; M5 AI agent (seams reserved) pending + +

+ +> [Interactive diagram](./docs/assets/architecture/milestones/roadmap-milestones-en.html) · [Mermaid source](./docs/assets/mermaid/milestones/roadmap-milestones-en.mmd) · Full delivery ledger: [Implementation Status](./docs/milestones/implementation-status.md) ## Development diff --git a/docs/assets/architecture/README.md b/docs/assets/architecture/README.md index b84abf9..97b61d2 100644 --- a/docs/assets/architecture/README.md +++ b/docs/assets/architecture/README.md @@ -16,7 +16,8 @@ ### architecture/(工程蓝图) | 基名 | archify 类型 | 源 Mermaid | 嵌入文档 | |---|---|---|---| -| [engineering-plan-layers](architecture/engineering-plan-layers.html) | architecture | [engineering-plan-layers.mmd](../mermaid/architecture/engineering-plan-layers.mmd) | [engineering-plan.md](../../architecture/engineering-plan.md) | +| [engineering-plan-layers](architecture/engineering-plan-layers.html) | architecture | [engineering-plan-layers.mmd](../mermaid/architecture/engineering-plan-layers.mmd) | [engineering-plan.md](../../architecture/engineering-plan.md) · [README(中)](../../i18n/zh-CN/README.md) | +| [engineering-plan-layers-en](architecture/engineering-plan-layers-en.html) | architecture | [engineering-plan-layers-en.mmd](../mermaid/architecture/engineering-plan-layers-en.mmd) | [README.md(根,PNG 导出)](../../../README.md) | ### features/(功能特性) | 基名 | archify 类型 | 源 Mermaid | 嵌入文档 | @@ -37,6 +38,12 @@ |---|---|---|---| | [ai-agent-seams-pipeline](research/ai-agent-seams-pipeline.html) | workflow | [.mmd](../mermaid/research/ai-agent-seams-pipeline.mmd) | [05-ai-agent-seams.md](../../research/05-ai-agent-seams.md) | +### milestones/(里程碑路线) +| 基名 | archify 类型 | 源 Mermaid | 嵌入文档 | +|---|---|---|---| +| [roadmap-milestones](milestones/roadmap-milestones.html) | workflow | [roadmap-milestones.mmd](../mermaid/milestones/roadmap-milestones.mmd) | [README(中)](../../i18n/zh-CN/README.md) | +| [roadmap-milestones-en](milestones/roadmap-milestones-en.html) | workflow | [roadmap-milestones-en.mmd](../mermaid/milestones/roadmap-milestones-en.mmd) | [README.md(根,PNG 导出)](../../../README.md) | + ## 绘制规范 1. **语义色彩**:组件类型语义化(前端/后端/外部系统各有专属色相),预留接缝用虚线关系表达;经典预设(classic)保证深浅主题下均高对比。 @@ -52,3 +59,5 @@ ``` 4. **质量门槛**:候选须通过 archify showcase 全检(9 项 artifact 检查零错误零警告)+ `visual-check` 浏览器证据(1440×900 等桌面首屏无溢出)。 5. **变更顺序**:改 Mermaid 源 → 重绘本目录成品 → 更新 [溯源矩阵](../mermaid/README.md)。 +6. **双语变体(`-en` 后缀)**:根 README 为英文时需英文标注图——以 `<基名>-en` 为基名镜像中文版创作(拓扑、节点 id、配色不变,仅译标签;HTML/SVG 为英文 title/aria 与 `lang="en"`);中文版拓扑变更时,`-en` 版与 `media/diagrams/` 导出须同步重绘。无后缀基名即中文默认版。 +7. **根 README PNG 导出(Marketplace 兼容)**:根 `README.md` 同时是扩展店面 README(Marketplace / Open VSX 不渲染 SVG,且 `docs/**` 不入 vsix),故根 README 嵌入 `media/diagrams/<基名>-en.{light,dark}.png`(自交互 HTML 经 `?theme=light/dark` 以 2x 栅格化导出),仍用 `` 模板;`docs/` 下文档一律按模板嵌入 SVG。若发布后 Marketplace 图缺失,回退为 `#gh-dark-mode-only` / `#gh-light-mode-only` 双 `` 片段方案(GitHub 两者均支持,仅需改根 README 嵌入块)。 diff --git a/docs/assets/architecture/architecture/engineering-plan-layers-en.dark.svg b/docs/assets/architecture/architecture/engineering-plan-layers-en.dark.svg new file mode 100644 index 0000000..a38c97d --- /dev/null +++ b/docs/assets/architecture/architecture/engineering-plan-layers-en.dark.svg @@ -0,0 +1,696 @@ + + Hyper Git Core Architecture · Path B (Consume + Hand-render) + An architecture diagram generated by Archify. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Graph (Log) WebviewView · SVG commit graph · detail panel · CI · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Graph (Log) WebviewView + SVG commit graph · detail panel · CI + + + + Commit WebviewView · changelists · commit editor · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Commit WebviewView + changelists · commit editor + + + + Rebase · Merge Editor · Webview panel · serializer restore · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Rebase · Merge Editor + Webview panel · serializer restore + + + + Branches / Stash / Shelf / Worktrees · TreeView · multi-select batches · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Branches / Stash / Shelf / Worktrees + TreeView · multi-select batches + + + + Registry · Favorites · Shelf · CommitService · repo-scoped persistence · Adapter · only layer touching the vscode API + + + + Registry · Favorites · Shelf + CommitService · repo-scoped persistence + + + + webview/ hosts ×4 · shared/protocol.ts message contract · Adapter · only layer touching the vscode API + + + + webview/ hosts ×4 + shared/protocol.ts message contract + + + + GitRepositoryService · sole holder of the active repository · Adapter · only layer touching the vscode API · API + CLI dual channel + + + + GitRepositoryService + sole holder of the active repository + API + CLI dual channel + + + + Command registration ×12 · tree/ · editor/ (blame · CodeLens) · Adapter · only layer touching the vscode API + + + + Command registration ×12 + tree/ · editor/ (blame · CodeLens) + + + + AI seams ×5 · ILlmProvider & 4 more · Null · Agent · reserved AI seams (Null today) · lands in M5 + + + + AI seams ×5 + ILlmProvider & 4 more · Null + lands in M5 + + + + Engine · 15 pure-logic modules · model · diff · commit · changelist · log … · Engine · zero vscode dependency · Vitest-testable + + + + Engine · 15 pure-logic modules + model · diff · commit · changelist · log … + + + + git CLI · child_process · same binary · Architecture component + + + + git CLI + child_process · same binary + + + + vscode.git built-in extension · getAPI(1) → Repository · Architecture component + + + + vscode.git built-in extension + getAPI(1) → Repository + + + + + + postMessage + + + + TreeDataProvider · commands + + + + git operations + + + + state reads + + + + dispatch + + + + domain logic + + + + pure functions + + + + getAPI(1) + + + + execFile + + + + interface injection + + + + hook chain + + + + + + Views · bottom-panel container hyper-git (since v0.0.13) + + + + + Adapter · only layer touching the vscode API + + + + + Agent · reserved AI seams (Null today) + + + + + Engine · zero vscode dependency · Vitest-testable + + + + + Legend + + + Frontend + + + + Backend + + + + External + + + \ No newline at end of file diff --git a/docs/assets/architecture/architecture/engineering-plan-layers-en.html b/docs/assets/architecture/architecture/engineering-plan-layers-en.html new file mode 100644 index 0000000..9ef494b --- /dev/null +++ b/docs/assets/architecture/architecture/engineering-plan-layers-en.html @@ -0,0 +1,15046 @@ + + + + + + + Hyper Git Core Architecture · Path B (Consume + Hand-render) Diagram + + + + + + + + +
+ +
+
+
+

Hyper Git Core Architecture · Path B (Consume + Hand-render)

+
+
+ + + + + + + +
+ + Hyper Git Core Architecture · Path B (Consume + Hand-render) + An architecture diagram generated by Archify. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Graph (Log) WebviewView · SVG commit graph · detail panel · CI · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Graph (Log) WebviewView + SVG commit graph · detail panel · CI + + + + Commit WebviewView · changelists · commit editor · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Commit WebviewView + changelists · commit editor + + + + Rebase · Merge Editor · Webview panel · serializer restore · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Rebase · Merge Editor + Webview panel · serializer restore + + + + Branches / Stash / Shelf / Worktrees · TreeView · multi-select batches · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Branches / Stash / Shelf / Worktrees + TreeView · multi-select batches + + + + Registry · Favorites · Shelf · CommitService · repo-scoped persistence · Adapter · only layer touching the vscode API + + + + Registry · Favorites · Shelf + CommitService · repo-scoped persistence + + + + webview/ hosts ×4 · shared/protocol.ts message contract · Adapter · only layer touching the vscode API + + + + webview/ hosts ×4 + shared/protocol.ts message contract + + + + GitRepositoryService · sole holder of the active repository · Adapter · only layer touching the vscode API · API + CLI dual channel + + + + GitRepositoryService + sole holder of the active repository + API + CLI dual channel + + + + Command registration ×12 · tree/ · editor/ (blame · CodeLens) · Adapter · only layer touching the vscode API + + + + Command registration ×12 + tree/ · editor/ (blame · CodeLens) + + + + AI seams ×5 · ILlmProvider & 4 more · Null · Agent · reserved AI seams (Null today) · lands in M5 + + + + AI seams ×5 + ILlmProvider & 4 more · Null + lands in M5 + + + + Engine · 15 pure-logic modules · model · diff · commit · changelist · log … · Engine · zero vscode dependency · Vitest-testable + + + + Engine · 15 pure-logic modules + model · diff · commit · changelist · log … + + + + git CLI · child_process · same binary · Architecture component + + + + git CLI + child_process · same binary + + + + vscode.git built-in extension · getAPI(1) → Repository · Architecture component + + + + vscode.git built-in extension + getAPI(1) → Repository + + + + + + postMessage + + + + TreeDataProvider · commands + + + + git operations + + + + state reads + + + + dispatch + + + + domain logic + + + + pure functions + + + + getAPI(1) + + + + execFile + + + + interface injection + + + + hook chain + + + + + + Views · bottom-panel container hyper-git (since v0.0.13) + + + + + Adapter · only layer touching the vscode API + + + + + Agent · reserved AI seams (Null today) + + + + + Engine · zero vscode dependency · Vitest-testable + + + + + Legend + + + Frontend + + + + Backend + + + + External + + + +

+ + + + + + + + + +
+ + +
+
+
+
+

Layering contract

+
+
    +
  • • Views reach the Adapter only through shared/protocol.ts
  • +
  • • Adapter alone touches the vscode API; Engine is zero-vscode and Vitest-testable
  • +
+
+ +
+
+
+

Engine · all 15 modules

+
+
    +
  • • Core: model · diff · commit · changelist · log · ref · tree · git-state · scm-mapping
  • +
  • • Extended: ci · merge · rebase · blame · worktree · agent
  • +
+
+ +
+
+
+

Git dual-channel base

+
+
    +
  • • vscode.git getAPI(1) + execFile (same binary) dual channel
  • +
  • • Native Source Control coexists; no competing SCM provider
  • +
+
+ +
+
+
+

AI seams (reserved for M5)

+
+
    +
  • • All 5 seams ship Null, injected via CommitService
  • +
  • • hyperGit.agent.* + claudeCode settings pre-wired, zero behavior change
  • +
+
+
+ +
+ + + + diff --git a/docs/assets/architecture/architecture/engineering-plan-layers-en.light.svg b/docs/assets/architecture/architecture/engineering-plan-layers-en.light.svg new file mode 100644 index 0000000..ce136ae --- /dev/null +++ b/docs/assets/architecture/architecture/engineering-plan-layers-en.light.svg @@ -0,0 +1,696 @@ + + Hyper Git Core Architecture · Path B (Consume + Hand-render) + An architecture diagram generated by Archify. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Graph (Log) WebviewView · SVG commit graph · detail panel · CI · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Graph (Log) WebviewView + SVG commit graph · detail panel · CI + + + + Commit WebviewView · changelists · commit editor · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Commit WebviewView + changelists · commit editor + + + + Rebase · Merge Editor · Webview panel · serializer restore · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Rebase · Merge Editor + Webview panel · serializer restore + + + + Branches / Stash / Shelf / Worktrees · TreeView · multi-select batches · Views · bottom-panel container hyper-git (since v0.0.13) + + + + Branches / Stash / Shelf / Worktrees + TreeView · multi-select batches + + + + Registry · Favorites · Shelf · CommitService · repo-scoped persistence · Adapter · only layer touching the vscode API + + + + Registry · Favorites · Shelf + CommitService · repo-scoped persistence + + + + webview/ hosts ×4 · shared/protocol.ts message contract · Adapter · only layer touching the vscode API + + + + webview/ hosts ×4 + shared/protocol.ts message contract + + + + GitRepositoryService · sole holder of the active repository · Adapter · only layer touching the vscode API · API + CLI dual channel + + + + GitRepositoryService + sole holder of the active repository + API + CLI dual channel + + + + Command registration ×12 · tree/ · editor/ (blame · CodeLens) · Adapter · only layer touching the vscode API + + + + Command registration ×12 + tree/ · editor/ (blame · CodeLens) + + + + AI seams ×5 · ILlmProvider & 4 more · Null · Agent · reserved AI seams (Null today) · lands in M5 + + + + AI seams ×5 + ILlmProvider & 4 more · Null + lands in M5 + + + + Engine · 15 pure-logic modules · model · diff · commit · changelist · log … · Engine · zero vscode dependency · Vitest-testable + + + + Engine · 15 pure-logic modules + model · diff · commit · changelist · log … + + + + git CLI · child_process · same binary · Architecture component + + + + git CLI + child_process · same binary + + + + vscode.git built-in extension · getAPI(1) → Repository · Architecture component + + + + vscode.git built-in extension + getAPI(1) → Repository + + + + + + postMessage + + + + TreeDataProvider · commands + + + + git operations + + + + state reads + + + + dispatch + + + + domain logic + + + + pure functions + + + + getAPI(1) + + + + execFile + + + + interface injection + + + + hook chain + + + + + + Views · bottom-panel container hyper-git (since v0.0.13) + + + + + Adapter · only layer touching the vscode API + + + + + Agent · reserved AI seams (Null today) + + + + + Engine · zero vscode dependency · Vitest-testable + + + + + Legend + + + Frontend + + + + Backend + + + + External + + + \ No newline at end of file diff --git a/docs/assets/architecture/milestones/roadmap-milestones-en.dark.svg b/docs/assets/architecture/milestones/roadmap-milestones-en.dark.svg new file mode 100644 index 0000000..16a7f91 --- /dev/null +++ b/docs/assets/architecture/milestones/roadmap-milestones-en.dark.svg @@ -0,0 +1,544 @@ + + Hyper Git Roadmap · M0-M5 + A workflow diagram generated by Archify. + + + + + + + + + + + + + + + + + + + + + + + + + 01 / Delivery + + + + + Shipped · as of v0.0.18 + + + Planned + + + + + + + + + + + + + + M0 Scaffold + CI · skeleton · 3-platform CI · Delivery › Shipped · as of v0.0.18 + + + + M0 Scaffold + CI + skeleton · 3-platform CI + + + + M1 Git Adapter · multi-changelist Changes · Delivery › Shipped · as of v0.0.18 + + + + M1 Git Adapter + multi-changelist Changes + + + + M2 Commit panel · CC validation · hook chain · Delivery › Shipped · as of v0.0.18 + + + + M2 Commit panel + CC validation · hook chain + + + + M3 Log + Branches · Graph DAG · Diff/Blame · Delivery › Shipped · as of v0.0.18 + + + + M3 Log + Branches + Graph DAG · Diff/Blame + + + + M4 Stash / Shelf · line commits · Worktrees · Delivery › Shipped · as of v0.0.18 + + + + M4 Stash / Shelf + line commits · Worktrees + + + + M5 AI Agent · 5 seams · currently Null · Delivery › Planned · pending + + + + M5 AI Agent + 5 seams · currently Null + pending + + + + + + + + + + pending + + + + + \ No newline at end of file diff --git a/docs/assets/architecture/milestones/roadmap-milestones-en.html b/docs/assets/architecture/milestones/roadmap-milestones-en.html new file mode 100644 index 0000000..df49db3 --- /dev/null +++ b/docs/assets/architecture/milestones/roadmap-milestones-en.html @@ -0,0 +1,14872 @@ + + + + + + + Hyper Git Roadmap · M0-M5 Diagram + + + + + + + + +
+ +
+
+
+

Hyper Git Roadmap · M0-M5

+
+
+ + + + + + + +
+ + Hyper Git Roadmap · M0-M5 + A workflow diagram generated by Archify. + + + + + + + + + + + + + + + + + + + + + + + + + 01 / Delivery + + + + + Shipped · as of v0.0.18 + + + Planned + + + + + + + + + + + + + + M0 Scaffold + CI · skeleton · 3-platform CI · Delivery › Shipped · as of v0.0.18 + + + + M0 Scaffold + CI + skeleton · 3-platform CI + + + + M1 Git Adapter · multi-changelist Changes · Delivery › Shipped · as of v0.0.18 + + + + M1 Git Adapter + multi-changelist Changes + + + + M2 Commit panel · CC validation · hook chain · Delivery › Shipped · as of v0.0.18 + + + + M2 Commit panel + CC validation · hook chain + + + + M3 Log + Branches · Graph DAG · Diff/Blame · Delivery › Shipped · as of v0.0.18 + + + + M3 Log + Branches + Graph DAG · Diff/Blame + + + + M4 Stash / Shelf · line commits · Worktrees · Delivery › Shipped · as of v0.0.18 + + + + M4 Stash / Shelf + line commits · Worktrees + + + + M5 AI Agent · 5 seams · currently Null · Delivery › Planned · pending + + + + M5 AI Agent + 5 seams · currently Null + pending + + + + + + + + + + pending + + + + + +

+ + + + + + + + + +
+ + +
+
+
+
+

Shipped · M0-M4

+
+
    +
  • • All six themes landed: scaffolding / Git adapter / commit panel / Log graph / Stash·Shelf / Worktrees
  • +
  • • 6 views · 102 commands · 403 unit tests (v0.0.18)
  • +
+
+ +
+
+
+

Planned · M5

+
+
    +
  • • AI agent implementation: the 5 seam interfaces move from Null to real
  • +
  • • Claude Code path and hyperGit.agent.* preferences are pre-wired
  • +
+
+
+ +
+ + + + diff --git a/docs/assets/architecture/milestones/roadmap-milestones-en.light.svg b/docs/assets/architecture/milestones/roadmap-milestones-en.light.svg new file mode 100644 index 0000000..b11a2d2 --- /dev/null +++ b/docs/assets/architecture/milestones/roadmap-milestones-en.light.svg @@ -0,0 +1,544 @@ + + Hyper Git Roadmap · M0-M5 + A workflow diagram generated by Archify. + + + + + + + + + + + + + + + + + + + + + + + + + 01 / Delivery + + + + + Shipped · as of v0.0.18 + + + Planned + + + + + + + + + + + + + + M0 Scaffold + CI · skeleton · 3-platform CI · Delivery › Shipped · as of v0.0.18 + + + + M0 Scaffold + CI + skeleton · 3-platform CI + + + + M1 Git Adapter · multi-changelist Changes · Delivery › Shipped · as of v0.0.18 + + + + M1 Git Adapter + multi-changelist Changes + + + + M2 Commit panel · CC validation · hook chain · Delivery › Shipped · as of v0.0.18 + + + + M2 Commit panel + CC validation · hook chain + + + + M3 Log + Branches · Graph DAG · Diff/Blame · Delivery › Shipped · as of v0.0.18 + + + + M3 Log + Branches + Graph DAG · Diff/Blame + + + + M4 Stash / Shelf · line commits · Worktrees · Delivery › Shipped · as of v0.0.18 + + + + M4 Stash / Shelf + line commits · Worktrees + + + + M5 AI Agent · 5 seams · currently Null · Delivery › Planned · pending + + + + M5 AI Agent + 5 seams · currently Null + pending + + + + + + + + + + pending + + + + + \ No newline at end of file diff --git a/docs/assets/architecture/milestones/roadmap-milestones.dark.svg b/docs/assets/architecture/milestones/roadmap-milestones.dark.svg new file mode 100644 index 0000000..8c0e08b --- /dev/null +++ b/docs/assets/architecture/milestones/roadmap-milestones.dark.svg @@ -0,0 +1,544 @@ + + Hyper Git 路线图 · M0-M5 + 由 Archify 生成的工作流图。 + + + + + + + + + + + + + + + + + + + + + + + + + 01 / 交付主线 + + + + + 已交付 · 截至 v0.0.18 + + + 规划中 + + + + + + + + + + + + + + M0 脚手架 + CI · 正交分层骨架 · 三平台 CI · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M0 脚手架 + CI + 正交分层骨架 · 三平台 CI + + + + M1 Git Adapter · 多 Changelist Changes · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M1 Git Adapter + 多 Changelist Changes + + + + M2 Commit 窗口 · CC 校验 · Hook 链 · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M2 Commit 窗口 + CC 校验 · Hook 链 + + + + M3 Log + Branches · Graph DAG · Diff/Blame · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M3 Log + Branches + Graph DAG · Diff/Blame + + + + M4 Stash / Shelf · 行级提交 · Worktrees · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M4 Stash / Shelf + 行级提交 · Worktrees + + + + M5 AI Agent · 5 接缝实装 · 当前 Null · 交付主线 › 规划中 · 待启动 + + + + M5 AI Agent + 5 接缝实装 · 当前 Null + 待启动 + + + + + + + + + + 待启动 + + + + + \ No newline at end of file diff --git a/docs/assets/architecture/milestones/roadmap-milestones.html b/docs/assets/architecture/milestones/roadmap-milestones.html new file mode 100644 index 0000000..bc83e31 --- /dev/null +++ b/docs/assets/architecture/milestones/roadmap-milestones.html @@ -0,0 +1,14872 @@ + + + + + + + Hyper Git 路线图 · M0-M5 + + + + + + + + +
+ +
+
+
+

Hyper Git 路线图 · M0-M5

+
+
+ + + + + + + +
+ + Hyper Git 路线图 · M0-M5 + 由 Archify 生成的工作流图。 + + + + + + + + + + + + + + + + + + + + + + + + + 01 / 交付主线 + + + + + 已交付 · 截至 v0.0.18 + + + 规划中 + + + + + + + + + + + + + + M0 脚手架 + CI · 正交分层骨架 · 三平台 CI · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M0 脚手架 + CI + 正交分层骨架 · 三平台 CI + + + + M1 Git Adapter · 多 Changelist Changes · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M1 Git Adapter + 多 Changelist Changes + + + + M2 Commit 窗口 · CC 校验 · Hook 链 · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M2 Commit 窗口 + CC 校验 · Hook 链 + + + + M3 Log + Branches · Graph DAG · Diff/Blame · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M3 Log + Branches + Graph DAG · Diff/Blame + + + + M4 Stash / Shelf · 行级提交 · Worktrees · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M4 Stash / Shelf + 行级提交 · Worktrees + + + + M5 AI Agent · 5 接缝实装 · 当前 Null · 交付主线 › 规划中 · 待启动 + + + + M5 AI Agent + 5 接缝实装 · 当前 Null + 待启动 + + + + + + + + + + 待启动 + + + + + +

+ + + + + + + + + +
+ + +
+
+
+
+

已交付 · M0-M4

+
+
    +
  • • 六大主题全部落地:脚手架 / Git Adapter / Commit 窗口 / Log 提交图 / Stash·Shelf / Worktrees
  • +
  • • 6 视图 · 102 命令 · 403 单元测试(v0.0.18)
  • +
+
+ +
+
+
+

规划中 · M5

+
+
    +
  • • AI Agent 实装:5 个接缝接口从 Null 转真实实现
  • +
  • • Claude Code 路径与 hyperGit.agent.* 偏好已预置
  • +
+
+
+ +
+ + + + diff --git a/docs/assets/architecture/milestones/roadmap-milestones.light.svg b/docs/assets/architecture/milestones/roadmap-milestones.light.svg new file mode 100644 index 0000000..990c28c --- /dev/null +++ b/docs/assets/architecture/milestones/roadmap-milestones.light.svg @@ -0,0 +1,544 @@ + + Hyper Git 路线图 · M0-M5 + 由 Archify 生成的工作流图。 + + + + + + + + + + + + + + + + + + + + + + + + + 01 / 交付主线 + + + + + 已交付 · 截至 v0.0.18 + + + 规划中 + + + + + + + + + + + + + + M0 脚手架 + CI · 正交分层骨架 · 三平台 CI · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M0 脚手架 + CI + 正交分层骨架 · 三平台 CI + + + + M1 Git Adapter · 多 Changelist Changes · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M1 Git Adapter + 多 Changelist Changes + + + + M2 Commit 窗口 · CC 校验 · Hook 链 · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M2 Commit 窗口 + CC 校验 · Hook 链 + + + + M3 Log + Branches · Graph DAG · Diff/Blame · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M3 Log + Branches + Graph DAG · Diff/Blame + + + + M4 Stash / Shelf · 行级提交 · Worktrees · 交付主线 › 已交付 · 截至 v0.0.18 + + + + M4 Stash / Shelf + 行级提交 · Worktrees + + + + M5 AI Agent · 5 接缝实装 · 当前 Null · 交付主线 › 规划中 · 待启动 + + + + M5 AI Agent + 5 接缝实装 · 当前 Null + 待启动 + + + + + + + + + + 待启动 + + + + + \ No newline at end of file diff --git a/docs/assets/mermaid/README.md b/docs/assets/mermaid/README.md index 4847231..26f9d0f 100644 --- a/docs/assets/mermaid/README.md +++ b/docs/assets/mermaid/README.md @@ -6,7 +6,7 @@ | Mermaid 源 | 图类型 | 源文档(原行区间) | archify 成品 | 嵌入文档 | 校准记录 | 状态 | |---|---|---|---|---|---|---| -| [engineering-plan-layers.mmd](architecture/engineering-plan-layers.mmd) | flowchart TB · 架构分层 | [engineering-plan.md](../../architecture/engineering-plan.md) L36-84 | [engineering-plan-layers.html](../architecture/architecture/engineering-plan-layers.html) | engineering-plan.md | 对照 v0.0.18 源码纠偏:Changes TreeView 已移除(v0.0.13 视图迁底部 Panel)、adapter 组件实名、Engine 15 模块、AI 接缝经 CommitService 注入;详见源文档「现状校准」注记 | ✅ 2026-09-11 | +| [engineering-plan-layers.mmd](architecture/engineering-plan-layers.mmd) | flowchart TB · 架构分层 | [engineering-plan.md](../../architecture/engineering-plan.md) L36-84 | [engineering-plan-layers.html](../architecture/architecture/engineering-plan-layers.html) | engineering-plan.md · [README(中)](../../i18n/zh-CN/README.md) | 对照 v0.0.18 源码纠偏:Changes TreeView 已移除(v0.0.13 视图迁底部 Panel)、adapter 组件实名、Engine 15 模块、AI 接缝经 CommitService 注入;详见源文档「现状校准」注记 | ✅ 2026-09-11 | | [ai-agent-seams-pipeline.mmd](research/ai-agent-seams-pipeline.mmd) | flowchart TD · Commit 流水线 hook | [05-ai-agent-seams.md](../../research/05-ai-agent-seams.md) L150-177 | [ai-agent-seams-pipeline.html](../architecture/research/ai-agent-seams-pipeline.html) | 05-ai-agent-seams.md | 修正源图缺陷:`class` 行引用不存在的 Hook3 节点,已移除;Hook A–F 责任链与 `src/agent/` 五接口(全 Null)、`engine/commit/pipeline.ts`(COMMIT/CANCEL/DEFER)核实一致 | ✅ 2026-09-11 | | [agentic-git-preferences-flow.mmd](features/agentic-git-preferences-flow.mmd) | flowchart LR · 偏好流向 | [agentic-git-preferences.md](../../features/agentic-git-preferences.md) L10-31 | [agentic-git-preferences-flow.html](../architecture/features/agentic-git-preferences-flow.html) | agentic-git-preferences.md | 与 `package.json` `hyperGit.agent.*` 四项配置核实一致(baseBranch 默认空、三项 multilineText) | ✅ 2026-09-11 | | [claude-code-config-flow.mmd](features/claude-code-config-flow.mmd) | flowchart LR · 配置流向 | [claude-code-config.md](../../features/claude-code-config.md) L17-43 | [claude-code-config-flow.html](../architecture/features/claude-code-config-flow.html) | claude-code-config.md | 与 `adapter/claude-commands.ts`(QuickPick / 缺失确认后 mkdir+写{})、`engine/agent/claude-path.ts` 纯函数核实一致 | ✅ 2026-09-11 | @@ -18,6 +18,9 @@ | [branch-tree-group-by-prefix-effect.mmd](features/branch-tree-group-by-prefix-effect.mmd) | flowchart LR · 前缀树效果 | [branch-tree-group-by-prefix.md](../../features/branch-tree-group-by-prefix.md) L7-26 | [branch-tree-group-by-prefix-effect.html](../architecture/features/branch-tree-group-by-prefix-effect.html) | branch-tree-group-by-prefix.md | 一致(ref-tree.ts 分组 / compact / 排序);📁 emoji 改文字、前后分支清单移入交互版结论卡 | ✅ 2026-09-11 | | [branch-tree-group-by-prefix-dataflow.mmd](features/branch-tree-group-by-prefix-dataflow.mmd) | flowchart LR · 算树数据流 | 同上 L34-43 | [branch-tree-group-by-prefix-dataflow.html](../architecture/features/branch-tree-group-by-prefix-dataflow.html) | 同上 | 一致:`buildRefTree`(engine/ref/ref-tree.ts)、`isRemoteHead` 过滤、`toBranchNodes` 双形态均实锤 | ✅ 2026-09-11 | | [file-list-group-by-directory-dataflow.mmd](features/file-list-group-by-directory-dataflow.mmd) | flowchart LR · 目录树数据流 | [file-list-group-by-directory.md](../../features/file-list-group-by-directory.md) L9-18 | [file-list-group-by-directory-dataflow.html](../architecture/features/file-list-group-by-directory-dataflow.html) | file-list-group-by-directory.md | 一致:`buildFileTree`(engine/tree/file-tree.ts)、`FileTreeNode` fileIndex 回指、payload 同批下发均实锤 | ✅ 2026-09-11 | +| [engineering-plan-layers-en.mmd](architecture/engineering-plan-layers-en.mmd) | flowchart TB · 架构分层(英译) | [README.md](../../../README.md) L39-48(Architecture 节英文表述) | [engineering-plan-layers-en.html](../architecture/architecture/engineering-plan-layers-en.html) | [README.md](../../../README.md)(经 media/diagrams PNG 导出) | 与中文版同拓扑仅译标签,对照根 README L41-44 与 v0.0.18 源码核实;PNG 导出(?theme=light/dark · 2x)落 media/diagrams/ 供 Marketplace 兼容嵌入 | ✅ 2026-09-12 | +| [roadmap-milestones.mmd](milestones/roadmap-milestones.mmd) | flowchart LR · 里程碑路线 | [README(中)](../../i18n/zh-CN/README.md) L67-74(路线图表,已由图取代) | [roadmap-milestones.html](../architecture/milestones/roadmap-milestones.html) | [README(中)](../../i18n/zh-CN/README.md) | 与 [implementation-status.md](../../milestones/implementation-status.md) §1 交付记录核实(M0-M4 已交付、M5 五接缝 Null);源表随嵌入替换移除,台账以 implementation-status.md 为准;M5 完成时须重绘本图(含 -en 与 media/diagrams 导出) | ✅ 2026-09-12 | +| [roadmap-milestones-en.mmd](milestones/roadmap-milestones-en.mmd) | flowchart LR · 里程碑路线(英译) | [README.md](../../../README.md) L68-75(Roadmap 表,已由图取代) | [roadmap-milestones-en.html](../architecture/milestones/roadmap-milestones-en.html) | [README.md](../../../README.md)(经 media/diagrams PNG 导出) | 与中文版同拓扑仅译标签;PNG 导出落 media/diagrams/ | ✅ 2026-09-12 | ## 管理规则 diff --git a/docs/assets/mermaid/architecture/engineering-plan-layers-en.mmd b/docs/assets/mermaid/architecture/engineering-plan-layers-en.mmd new file mode 100644 index 0000000..66bfbea --- /dev/null +++ b/docs/assets/mermaid/architecture/engineering-plan-layers-en.mmd @@ -0,0 +1,47 @@ +%% Mermaid 源图(单一事实源)· 溯源矩阵: docs/assets/mermaid/README.md +%% 源文档: README.md L39-48(Architecture 节英文表述);拓扑与配色镜像自 engineering-plan-layers.mmd(2026-09-11 对照 v0.0.18 源码校准) +%% archify 成品: docs/assets/architecture/architecture/engineering-plan-layers-en.html + +flowchart TB + subgraph UI["Views (hand-rendered · bottom-panel hyper-git container · moved from the activity bar in v0.0.13)"] + direction LR + V1["Commit
WebviewView
(changelists + commit editor)"] + V2["Graph (Log)
WebviewView
(SVG commit graph + detail panel + CI badges)"] + V3["Branches · Stash · Shelf · Worktrees
TreeView"] + V4["Rebase · MergeEditor
Webview panel (serializer restore)"] + end + subgraph Adapter["Adapter (sole layer touching the vscode API)"] + GA["GitRepositoryService
sole holder of the active repository
vscode.git API + execGit dual channel"] + CR["ChangelistRegistry · BranchFavorites
ShelfService · CommitService
(repo-scoped persistence)"] + CMD["Command registration ×12
tree/ · editor/ (blame · CodeLens)"] + WV["webview/ hosts ×4
shared/protocol.ts message contract"] + end + subgraph Engine["Engine (pure logic · zero vscode dependency · Vitest unit-testable)"] + M["model · diff · commit · changelist · log
ref · tree · git-state · scm-mapping"] + DF["ci · merge · rebase · blame · worktree · agent"] + end + subgraph Agent["Agent (AI seams · Null implementations · lands in M5)"] + LLM["ILlmProvider · ICommitMessageProvider
IPreCommitInspector · IChangelistGrouper
IConflictResolver"] + end + VSCodeGIT[("vscode.git built-in extension
getAPI(1) → Repository")] + GITBIN[("git CLI
child_process · same binary")] + NATIVE[("native Source Control view
untouched · coexists")] + + UI -->|"postMessage · shared/protocol.ts"| Adapter + Adapter --> Engine + Agent -. interface injection into CommitService .-> Adapter + Agent -. reads domain models / hook chain .-> Engine + Adapter --> VSCodeGIT + Adapter --> GITBIN + NATIVE -. coexists .-> VSCodeGIT + + classDef ui fill:#1f6feb,stroke:#4dabf7,stroke-width:2px,color:#fff + classDef ad fill:#7c3aed,stroke:#c4b5fd,stroke-width:2px,color:#fff + classDef eg fill:#0f766e,stroke:#5eead4,stroke-width:2px,color:#fff + classDef ag fill:#b45309,stroke:#fcd34d,stroke-width:2px,color:#fff + classDef ext fill:#444654,stroke:#8b8fa3,stroke-width:2px,color:#fff + class V1,V2,V3,V4 ui + class GA,CR,CMD,WV ad + class M,DF eg + class LLM ag + class VSCodeGIT,GITBIN,NATIVE ext diff --git a/docs/assets/mermaid/milestones/roadmap-milestones-en.mmd b/docs/assets/mermaid/milestones/roadmap-milestones-en.mmd new file mode 100644 index 0000000..8d5dc69 --- /dev/null +++ b/docs/assets/mermaid/milestones/roadmap-milestones-en.mmd @@ -0,0 +1,26 @@ +%% Mermaid 源图(单一事实源)· 溯源矩阵: docs/assets/mermaid/README.md +%% 源文档: README.md L68-75(Roadmap 表,嵌入后由本图取代);拓扑与配色镜像自 roadmap-milestones.mmd(中文版) +%% archify 成品: docs/assets/architecture/milestones/roadmap-milestones-en.html + +flowchart LR + subgraph Shipped["Shipped (M0-M4 · as of v0.0.18)"] + direction LR + M0["M0 Scaffolding + CI
layered skeleton · 3-platform CI"] + M1["M1 Git Adapter
multi-changelist Changes"] + M2["M2 Commit panel
CC validation · hook chain"] + M3["M3 Log + Branches
Graph DAG · Diff/Blame"] + M4["M4 Stash / Shelf
line-level commits · Worktrees"] + end + subgraph Planned["Planned (M5)"] + M5["M5 AI Agent
5 seams (currently Null)"] + end + M0 --> M1 + M1 --> M2 + M2 --> M3 + M3 --> M4 + M4 -. pending .-> M5 + + classDef done fill:#0f766e,stroke:#5eead4,stroke-width:2px,color:#fff + classDef todo fill:#b45309,stroke:#fcd34d,stroke-width:2px,color:#fff,stroke-dasharray:6 3 + class M0,M1,M2,M3,M4 done + class M5 todo diff --git a/docs/assets/mermaid/milestones/roadmap-milestones.mmd b/docs/assets/mermaid/milestones/roadmap-milestones.mmd new file mode 100644 index 0000000..069035a --- /dev/null +++ b/docs/assets/mermaid/milestones/roadmap-milestones.mmd @@ -0,0 +1,26 @@ +%% Mermaid 源图(单一事实源)· 溯源矩阵: docs/assets/mermaid/README.md +%% 源文档: README.md L68-75 / docs/i18n/zh-CN/README.md L67-74(路线图表,嵌入后由本图取代;交付台账: docs/milestones/implementation-status.md) +%% archify 成品: docs/assets/architecture/milestones/roadmap-milestones.html + +flowchart LR + subgraph Shipped["已交付(M0-M4 · 截至 v0.0.18)"] + direction LR + M0["M0 脚手架 + CI
正交分层骨架 · 三平台 CI"] + M1["M1 Git Adapter
多 Changelist Changes"] + M2["M2 Commit 窗口
CC 校验 · Hook 链"] + M3["M3 Log + Branches
Graph DAG · Diff/Blame"] + M4["M4 Stash / Shelf
行级提交 · Worktrees"] + end + subgraph Planned["规划中(M5)"] + M5["M5 AI Agent
5 接缝实装(当前 Null)"] + end + M0 --> M1 + M1 --> M2 + M2 --> M3 + M3 --> M4 + M4 -. 待启动 .-> M5 + + classDef done fill:#0f766e,stroke:#5eead4,stroke-width:2px,color:#fff + classDef todo fill:#b45309,stroke:#fcd34d,stroke-width:2px,color:#fff,stroke-dasharray:6 3 + class M0,M1,M2,M3,M4 done + class M5 todo diff --git a/docs/i18n/zh-CN/README.md b/docs/i18n/zh-CN/README.md index e59576c..c0bfa80 100644 --- a/docs/i18n/zh-CN/README.md +++ b/docs/i18n/zh-CN/README.md @@ -44,9 +44,14 @@ - **AI 接缝**:预留 `ILlmProvider` / `ICommitMessageProvider` / `IPreCommitInspector` / `IChangelistGrouper` / `IConflictResolver` 共 5 个接口(设计参考 JetBrains `CheckinHandler` 提交生命周期),当前以 Null 实现交付,完整实现延后至 M5。作为 M5 前置铺垫,已可配置 **Claude Code 可执行路径**(`hyperGit.claudeCode.executablePath`)与 **`~/.claude/settings.json` 快捷入口**(详见 [Claude Code 配置](../../features/claude-code-config.md)),以及 **`hyperGit.agent.*` 偏好**(基线分支 + Commit / Create PR / Review 的 agent 指令,详见 [Agentic Git 偏好配置](../../features/agentic-git-preferences.md))。

- Framework + + + Hyper Git 核心架构分层总览:视图层(Commit/Graph webview 与四棵 TreeView)、Adapter 层(GitRepositoryService 双通道、webview 宿主、命令注册组、领域状态服务)、Engine 层(15 纯逻辑模块)、Agent 层(AI 接缝),底座为 vscode.git API 与 git CLI 双通道 +

+> [交互版架构图(聚焦/搜索/导出)](../../assets/architecture/architecture/engineering-plan-layers.html) · [Mermaid 源图](../../assets/mermaid/architecture/engineering-plan-layers.mmd)(图资产溯源见 [图资产索引](../../assets/mermaid/README.md)) + ## 安装 - **手动(当前推荐)**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases) 下载 `hyper-git-agentic-git-x.x.x.vsix` → 命令面板 `Extensions: Install from VSIX`。 @@ -64,14 +69,14 @@ ## 路线图 -| 里程碑 | 主题 | 状态 | -| ------ | --------------------------------------------------- | ---- | -| M0 | 脚手架 + CI | ✅ | -| M1 | Git Adapter + Changes TreeView(多 Changelist) | ✅ | -| M2 | Commit 提交窗口(模板 / Amend / CC 校验 / Hook 链) | ✅ | -| M3 | Log(Graph DAG) + Branches + Diff/Blame | ✅ | -| M4 | Stash / Shelf / 行级提交 / Worktrees | ✅ | -| M5 | AI Agent(接缝已预留,实现待启动) | ⏳ | +

+ + + Hyper Git 路线图 M0-M5:M0 脚手架+CI、M1 Git Adapter+多 Changelist、M2 Commit 窗口、M3 Log 提交图+Branches+Diff/Blame、M4 Stash/Shelf/行级提交/Worktrees 均已交付;M5 AI Agent(接缝已预留)待启动 + +

+ +> [交互版](../../assets/architecture/milestones/roadmap-milestones.html) · [Mermaid 源图](../../assets/mermaid/milestones/roadmap-milestones.mmd) · 详细交付台账见[实施状态总览](../../milestones/implementation-status.md)(图资产溯源见 [图资产索引](../../assets/mermaid/README.md)) ## 开发 diff --git a/media/diagrams/engineering-plan-layers-en.dark.png b/media/diagrams/engineering-plan-layers-en.dark.png new file mode 100644 index 0000000..bce9aed Binary files /dev/null and b/media/diagrams/engineering-plan-layers-en.dark.png differ diff --git a/media/diagrams/engineering-plan-layers-en.light.png b/media/diagrams/engineering-plan-layers-en.light.png new file mode 100644 index 0000000..82a48b3 Binary files /dev/null and b/media/diagrams/engineering-plan-layers-en.light.png differ diff --git a/media/diagrams/roadmap-milestones-en.dark.png b/media/diagrams/roadmap-milestones-en.dark.png new file mode 100644 index 0000000..80e0cf9 Binary files /dev/null and b/media/diagrams/roadmap-milestones-en.dark.png differ diff --git a/media/diagrams/roadmap-milestones-en.light.png b/media/diagrams/roadmap-milestones-en.light.png new file mode 100644 index 0000000..9ad8507 Binary files /dev/null and b/media/diagrams/roadmap-milestones-en.light.png differ diff --git a/media/framework.png b/media/framework.png deleted file mode 100644 index 4dc2d7a..0000000 Binary files a/media/framework.png and /dev/null differ