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
8 changes: 6 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,13 @@ jobs:
# rc tag 以 --pre-release 打包:VS Code 要求「预发布 VSIX」在打包时即标记,
# 否则 publish job 的 `vsce publish --pre-release` 会报「未以 pre-release 打包」而失败。
# 与 publish 步骤同款 PRE_FLAG 判定,保证同一枚 VSIX 贯穿 GitHub Release 与 Marketplace。
# vsce 经 `pnpm exec` 取项目锁定版本(devDependencies 已含 @vscode/vsce):
# pnpm 12 起 dlx 临时环境对未审批构建脚本(@vscode/vsce-sign/keytar)由警告升级为硬失败,
# 而项目自身的 allowBuilds 审批仅作用于项目安装。
- name: 打包 vsix(rc tag 自动带 --pre-release)
run: |
PRE_FLAG=$([[ "${GITHUB_REF_NAME}" == *rc* ]] && echo "--pre-release" || echo "")
pnpm dlx @vscode/vsce package --no-yarn $PRE_FLAG
pnpm exec vsce package --no-yarn $PRE_FLAG
- uses: actions/upload-artifact@v7
with:
name: vsix
Expand Down Expand Up @@ -123,10 +126,11 @@ jobs:
name: vsix
# VS Code Marketplace 发布:由仓库变量 ENABLE_MARKETPLACE_PUBLISH 门控(=true 时发布)。
# 需配置 VSCE_PAT(Azure DevOps PAT,scope: Marketplace → Manage);rc tag 自动以 --pre-release 发预发布通道。
# 与 package job 同款 `pnpm exec vsce`(项目锁定版本,规避 pnpm 12 dlx 对未审批构建脚本的硬失败)。
- 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
pnpm exec vsce publish --packagePath *.vsix $PRE_FLAG
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
26 changes: 20 additions & 6 deletions CHANGELOG.md

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,15 @@ pnpm run watch # watch build (press F5 to launch the Extension Ho
pnpm run test:unit # unit tests (pure engine logic, Vitest, 403 cases)
pnpm run test:integration # integration tests (@vscode/test-electron)
pnpm run package # production build
pnpm dlx @vscode/vsce package # package the .vsix
pnpm exec vsce package # package the .vsix
```

Packaging and publishing with vsce (`@vscode/vsce`):
Packaging and publishing with vsce (`@vscode/vsce` is a devDependency; `pnpm exec` uses the locked project version — pnpm 12's `dlx` hard-fails on its unapproved native build scripts):

```bash
pnpm dlx @vscode/vsce package
pnpm exec vsce package
# hyper-git-agentic-git-x.x.x.vsix generated
pnpm dlx @vscode/vsce publish
pnpm exec vsce publish
# ThreeFish-AI.hyper-git-agentic-git-x.x.x published to VS Code Marketplace
```

Expand Down
2 changes: 1 addition & 1 deletion docs/.agents/knowledge-map.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
- [工程实施方案](../docs/architecture/engineering-plan.md) — 路径 B 架构 + M0-M5 里程碑(**开发蓝图**)。
- [Git 功能矩阵](../docs/requirements/idea-feature-matrix.md) — 56 功能点 / 8 组(**验收基线**,参考 IDEA 等成熟实现)。
- [调研报告](../docs/research/README.md) — SCM 集成 / 工程蓝图 / 发布 CI / AI 接缝四路循证报告。
- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.14](../releases/v0.0.14.md))。
- [发布说明](../releases/README.md) — 各正式版 Release Notes(GitHub Release 正文单一事实源;最新 [v0.0.16](../releases/v0.0.16.md))。

## 架构分层(src/)
> 依赖方向单向:`UI → Adapter → Engine`;`Agent` 以接口注入 `Engine`/`CommitPipeline`,不反向依赖 UI。
Expand Down
2 changes: 1 addition & 1 deletion docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
- [Agentic Git 偏好配置](./features/agentic-git-preferences.md) — Agentic Git 预置:Base Branch + Commit / Create PR / Review 三项 agent 指令偏好(多行文本域 + 内置默认模板;M5 前置铺垫)。

## 发布说明
- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.14 修复 GRAPH 视图提交记录时间倒序](./releases/v0.0.14.md)。
- [Release Notes 目录](./releases/README.md) — 各正式版发布说明(GitHub Release 正文单一事实源);最新:[v0.0.16 多根工作区仓库切换 · 分支分组树 · Agentic Git 预置](./releases/v0.0.16.md)。

## 调研报告(循证依据)
- [02 · VS Code SCM API 与 vscode.git 集成路径](./research/02-vscode-scm-integration.md) — 路径 B 决策依据、SCM 稳定/proposed API 边界、changelist 模型映射。
Expand Down
8 changes: 4 additions & 4 deletions docs/i18n/zh-CN/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,15 @@ pnpm run watch # 监听构建(F5 启动 Extension Host 调试
pnpm run test:unit # 单元测试(engine 纯逻辑,Vitest,403 例)
pnpm run test:integration # 集成测试(@vscode/test-electron)
pnpm run package # 生产构建
pnpm dlx @vscode/vsce package # 打包 .vsix
pnpm exec vsce package # 打包 .vsix
```

