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
11 changes: 11 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -134,3 +134,14 @@ jobs:
pnpm exec vsce publish --packagePath *.vsix $PRE_FLAG
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
# Open VSX 发布:由仓库变量 ENABLE_OVSX_PUBLISH 门控(与 ENABLE_MARKETPLACE_PUBLISH 对称)。
# 需配置 OVSX_PAT(open-vsx.org 的 Access Token);覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器。
# 与 vsce 同款 `pnpm exec ovsx`(项目锁定版本;其传递依赖 @vscode/vsce 的构建脚本
# 已在 pnpm-workspace.yaml allowBuilds 审批)。注意:ovsx 对「已打包 VSIX」会忽略 --pre-release
# (预发布语义已由 package job 的 vsce package --pre-release 内嵌进 VSIX 元数据),
# 故此处不传 PRE_FLAG——与 vsce publish 的两端成对要求不同。
- name: 发布到 Open VSX
if: ${{ vars.ENABLE_OVSX_PUBLISH == 'true' }}
run: pnpm exec ovsx publish --packagePath ./*.vsix
env:
OVSX_PAT: ${{ secrets.OVSX_PAT }}
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@

## [Unreleased]

### Changed

- **CI 发布渠道重启双市场**:`publish` job 增回 Open VSX 发布步骤(`pnpm exec ovsx publish --packagePath ./*.vsix`,由仓库变量 `ENABLE_OVSX_PUBLISH` 门控 + `OVSX_PAT` 凭证,复用 `package` job 的同一枚 VSIX、共享 production 审批门),覆盖 Cursor / Windsurf / VSCodium 等 Open VSX 系编辑器;README 安装渠道同步加回 Open VSX。发布决策沿革见 [发布策略调研](./docs/research/04-publishing-cicd.md)。

## [0.0.17] - 2026-09-09 — Log 提交详情常驻面板 · VS Code 1.136 最佳实践对齐 · 稳定性与体验修复

自 v0.0.16 以来的积累(PR #115 / #116)。核心变更:**Log 提交详情由悬停浮层改为右侧常驻面板**(三区可拖拽分割线、窄视图自适应堆叠),并全面对齐 VS Code 1.136 控件 / 交互 / API 最佳实践(修复 9 项缺陷、Webview 控件全面主题化、能力声明与设置治理);新增长时 git 操作进度反馈、入门导览与默认键位、Stash / Worktrees 批量操作、分支 / 标签名即时校验等体验增强。完整用户视角叙述见 [Release Note v0.0.17](./docs/releases/v0.0.17.md)。
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@

- **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.
- **VS Code Marketplace**: search for `Hyper Git - Agentic Git`.
- **Open VSX**: search for `Hyper Git - Agentic Git` (covers Cursor / Windsurf / VSCodium and other Open VSX-based editors).
- **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
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
## 调研报告(循证依据)
- [02 · VS Code SCM API 与 vscode.git 集成路径](./research/02-vscode-scm-integration.md) — 路径 B 决策依据、SCM 稳定/proposed API 边界、changelist 模型映射。
- [03 · VS Code 扩展工程蓝图](./research/03-extension-blueprint.md) — 技术栈决策、工程骨架、IDEA→VS Code UI 表面映射表。
- [04 · 发布策略 + CI/CD](./research/04-publishing-cicd.md) — VS Code Marketplace 发布、CI 矩阵、版本治理、安全。
- [04 · 发布策略 + CI/CD](./research/04-publishing-cicd.md) — 双市场(Marketplace + Open VSX)发布、CI 矩阵、版本治理、安全。
- [05 · AI Agent 架构预留](./research/05-ai-agent-seams.md) — AI 接缝(ILlmProvider 等)+ 借鉴 JetBrains CheckinHandler 责任链设计 + 渐进式引入路线。

## 协作与规范
Expand Down
13 changes: 7 additions & 6 deletions docs/research/04-publishing-cicd.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
> 所有事实论断均附 GitHub 路径或官方文档 URL;不确定项标注"待核实"。

> **决策更新(2026-07-04)**:本项目已将发布策略由「双市场(Marketplace + OpenVSX)」**收敛为 VS Code Marketplace 单市场**——移除 CI 的 OpenVSX 发布步骤与 `OVSX_PAT` 依赖(实践中 OpenVSX 命名空间与凭证未落地,且为降低维护面)。下文 §1.2、§2、§3、§5 及「下一步」中一切涉及 OpenVSX / ovsx 的内容,均保留为当时的循证背景(已被本决策取代);当前发布口径以 **§2.3(已修订)** 为准。
> **决策更新(2026-09-10)**:Open VSX 命名空间与 `OVSX_PAT` 凭证已落地,发布策略**重启双市场(Marketplace + Open VSX)**——`publish` job 增回 Open VSX 发布步骤(`pnpm exec ovsx publish --packagePath ./*.vsix`,由仓库变量 `ENABLE_OVSX_PUBLISH` 门控),README 安装渠道同步加回;2026-07-04 的「单市场收敛」决策自此被取代,当前发布口径以 **§2.3(再次修订)** 为准。

---

Expand Down Expand Up @@ -71,15 +72,15 @@
- **Cursor 使用 Open VSX registry,而非 VS Code Marketplace**。来源:[Cursor 论坛官方回复](https://forum.cursor.com/t/cursor-marketplace-installs-offers-outdated-version-of-open-vsx-extension-despite-latest-version-being-available-upstream/159718)、[安全研究 mazinahmed.net](https://mazinahmed.net/blog/publishing-malicious-vscode-extensions/)(明确指出 OpenVSX 驱动 Cursor/Windsurf/Kiro 等 AI IDE)、[devclass 报道](https://www.devclass.com/development/2025/04/08/vs-code-extension-marketplace-wars-cursor-users-hit-roadblocks/1629343)。
- 后果:**只**发 Marketplace 时,Cursor/Windsurf 用户**装不到**(除非手动 `.vsix`)。

### 2.3 决策(2026-07-04 修订):**VS Code Marketplace 单市场发布**
### 2.3 决策(2026-09-10 再次修订):**双市场发布(VS Code Marketplace + Open VSX)**

> 原方案为「双市场同时发布」(理由见上 §2.1/§2.2 循证背景:AI 受众主战场在 OpenVSX、边际成本低)。实践中因 OpenVSX 命名空间与 `OVSX_PAT` 凭证未落地、且为收敛维护面,**修订为仅发布 VS Code Marketplace**。
> 原方案为「双市场同时发布」(理由见上 §2.1/§2.2 循证背景:AI 受众主战场在 OpenVSX、边际成本低);2026-07-04 因 OpenVSX 命名空间与 `OVSX_PAT` 凭证未落地、且为收敛维护面,临时收敛为 Marketplace 单市场;2026-09-10 命名空间与凭证落地后**重启双市场**。

当前口径:
1. **单市场**:仅经 `vsce publish` 发布到 VS Code Marketplace(原生 VS Code 用户主战场;`rc` tag 走 `--pre-release` 预发布通道)
2. **兜底安装**:每个 `v*` tag 均产出 GitHub Release 并附 `.vsix`,Cursor/Windsurf/VSCodium 等用户可下载后 `Install from VSIX`。
3. **凭证**:仅需 `VSCE_PAT`(Azure DevOps PAT,scope Marketplace → Manage);由仓库变量 `ENABLE_MARKETPLACE_PUBLISH` 门控
4. **未来若重启 OpenVSX**:需先在 open-vsx.org 创建并 claim `ThreeFish-AI` 命名空间、配置有效 `OVSX_PAT`,再于 `publish` job 增回 `ovsx publish` 步骤(§2.1/§2.2 背景分析仍适用)。
1. **双市场**:同一枚 VSIX(由 `package` job 统一打包)先后经 `vsce publish` VS Code Marketplace、经 `ovsx publish` 发 Open VSX(覆盖 Cursor/Windsurf/VSCodium 等 AI IDE 用户,§2.2 循证)。`rc` tag 走预发布通道——Marketplace 端 `vsce` 打包/发布两端 `--pre-release` 成对;Open VSX 端语义由 `vsce package --pre-release` 内嵌进 VSIX 元数据,`ovsx publish` 无需该 flag
2. **兜底安装**:每个 `v*` tag 均产出 GitHub Release 并附 `.vsix`,可下载后 `Install from VSIX`。
3. **凭证**:`VSCE_PAT`(Azure DevOps PAT,scope Marketplace → Manage,门控 `ENABLE_MARKETPLACE_PUBLISH`)+ `OVSX_PAT`(open-vsx.org Access Token,门控 `ENABLE_OVSX_PUBLISH`);两步骤同挂 `publish` job 的 `environment: production` 审批门
4. **Open VSX 安全前提**:`create-namespace` 不自动授予独占发布权,须另行 claim namespace ownership(§1.2 关键循证)。

---

Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -1504,6 +1504,7 @@
"esbuild": "^0.28.1",
"eslint": "^10.9.1",
"mocha": "^11.0.1",
"ovsx": "^1.1.1",
"prettier": "^3.9.6",
"rimraf": "^6.0.1",
"typescript": "^6.0.3",
Expand Down
Loading