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
18 changes: 4 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
- run: pnpm install --frozen-lockfile
# rc tag 以 --pre-release 打包:VS Code 要求「预发布 VSIX」在打包时即标记,
# 否则 publish job 的 `vsce publish --pre-release` 会报「未以 pre-release 打包」而失败。
# 与 publish/OpenVSX 步骤同款 PRE_FLAG 判定,保证同一枚 VSIX 贯穿三渠道
# 与 publish 步骤同款 PRE_FLAG 判定,保证同一枚 VSIX 贯穿 GitHub Release 与 Marketplace
- name: 打包 vsix(rc tag 自动带 --pre-release)
run: |
PRE_FLAG=$([[ "${GITHUB_REF_NAME}" == *rc* ]] && echo "--pre-release" || echo "")
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
body_path: docs/releases/${{ github.ref_name }}.md
fail_on_unmatched_files: true

# 发布:仅 tag 触发;OpenVSX 默认发布,VS Code Marketplace 由 ENABLE_MARKETPLACE_PUBLISH 变量门控(默认关闭);生产环境审批门
# 发布:仅 tag 触发;发布到 VS Code Marketplace由 ENABLE_MARKETPLACE_PUBLISH 变量门控;生产环境审批门
publish:
name: Publish
needs: package
Expand All @@ -121,22 +121,12 @@ jobs:
- uses: actions/download-artifact@v8
with:
name: vsix
# VS Code Marketplace 发布:默认关闭(未配置 VSCE_PAT)。
# 配好 VSCE_PAT 后,在仓库 Settings → Secrets and variables → Actions → Variables
# 新增 ENABLE_MARKETPLACE_PUBLISH=true 即恢复,无需改代码或发 PR。
# VS Code Marketplace 发布:由仓库变量 ENABLE_MARKETPLACE_PUBLISH 门控(=true 时发布)。
# 需配置 VSCE_PAT(Azure DevOps PAT,scope: Marketplace → Manage);rc tag 自动以 --pre-release 发预发布通道。
- name: 发布到 VS Code Marketplace
if: ${{ vars.ENABLE_MARKETPLACE_PUBLISH == 'true' }}
run: |
PRE_FLAG=$([[ "${GITHUB_REF_NAME}" == *rc* ]] && echo "--pre-release" || echo "")
pnpm dlx @vscode/vsce publish --packagePath *.vsix $PRE_FLAG
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
# OpenVSX 不支持覆盖已存在版本:若该版本号已发布则此步报错。
# 以 continue-on-error 隔离——不阻断 GitHub Release 产出,亦不让首发 workflow 标红。
- name: 发布到 OpenVSX(覆盖 Cursor / Windsurf 等 AI IDE)
continue-on-error: true
run: |
PRE_FLAG=$([[ "${GITHUB_REF_NAME}" == *rc* ]] && echo "--pre-release" || echo "")
pnpm dlx ovsx publish *.vsix $PRE_FLAG
env:
OVSX_PAT: ${{ secrets.OVSX_PAT }}
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@

> 面向用户的发布说明(含完整特性叙述与安装指引)见 [`docs/releases/`](./docs/releases/README.md)。

## [0.0.11] - 2026-07-04 — 首个正式版(承载 0.0.10 内容)· 发布渠道收敛 Marketplace

首个 VS Code Marketplace **正式发布**版本,承载 0.0.10 预发布通道(rc.1 / rc.2)已验证的全部内容——提交图更名 **Graph** 并对齐官方 Source Control GRAPH、悬浮浮层 iframe 裁剪修复、未提交角标承载迁移、README 真实性校准与中英双语;并将发布渠道收敛为 **VS Code Marketplace 单市场**。`0.0.10` 版位已被预发布通道占用,正式版按官方规则顺延至 `0.0.11`。完整用户视角叙述见 [Release Note v0.0.11](./docs/releases/v0.0.11.md)。