使用 vsce(`@vscode/vsce`)打包与发布:
使用 vsce(`@vscode/vsce` 已列为 devDependency;`pnpm exec` 使用项目锁定版本——pnpm 12 起 `dlx` 临时环境对其未审批的原生构建脚本会硬失败)打包与发布:

```bash
pnpm dlx @vscode/vsce package
pnpm exec vsce package
# 生成 hyper-git-agentic-git-x.x.x.vsix
pnpm dlx @vscode/vsce publish
pnpm exec vsce publish
# ThreeFish-AI.hyper-git-agentic-git-x.x.x published to VS Code Marketplace
```

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.16](./v0.0.16.md) | 多根工作区仓库切换 · 分支前缀分组树 · Agentic Git 预置 · Diff 修复与面板布局优化 | 2026-09-01 |
| [v0.0.14](./v0.0.14.md) | 修复 GRAPH 视图提交记录时间倒序(`--topo-order` → `--author-date-order`) | 2026-07-06 |
| [v0.0.13](./v0.0.13.md) | 视图容器由活动栏迁移至底部 Panel(Terminal 之后) | 2026-07-05 |
| [v0.0.12](./v0.0.12.md) | 提交详情光标跟随悬浮卡 · Tooltip 交互修复 · 侧边栏布局优化 · 依赖升级基线(TS6 / vitest4 / vite8) | 2026-07-04 |
Expand Down
70 changes: 70 additions & 0 deletions docs/releases/v0.0.16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Hyper Git - Agentic Git v0.0.16 — 多根工作区仓库切换 · 分支分组树 · Agentic Git 预置

> 本版是自 v0.0.14 以来的全量积累(0.0.15 版本号已就位但未单独发布,本版一并发布)。四大新特性:**多根工作区多仓库切换**、**Branches 按前缀分组树**、**Agentic Git 偏好配置与 Claude Code 配置预置**(M5 前置铺垫),并修复新增 / 删除 / 重命名文件打不开差异的问题、优化面板默认布局。

---

## ✨ 亮点速览

- **多根工作区多仓库切换**:Graph 工具栏仓库名成为**可切换按钮**,一键在多根工作区的多个仓库间切换全局活跃仓库——Graph / Branches / Commit / Stash / Shelf / Worktrees / 未提交角标**七视图级联跟随**,且 changelist、分支收藏、Shelf、最近提交消息、视图状态全部**按仓库隔离记忆**,重开窗口回到上次操作的仓库。
- **Branches 按前缀分组为文件夹树**:Local / Remote / Tags 三段支持「平铺 ⇄ 树」切换,共享前缀的分支收拢为可折叠文件夹(如 `feature/1.x.x`、`feature/2.x.x` → 📁`feature`),远程整体收拢为 `origin` 文件夹;默认树形、偏好按仓库记忆。
- **Agentic Git 预置(M5 前置铺垫)**:新增 `hyperGit.agent.*` 四项偏好(PR 基线分支 + Commit / Create PR / Review 三项 agent 指令模板)与 `hyperGit.claudeCode.executablePath` 设置(留空自动探测 `claude`)+ 「浏览 / 打开 Claude 设置」快捷入口。
- **Diff 修复**:新增 / 删除 / 重命名文件在 Commit 与 Graph 视图可正常打开差异(空树 ref 构造 URI),修复重命名点击崩溃。
- **面板布局优化**:Commit / Branches / Graph / Worktrees 依序默认呈现(前两者折叠),Stash / Shelf 默认隐藏(可经视图右键菜单恢复)。

---

## 🧩 特性详述

### 1. 多根工作区仓库切换(#108 / issue #107)

此前在含多个 Git 仓库的多根工作区中,Hyper Git 只能操作单一仓库。本版将 Graph 工具栏仓库名升级为**可切换按钮**(对标 Git Graph;单仓库退化为纯文本,多数用户零感知),Command Palette 亦可经 `Hyper Git: Select Repository…` 直达。

