Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).

<p align="center">
<img src="media/framework.png" alt="Framework"/>
<picture>
<source media="(prefers-color-scheme: dark)" srcset="media/diagrams/engineering-plan-layers-en.dark.png">
<img src="media/diagrams/engineering-plan-layers-en.light.png" alt="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">
</picture>
</p>

> [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.
Expand All @@ -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) | ⏳ |
<p align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="media/diagrams/roadmap-milestones-en.dark.png">
<img src="media/diagrams/roadmap-milestones-en.light.png" alt="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">
</picture>
</p>

> [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

Expand Down
11 changes: 10 additions & 1 deletion docs/assets/architecture/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 | 嵌入文档 |
Expand All @@ -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)保证深浅主题下均高对比。
Expand All @@ -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 栅格化导出),仍用 `<picture>` 模板;`docs/` 下文档一律按模板嵌入 SVG。若发布后 Marketplace 图缺失,回退为 `#gh-dark-mode-only` / `#gh-light-mode-only` 双 `<img>` 片段方案(GitHub 两者均支持,仅需改根 README 嵌入块)。
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15,046 changes: 15,046 additions & 0 deletions docs/assets/architecture/architecture/engineering-plan-layers-en.html

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
544 changes: 544 additions & 0 deletions docs/assets/architecture/milestones/roadmap-milestones-en.dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14,872 changes: 14,872 additions & 0 deletions docs/assets/architecture/milestones/roadmap-milestones-en.html

Large diffs are not rendered by default.

544 changes: 544 additions & 0 deletions docs/assets/architecture/milestones/roadmap-milestones-en.light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
544 changes: 544 additions & 0 deletions docs/assets/architecture/milestones/roadmap-milestones.dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14,872 changes: 14,872 additions & 0 deletions docs/assets/architecture/milestones/roadmap-milestones.html

Large diffs are not rendered by default.

544 changes: 544 additions & 0 deletions docs/assets/architecture/milestones/roadmap-milestones.light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 4 additions & 1 deletion docs/assets/mermaid/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand All @@ -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 |

## 管理规则

Expand Down
47 changes: 47 additions & 0 deletions docs/assets/mermaid/architecture/engineering-plan-layers-en.mmd
Original file line number Diff line number Diff line change
@@ -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<br/>WebviewView<br/>(changelists + commit editor)"]
V2["Graph (Log)<br/>WebviewView<br/>(SVG commit graph + detail panel + CI badges)"]
V3["Branches · Stash · Shelf · Worktrees<br/>TreeView"]
V4["Rebase · MergeEditor<br/>Webview panel (serializer restore)"]
end
subgraph Adapter["Adapter (sole layer touching the vscode API)"]
GA["GitRepositoryService<br/>sole holder of the active repository<br/>vscode.git API + execGit dual channel"]
CR["ChangelistRegistry · BranchFavorites<br/>ShelfService · CommitService<br/>(repo-scoped persistence)"]
CMD["Command registration ×12<br/>tree/ · editor/ (blame · CodeLens)"]
WV["webview/ hosts ×4<br/>shared/protocol.ts message contract"]
end
subgraph Engine["Engine (pure logic · zero vscode dependency · Vitest unit-testable)"]
M["model · diff · commit · changelist · log<br/>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<br/>IPreCommitInspector · IChangelistGrouper<br/>IConflictResolver"]
end
VSCodeGIT[("vscode.git built-in extension<br/>getAPI(1) → Repository")]
GITBIN[("git CLI<br/>child_process · same binary")]
NATIVE[("native Source Control view<br/>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
26 changes: 26 additions & 0 deletions docs/assets/mermaid/milestones/roadmap-milestones-en.mmd
Original file line number Diff line number Diff line change
@@ -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<br/>layered skeleton · 3-platform CI"]
M1["M1 Git Adapter<br/>multi-changelist Changes"]
M2["M2 Commit panel<br/>CC validation · hook chain"]
M3["M3 Log + Branches<br/>Graph DAG · Diff/Blame"]
M4["M4 Stash / Shelf<br/>line-level commits · Worktrees"]
end
subgraph Planned["Planned (M5)"]
M5["M5 AI Agent<br/>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
26 changes: 26 additions & 0 deletions docs/assets/mermaid/milestones/roadmap-milestones.mmd
Original file line number Diff line number Diff line change
@@ -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<br/>正交分层骨架 · 三平台 CI"]
M1["M1 Git Adapter<br/>多 Changelist Changes"]
M2["M2 Commit 窗口<br/>CC 校验 · Hook 链"]
M3["M3 Log + Branches<br/>Graph DAG · Diff/Blame"]
M4["M4 Stash / Shelf<br/>行级提交 · Worktrees"]
end
subgraph Planned["规划中(M5)"]
M5["M5 AI Agent<br/>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
Loading