### Changed
- **发布渠道收敛为 VS Code Marketplace 单市场**:移除 CI `publish` job 的 OpenVSX 发布步骤及对 `OVSX_PAT` 的依赖,README 双语安装渠道同步移除 OpenVSX;发布流水线现为 **GitHub Release + VS Code Marketplace**(由 `ENABLE_MARKETPLACE_PUBLISH` 变量门控,`rc` 标签走预发布通道)。
- **Log 视图更名为 Graph 并对齐官方 Source Control GRAPH**:泳道连线改三次贝塞尔平滑曲线、HEAD 空心双环高亮、引用胶囊改全圆角实心 pill 并跟随泳道色、工具栏 seg 贴近官方;命令标题 / 视图名 / aria-label 统一为 Graph(内部标识符不动,不改数据 / 协议 / 布局算法 / CI 逻辑)。(#53)

### Fixed
- **提交 / CI 悬浮浮层被侧边栏 iframe 裁剪失效**:抽出共用 `positionFloat`(锚右侧 → 越界翻左 → 再越界收进视口)彻底修复。(#53)
- **活动栏未提交变更数角标更新不及时**:角标承载由 Commit `WebviewView` 迁至隐藏 Treeview(`hyperGit.changesBadge`,`when:false`),`activate` 即实例化、面板未打开也可靠;新增 engine 纯函数 `change-count` 作去重单一事实源。(#52)
- **发布流水线预发布打包缺陷**:`package` job 对 rc tag 补 `--pre-release` 打包,与 `vsce publish --pre-release` 对齐,修复 Marketplace 预发布 publish 失败。详见 [issue #11](./docs/.agents/issue.md)。

### Docs
- **README 真实性校准 + 中英双语重构**:单测计数校正为 324、移除不存在的 `ui/` 层描述、publisher 落实为 `ThreeFish-AI`;根英文、中文迁入 [`docs/i18n/zh-CN/README.md`](./docs/i18n/zh-CN/README.md)。(#51)

## [0.0.10-rc.2] - 2026-07-04 — 修复发布流水线预发布打包缺陷

rc.1 因 CI `package` job 未以 `--pre-release` 打包,致 `publish` job 的 Marketplace 步骤报「VSIX 未以 pre-release 打包」而失败(OpenVSX 步骤随之被 skipped),三渠道仅 GitHub Release 成功、Marketplace/OpenVSX 未发出。rc.2 修复该流水线缺陷后重新走通;产品内容与 rc.1 一致。完整叙述见 [Release Note v0.0.10-rc.2](./docs/releases/v0.0.10-rc.2.md)。
Expand Down
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@
## 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.
- **OpenVSX** (Cursor / Windsurf / Gitpod / VSCodium): search for `Hyper Git - Agentic Git`.
- **VS Code Marketplace**: search for `Hyper Git - Agentic Git` (available once published).
- **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
Expand Down Expand Up @@ -91,7 +90,7 @@ pnpm dlx @vscode/vsce publish
```

- **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/`](./docs/releases/README.md)) plus OpenVSX; VS Code Marketplace publishing is gated by the `ENABLE_MARKETPLACE_PUBLISH` variable.
- **Release**: a `v*` tag triggers CI to produce a GitHub Release (with the `.vsix` attached; the body is drawn from [`docs/releases/`](./docs/releases/README.md)) 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](./AGENTS.md) engineering conventions). Version history is tracked in the [Changelog](./CHANGELOG.md). See the [documentation hub](./docs/README.md) for the full docs.

---
Expand Down
5 changes: 2 additions & 3 deletions docs/i18n/zh-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@
## 安装

- **手动(当前推荐)**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases) 下载 `hyper-git-agentic-git-x.x.x.vsix` → 命令面板 `Extensions: Install from VSIX`。
- **OpenVSX**(Cursor / Windsurf / Gitpod / VSCodium):搜索 `Hyper Git - Agentic Git`。
- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git`(发布上线后可用)。
- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git`。
- **要求**:VS Code ≥ 1.85.0 + 启用内置 Git 扩展(`vscode.git`,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。

## 已知限制
Expand Down Expand Up @@ -91,7 +90,7 @@ pnpm dlx @vscode/vsce publish
```

- **分层**:`engine/`(纯逻辑)→ `adapter/`(唯一接触 vscode API,含自绘 `adapter/webview/` UI);`agent/` 以接口注入 `engine`,不反向依赖 UI;`shared/protocol.ts` 为 Webview ↔ Host 契约单一事实源。
- **发布**:`v*` 标签触发 CI 产出 GitHub Release(附 `.vsix`,正文取自 [`docs/releases/`](../../releases/README.md))+ OpenVSX;VS Code Marketplace 由 `ENABLE_MARKETPLACE_PUBLISH` 变量门控。
- **发布**:`v*` 标签触发 CI 产出 GitHub Release(附 `.vsix`,正文取自 [`docs/releases/`](../../releases/README.md))并发布到 VS Code Marketplace由 `ENABLE_MARKETPLACE_PUBLISH` 变量门控;`rc` 标签发预发布通道)
- 包管理与脚本统一使用 `pnpm`(遵循 [AGENTS.md](../../../AGENTS.md) 工程规范)。版本变更记录见[变更日志](../../../CHANGELOG.md)。完整文档见[文档中心](../../README.md)。

---
Expand Down
1 change: 1 addition & 0 deletions docs/releases/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

| 版本 | 说明 | 日期 |
|---|---|---|
| [v0.0.11](./v0.0.11.md) | 首个正式版(承载 0.0.10 内容)· Graph 视图对齐官方 · 发布渠道收敛 Marketplace | 2026-07-04 |
| [v0.0.9](./v0.0.9.md) | 视图整合 · UI 系统化 · 分支与 CI 增强(自 v0.0.6 全量) | 2026-07-04 |
| [v0.0.6](./v0.0.6.md) | 首个 MVP 正式版(以「Hyper Git - Agentic Git」之名上架) | 2026-06-30 |

Expand Down
75 changes: 75 additions & 0 deletions docs/releases/v0.0.11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Hyper Git - Agentic Git v0.0.11 — 首个正式版(承载 0.0.10 内容)· 发布渠道收敛 Marketplace

> 首个 VS Code Marketplace **正式发布**版本。承载 0.0.10 预发布通道([rc.1](./v0.0.10-rc.1.md) / [rc.2](./v0.0.10-rc.2.md))已验证的全部内容——提交图更名 **Graph** 并对齐 VS Code 官方 Source Control GRAPH 视图、悬浮浮层被侧边栏 iframe 裁剪修复、活动栏未提交数角标承载迁移、README 真实性校准与中英双语;同时将发布渠道**收敛为 VS Code Marketplace 单市场**。

> `0.0.10` 版位已被预发布通道占用,按 VS Code 官方规则(同一版本号不可既预发布又正式发布),正式版顺延至 `0.0.11`。

---

## ✨ 亮点速览

- **提交图更名 Graph 并对齐官方**:视图更名为「Graph」,泳道连线改三次贝塞尔平滑曲线、HEAD 空心双环高亮、引用胶囊改全圆角实心 pill 并跟随泳道色,整体贴近 VS Code 官方 Source Control GRAPH 视图。
- **修复悬浮浮层失效**:提交详情 / CI 状态浮层此前被侧边栏 iframe 裁剪到视口外而不可见,现抽出统一的 `positionFloat` 定位彻底修复。
- **修复活动栏角标不及时**:未提交变更数角标改由隐藏 TreeView 承载,无论 Commit 面板是否打开都能可靠、及时地点亮与清除。
- **发布渠道收敛 Marketplace**:发布流水线聚焦 VS Code Marketplace 单市场,移除 OpenVSX 发布与 `OVSX_PAT` 依赖,链路更简洁可靠。

---

## 🧩 完整能力

### Graph 视图更名与官方对齐(原 Log 视图)
面向用户的「Log」视图更名为 **「Graph」**,并在渲染层视觉对齐 VS Code 官方 Source Control GRAPH 视图,**不改动底层数据 / 消息协议 / 布局算法 / CI 逻辑**:

- **泳道连线**:由直线 `<line>` 改为三次贝塞尔 `<path>` 平滑曲线(同列 `fromCol === toCol` 时自动退化为直线)。
- **HEAD 高亮**:当前 HEAD 行节点渲染为空心环 + 内点(双环高亮),普通行保持实心点。
- **引用胶囊**:从 message 左侧前缀移至右侧后缀(列序 泳道图 → message → chips → author → date → CI);底色跟随本行泳道色(类型靠图标区分而非颜色),按底色亮度自适应深 / 白字保可读;由半透明小圆角矩形改为实心全圆角 pill,保留分支 / 云 / tag 内联 SVG 图标前缀。`#commit-tip` 浮层内胶囊同步同款样式。
- **工具栏**:seg 按钮间距 / 圆角 / hover 态贴近官方。
- **命名统一**:视图名与 Refresh / Filter / Clear Graph Filter 命令标题、CI 配置描述、aria-label 统一为 Graph;`viewType hyperGit.log`、`log/*` 消息前缀、类名等内部标识符保持不变,零协议破坏。

### 未提交变更数角标可靠化(承载迁移)
活动栏未提交变更数角标改由**隐藏 TreeView**(`hyperGit.changesBadge`,`when:false`)承载:

- **承载迁移**:角标原挂在 Commit `WebviewView` 上,VS Code 在 `resolveWebviewView`(即用户至少打开过一次面板)之前无法显示 webview 角标,导致面板未打开时新变更不点亮、提交 / 撤销后不清除。改由 `activate` 阶段即实例化的隐藏 TreeView 承载,其 `badge` 无论面板是否打开都可靠聚合到容器图标。
- **单一事实源**:新增 engine 纯函数 [`change-count`](../../src/engine/scm-mapping/change-count.ts)(`toRelKey` / `countUniqueChanges`)与 `GitRepositoryService.getChangeCount()`,`getChanges` 复用同一去重逻辑,杜绝双实现漂移。
- **及时且高效**:角标走独立 40ms 微防抖快路径,与 150ms 重刷新解耦、合并事件风暴;释放期清理悬挂定时器。
- **熵减**:移除 Commit webview 中的死代码(`updateBadge` / `pendingBadge`)杜绝容器求和 2× 计数;补充 change-count 单元测试锁定计数等值不变式。

### 发布渠道收敛 VS Code Marketplace 单市场
- 移除 CI `publish` job 的 OpenVSX 发布步骤及对 `OVSX_PAT` 的依赖,发布链路聚焦 VS Code Marketplace;`rc` 标签自动以 `--pre-release` 发预发布通道,正式版 tag 发正式通道。
- GitHub Release 仍随每个 `v*` 标签产出、附 `.vsix` 可本地安装,与市场发布解耦。

---

## 🐛 改进与修复

- **提交 / CI 悬浮浮层被侧边栏 iframe 裁剪失效**:上一阶段 (#48) 的浮层定位将横向定位改为 `left = window.innerWidth + 8`,误以为 webview `position:fixed` 可越界渲染到编辑器区;实则侧边栏 WebviewView 是沙箱 iframe,坐标系为 iframe 自身视口,该值落到右边界外被裁剪、浮层不可见。本版抽出共用 `positionFloat`(锚定触发元素右侧 → 越界则翻至左侧 → 再越界则收进视口),彻底修复。(#53)
- **发布流水线预发布打包缺陷**:`package` job 原以 `vsce package`(不带 `--pre-release`)打出正式版 VSIX,`publish` 却对 rc tag 用 `--pre-release` 发布,vsce 因「VSIX 未以 pre-release 打包」而拒绝。`package` 步骤改为与 publish 端同款 `PRE_FLAG` 判定,令同一枚 VSIX 贯穿 GitHub Release 与 Marketplace。详见 [issue #11](../.agents/issue.md)。
- **README / 文档真实性校准**:经 3 路只读核验 + 单测实跑取证修正——移除不存在的 `ui/` 层描述、单元测试计数由 280 校正为 **324**、行级提交 CodeLens 标签校准为 "Commit this Hunk"、publisher 占位符落实为真实 `ThreeFish-AI`。(#51)
- **README 双语重构**:根 `README.md` 改写为地道英文版,中文版迁入 [`docs/i18n/zh-CN/README.md`](../i18n/zh-CN/README.md) 并互加语言切换。(#51)

> 规模实证:**6 视图 / 97 命令 / 6 配置项 / 324 单元测试**(32 文件全绿)+ 集成测试,CI 三平台(Ubuntu / macOS / Windows)矩阵全程 GREEN。

---

## ⚙️ 升级与兼容

- **无破坏性变更**:Graph 更名仅为面向用户的视图名与命令标题层面调整,`viewType`、消息协议、`setState` 形状、配置项(`hyperGit.log.*` / `hyperGit.commit.*`)均保持不变,旧状态无需迁移。
- **未新增配置项**:现有配置一律沿用。
- **发布渠道变更**:本版起发布收敛为 VS Code Marketplace 单市场;此前预发布的 `0.0.10`(Marketplace 预发布通道)为同源内容。

---

## 📦 安装

- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git` 直接安装。
- **手动**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.11) 下载 `hyper-git-agentic-git-0.0.11.vsix` → 命令面板 `Extensions: Install from VSIX`。

**系统要求**:VS Code ≥ 1.85.0,且启用内置 Git 扩展(`vscode.git`,默认随附)。仅支持本地 git 仓库,不支持虚拟 / Web 工作区。

---

## 💬 反馈

欢迎在 [GitHub Issues](https://github.com/ThreeFish-AI/hyper-git/issues) 反馈问题与建议。完整工程视角变更记录见 [CHANGELOG](../../CHANGELOG.md)。

许可证:[MIT](https://github.com/ThreeFish-AI/hyper-git/blob/master/LICENSE)。
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"theme": "dark"
},
"description": "Hyper Git 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.",
"version": "0.0.10",
"version": "0.0.11",
"publisher": "ThreeFish-AI",
"license": "MIT",
"preview": true,
Expand Down