- **七视图级联**:切换后 Graph / Branches / Commit(changelist)/ Stash / Shelf / Worktrees / 未提交角标全部跟随新活跃仓库刷新;
- **按仓库隔离记忆**:changelist 分配、分支收藏、分组偏好、Shelf 存储(旧平铺数据一次性安全迁移:仅 rename、零删除零覆盖)、最近提交消息、Graph / Commit 视图状态(scope / 选中 / 勾选集)均按仓库分区;
- **持久化**:活跃仓库记于 `workspaceState`,重开窗口回到上次操作的仓库。

### 2. Branches 按前缀分组树(#86)

Local / Remote / Tags 三段支持在**平铺**与**按 `/` 前缀分组的可折叠文件夹树**间切换(工具栏按钮,偏好按仓库持久化、默认树形)。共享前缀的分支收拢到以前缀命名的文件夹下、叶子仅显示末段后缀;远程整体收拢为 `origin` 文件夹。排序分支感知:当前 HEAD → 收藏 → 同档文件夹优先、名称数字感知升序;并**隐藏 `origin/HEAD` 符号引用**(对齐主流 Git UI)。checkout / delete / rename / merge / rebase / compare / favorite 等右键操作全部不受影响。

### 3. Agentic Git 预置(#88 / #89,M5 前置铺垫)

- **偏好配置**:`hyperGit.agent.baseBranch`(创建 PR 的基线分支,留空=仓库默认分支)+ `commitPreferences` / `createPrPreferences` / `reviewPreferences`(点击 **Commit / Create PR / Review** 时发送给 agent 的自定义指令,多行文本域、内置默认模板);
- **Claude Code 配置**:`hyperGit.claudeCode.executablePath`(留空=从 `PATH` 自动探测 `claude`)+ 命令 `Set Claude Code Executable Path…`(QuickPick 浏览写回)与 `Open Claude Settings`(打开 `~/.claude/settings.json`,缺失时经确认创建)。

以上为配置层预置,`agent/` 接缝与 `hyperGit.ai.enabled` 行为不变、零破坏。

### 4. Diff 缺失端修复(#87 / issue #15)

新增文件(无旧端)、删除文件(无新端)此前在新版 VS Code 上打不开差异(`readFile` 对不存在具名 ref 抛 `FileNotFound`)。本版改用 git **空树 ref** 构造 URI,跨 VS Code 版本稳定解析为空内容;重命名文件两端异路径正确呈现;同时修复 Graph 视图点击重命名文件崩溃的问题。

### 5. 面板默认布局调整(#101 / issue #16)

六视图默认态微调:**Stash / Shelf** 默认隐藏(经视图标题右键菜单勾选恢复)、**Commit / Worktrees** 默认折叠、**Branches / Graph** 默认展开,顺序调整为 Commit · Branches · Graph · Worktrees。

---

## ⚙️ 升级与兼容

- **无破坏性变更**:全部特性均为增量新增或纯修复,未移除任何命令 / 配置 / 视图。
- **布局默认仅影响新安装 / 干净 profile**:VS Code 会记忆旧布局——老用户升级后如需采用新默认,请执行命令面板「View: Reset View Locations」或右键 Hyper Git 容器页签「Reset Location」(平台行为,同 [issue #12](../.agents/issue.md))。
- **多仓库数据迁移安全**:Shelf 旧平铺数据迁移仅 rename,零删除零覆盖。
- **开发者**:包管理器升级 pnpm 11.9.0 → **12.2.1**(Rust 重写版,命令 / 配置 / 锁文件格式兼容 pnpm 11);CI 自动跟随,克隆后 `pnpm install` 即可。

---

## 📦 安装

- **VS Code Marketplace**:搜索 `Hyper Git - Agentic Git` 直接安装或更新。
- **手动**:从 [Releases](https://github.com/ThreeFish-AI/hyper-git/releases/tag/v0.0.16) 下载 `hyper-git-agentic-git-0.0.16.vsix` → 命令面板 `Extensions: Install from VSIX`(Cursor / Windsurf / VSCodium 等用户可经此方式安装)。

**系统要求**: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)。
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@
"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.15",
"version": "0.0.16",
"publisher": "ThreeFish-AI",
"license": "MIT",
"preview": true,
"private": true,
"packageManager": "pnpm@11.9.0",
"packageManager": "pnpm@12.2.1",
"repository": {
"type": "git",
"url": "https://github.com/ThreeFish-AI/hyper-git.git"
Expand Down
101 changes: 101 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.