Skip to content

Commit 13ac9b0

Browse files
JusterZhuJusterZhuclaude
authored
fix: switch default README to English (#10)
Previously the default README.md was in Chinese, with the English version in README.en.md. Since this is a global-facing project, the default README should display in English for all visitors. - Replaced README.md content with the full English version - Chinese version remains available at README.zh-Hans.md - English version also preserved at README.en.md for compatibility Co-authored-by: JusterZhu <juster.zhu@example.com> Co-authored-by: Claude <noreply@anthropic.com>
1 parent c0814b3 commit 13ac9b0

1 file changed

Lines changed: 127 additions & 93 deletions

File tree

README.md

Lines changed: 127 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,159 +1,193 @@
11
# GeneralUpdate Skill CodeGen
22

3-
**Claude Code 技能套件**帮助 .NET 开发者在 5 分钟内将 [GeneralUpdate](https://github.com/GeneralLibrary/GeneralUpdate) 自动更新系统集成到任意 .NET 应用中。
3+
**Claude Code Skill Suite**helps .NET developers integrate the [GeneralUpdate](https://github.com/GeneralLibrary/GeneralUpdate) auto-update system into any .NET application in under 5 minutes.
44

5-
覆盖 50+ 真实 Issue 发现的已知问题,提供即用型代码生成 + 深度故障排查。
5+
Covers 50+ known issues discovered from real GitHub/Gitee feedback, providing production-ready code generation and deep troubleshooting.
66

7-
> **当前版本:v1.0.0**针对 NuGet `GeneralUpdate.Core ≥ 10.4.6` 稳定版
8-
> 兼容性:`v10.4.6`NuGet 最新稳定版)
9-
> 所有 32 个模板文件已通过 `dotnet build` 编译验证(0 errors)。
7+
> **Current Version: v1.0.0**targets NuGet `GeneralUpdate.Core ≥ 10.4.6` stable release
8+
> Compatibility: `v10.4.6` (NuGet latest stable)
9+
> All 32 template files verified via `dotnet build` (0 errors).
1010
11-
## 技能总览
11+
---
1212

13-
| 技能 | 命令 | 一句话功能 | 覆盖量 |
14-
|------|------|-----------|--------|
15-
| 🚀 `generalupdate-init` | `/generalupdate-init` | 双项目脚手架 + Bootstrap 配置(4 种方式) | 4 大场景 + 4 种配置方式 + 完整 API |
16-
| 🎨 `generalupdate-ui` | `/generalupdate-ui` | 自动识别 UI 框架,生成全状态更新窗口(11 种状态) | 6 UI 框架 + 全状态机 + 桥接代码 |
17-
| ⚙️ `generalupdate-strategy` | `/generalupdate-strategy` | 6 种策略决策树 + 混合组合 + 平台差异 | 6 策略 + 4 组合 + 平台对照 |
18-
| 🔧 `generalupdate-advanced` | `/generalupdate-advanced` | 10+ 扩展点 + 4 种 IPC + Bowl + AOT | 10+ 扩展点 + 完整架构图 |
19-
| 🩺 `generalupdate-troubleshoot` | `/generalupdate-troubleshoot` | 50+ 已知问题诊断 + 6 步通用排查 | 8 致命 + 11 高 + 20 中 + 12 低 |
13+
## Skills Overview
2014

21-
## 快速开始
15+
| Skill | Command | One-Liner | Coverage |
16+
|-------|---------|-----------|----------|
17+
| 🚀 `generalupdate-init` | `/generalupdate-init` | Dual-project scaffold + Bootstrap config (4 methods) | 4 scenes + 4 config methods + full API |
18+
| 🎨 `generalupdate-ui` | `/generalupdate-ui` | Auto-detect UI framework, generate full-state update window (11 states) | 6 UI frameworks + full state machine + bridge code |
19+
| ⚙️ `generalupdate-strategy` | `/generalupdate-strategy` | 6-strategy decision tree + mixed combinations + platform diff | 6 strategies + 4 combos + platform matrix |
20+
| 🔧 `generalupdate-advanced` | `/generalupdate-advanced` | 10+ extension points + 4 IPC + Bowl + AOT | 10+ ext points + full architecture diagram |
21+
| 🩺 `generalupdate-troubleshoot` | `/generalupdate-troubleshoot` | 50+ known issues diagnosis + 6-step universal check | 8 critical + 11 high + 20 medium + 12 low |
2222

23-
在 Claude Code 中,只需描述你的需求:
23+
---
24+
25+
## Quick Start
26+
27+
In Claude Code, simply describe your needs:
2428

2529
```
26-
"给我的 WPF 应用添加自动更新"
27-
自动激活 generalupdate-init + generalupdate-ui
30+
"Add auto-update to my WPF app"
31+
Automatically activates generalupdate-init + generalupdate-ui
2832
29-
"更新成功了但启动报错"
30-
自动激活 generalupdate-troubleshoot
33+
"Update succeeded but the app crashes on startup"
34+
Automatically activates generalupdate-troubleshoot
3135
32-
"配置 OSS 静默更新"
33-
自动激活 generalupdate-strategy
36+
"Configure OSS silent update"
37+
Automatically activates generalupdate-strategy
3438
35-
"添加 Bowl 崩溃守护 + 自定义 Hooks"
36-
自动激活 generalupdate-advanced
39+
"Add Bowl crash daemon + custom Hooks"
40+
Automatically activates generalupdate-advanced
3741
```
3842

39-
### 使用前提
43+
### Prerequisites
44+
45+
1. **Claude Code**: requires [Claude Code CLI](https://claude.com/claude-code) installed and configured
46+
2. **.NET SDK**: target project must target .NET 8+ (.NET 10 recommended)
47+
3. **GeneralUpdate Server**: for standard strategies, deploy [GeneralSpacestation](https://github.com/JusterZhu/GeneralSpacestation) or a compatible backend
48+
4. **Dual-Process Architecture**: basic understanding of the Client + Upgrade dual-process model
4049

41-
1. **Claude Code**:需要安装并配置 [Claude Code CLI](https://claude.com/claude-code)
42-
2. **.NET SDK**:目标项目需基于 .NET 8+(推荐 .NET 10)
43-
3. **GeneralUpdate 服务端**:对于标准策略,需要部署 [GeneralSpacestation](https://github.com/JusterZhu/GeneralSpacestation) 或兼容的后端服务
44-
4. **双进程架构**:需要理解 Client + Upgrade 双进程的核心理念
50+
---
4551

46-
## 数据来源
52+
## Data Sources
4753

48-
所有技能的内容基于以下真实数据:
54+
All skill content is derived from real-world sources:
4955

50-
- **GitHub Issues**: #308#517(重构、Bug、功能、测试)
51-
- **Gitee Issues**: 30 个真实用户反馈(中文社区痛点)
52-
- **全面代码审计**: 17 CRITICAL/HIGH + 14 MEDIUM + 10 INFO 发现
53-
- **Samples 源码**: CompleteUpdateSampleSilentUpdateSampleOssSampleDifferentialSamplePushSampleBowlSampleExtensionSampleCompressSampleImDiskQuickInstallSample
54-
- **UI Samples**: SemiUrsaLayUIAntdUIWPFDevelopersMauiUpdateAndroidUpdate
56+
- **GitHub Issues**: #308#517 (refactoring, bugs, features, tests)
57+
- **Gitee Issues**: 30 real user reports (Chinese community pain points)
58+
- **Full Code Audit**: 17 CRITICAL/HIGH + 14 MEDIUM + 10 INFO findings
59+
- **Samples Source**: CompleteUpdateSample, SilentUpdateSample, OssSample, DifferentialSample, PushSample, BowlSample, ExtensionSample, CompressSample, ImDiskQuickInstallSample
60+
- **UI Samples**: SemiUrsa, LayUI, AntdUI, WPFDevelopers, MauiUpdate, AndroidUpdate
5561

56-
## 技能文件结构
62+
---
63+
64+
## Skill File Structure
5765

5866
```
5967
.claude/skills/
6068
├── generalupdate-init/ (7 files)
61-
│ ├── SKILL.md ← 4大场景 + 4种配置 + API详解
62-
│ ├── reference.md ← NuGet/API/协议/框架兼容性
69+
│ ├── SKILL.md ← 4 scenes + 3 config methods + API deep-dive
70+
│ ├── reference.md ← NuGet/API/protocol/framework compatibility
6371
│ └── templates/
64-
│ ├── MinimalIntegration.cs ← 3行代码 + 注释说明
65-
│ ├── FullIntegration.cs ← 完整配置 + Upgrade进程 + appsettings
72+
│ ├── MinimalIntegration.cs ← 3 lines + annotations
73+
│ ├── FullIntegration.cs ← Full config + Upgrade process + appsettings
6674
│ ├── generalupdate.manifest.json
6775
│ └── project-scaffold/
6876
│ ├── ClientApp.csproj / ClientProgram.cs
6977
│ └── UpgradeApp.csproj / UpgradeProgram.cs
7078
7179
├── generalupdate-ui/ (10 files)
72-
│ ├── SKILL.md ← 11状态UI状态机 + 框架检测逻辑
80+
│ ├── SKILL.md ← 11-state UI state machine + framework detection
7381
│ └── templates/
74-
│ ├── RealDownloadService.cs ← ★ 核心桥接 Mock→GeneralUpdate
75-
│ ├── DownloadViewModels.cs ← 全状态MVVM ViewModel
76-
│ ├── SemiUrsaClientView.axaml ← Avalonia全状态窗口
82+
│ ├── RealDownloadService.cs ← ★ Core bridge: Mock→GeneralUpdate
83+
│ ├── DownloadViewModels.cs ← Full-state MVVM ViewModel
84+
│ ├── SemiUrsaClientView.axaml ← Avalonia full-state window
7785
│ ├── SemiUrsaUpgradeView.axaml
7886
│ ├── LayUIStyle.xaml ← WPF+LayUI
7987
│ ├── WPFDevelopersStyle.xaml ← WPF+WPFDevelopers
8088
│ ├── AntdUIStyle.cs ← WinForms+AntdUI
8189
│ └── MauiUpdatePage.xaml/.cs ← MAUI
8290
8391
├── generalupdate-strategy/ (7 files)
84-
│ ├── SKILL.md ← 决策树 + 6策略详解 + 混合 + 平台对照
92+
│ ├── SKILL.md ← Decision tree + 6 strategies + mixing + platform
8593
│ └── examples/
86-
│ ├── ClientServerStrategy.cs ← 标准服务端模式
87-
│ ├── OssStrategy.cs ← 对象存储模式
88-
│ ├── SilentStrategy.cs ← 静默轮询模式
89-
│ ├── DifferentialStrategy.cs ← 差分更新模式
90-
│ ├── CrossVersionStrategy.cs ← 跨版本CVP模式
91-
│ └── PushStrategy.cs ← SignalR推送模式
94+
│ ├── ClientServerStrategy.cs ← Standard server mode
95+
│ ├── OssStrategy.cs ← Object storage mode
96+
│ ├── SilentStrategy.cs ← Silent polling mode
97+
│ ├── DifferentialStrategy.cs ← Delta update mode
98+
│ ├── CrossVersionStrategy.cs ← Cross-version CVP mode
99+
│ └── PushStrategy.cs ← SignalR push mode
92100
93101
├── generalupdate-advanced/ (6 files)
94-
│ ├── SKILL.md ← 10+扩展点 + IPC + Bowl + 事件系统
95-
│ ├── reference.md ← 扩展点速查 + Bowl选项
102+
│ ├── SKILL.md ← 10+ ext points + 4 IPC + Bowl + event system
103+
│ ├── reference.md ← Extension API quick ref + Bowl options
96104
│ └── templates/
97-
│ ├── CustomHooks.cs ← 完整IUpdateHooks + Unix权限
98-
│ ├── CustomStrategy.cs ← 自定义平台策略
99-
│ ├── BowlIntegration.cs ← 崩溃守护配置
100-
│ └── NamedPipeIPC.cs ← 命名管道IPC替换
105+
│ ├── CustomHooks.cs ← Full IUpdateHooks + Unix permissions
106+
│ ├── CustomStrategy.cs ← Custom platform strategy
107+
│ ├── BowlIntegration.cs ← Crash daemon config
108+
│ └── NamedPipeIPC.cs ← Named pipe IPC replacement
101109
102110
└── generalupdate-troubleshoot/ (2 files)
103-
├── SKILL.md ← 诊断工作流
104-
└── reference.md ← ★ 50+症状清单(C/H/M/L四级)
111+
├── SKILL.md ← Diagnostic workflow
112+
└── reference.md ← ★ 50+ symptom catalog (C/H/M/L levels)
105113
```
106114

107-
## 版本历史
115+
---
116+
117+
## Known Limitations
118+
119+
> ⚠️ **NuGet Reference Rules**:
120+
> - Core only: `dotnet add package GeneralUpdate.Core`
121+
> - With Bowl: reference **only** `GeneralUpdate.Bowl` (it transitively includes Core — the two cannot coexist)
122+
> - Differential types are already embedded in Core, **no need** for `GeneralUpdate.Differential`
123+
124+
> ⚠️ **API Surface**: The NuGet stable release (v10.4.6) has a simpler API than the development branch (v10.5.0-beta.2). The following are **not available** in the current stable release:
125+
> - No programmable `Option` config system (only `Configinfo` properties)
126+
> - No `IUpdateHooks` lifecycle hooks
127+
> - No `IStrategy` replaceable strategy interface
128+
> - No `SilentPollOrchestrator`
129+
> - No `ProcessContract`/IPC replacement interface
130+
>
131+
> These features may ship in a future version. All templates target the **stable v10.4.6** API.
132+
133+
See [BUGS.md](BUGS.md) for the full audit trail.
134+
135+
---
136+
137+
## Version History
108138

109139
### v1.0.0 — 2026-06-16
110140

111-
**相比开发分支(v10.5.0-beta.2),稳定版 NuGet v10.4.6 的 API 有根本性差异。**
112-
所有模板已根据 **稳定版 API** 重写并通过编译验证。
141+
**The NuGet stable release (v10.4.6) API is fundamentally different from the development branch (v10.5.0-beta.2).**
142+
All templates have been rewritten for the **stable API** and verified to compile.
143+
144+
**Key API Differences**:
145+
- ❌ No `SetSource()`, `SetOption()`, `Hooks<T>()`, `Strategy<T>()`, `SilentOrchestrator`
146+
- ❌ No `IUpdateHooks`, `IStrategy` extension point interfaces
147+
-`Configinfo` + `SetConfig()` + `LaunchAsync()` is the core API
148+
-`AppType` is a class (not enum), `ClientApp = 1`, `UpgradeApp = 2`
149+
-`LaunchAsync()` returns `Task<GeneralUpdateBootstrap>` (not `Task<bool>`)
150+
- ⚠️ NuGet reference rule: when using Bowl, reference **only** `GeneralUpdate.Bowl`, do not reference Core separately
113151

114-
**核心 API 差异**
115-
- ❌ 无 `SetSource()``SetOption()``Hooks<T>()``Strategy<T>()``SilentOrchestrator`
116-
- ❌ 无 `IUpdateHooks``IStrategy` 扩展点接口
117-
-`Configinfo` + `SetConfig()` + `LaunchAsync()` 为核心 API
118-
-`AppType` 是 class(非 enum),`ClientApp = 1``UpgradeApp = 2`
119-
-`LaunchAsync()` 返回 `Task<GeneralUpdateBootstrap>`(非 `Task<bool>`
120-
- ⚠️ NuGet 包引用规则:使用 Bowl 时只引用 `GeneralUpdate.Bowl`,不额外引用 Core
152+
**Changelog**:
153+
- **Rewritten**: All 12 template/example files to use the `Configinfo` API
154+
- **Rewritten**: All 5 strategy examples (adapted for v10.4.6 stable)
155+
- **Rewritten**: UI bridge templates (`RealDownloadService.cs`)
156+
- **Fixed**: Code uses `using GeneralUpdate.Common.Shared.Object` namespace
157+
- **Removed**: Nonexistent `SetOption`, extension points, `IUpdateHooks`, `IProcessInfoProvider` references
158+
- **Added**: English README (`README.en.md`)
159+
- **Added**: Simplified Chinese README (`README.zh-Hans.md`)
160+
- **Added**: `BUGS.md` (audit report with fixes)
121161

122-
**变更清单**
123-
- **重写**:全部 12 个模板/示例文件,使用 `Configinfo` API
124-
- **重写**:全部 5 个策略示例(适配 v10.4.6 稳定版)
125-
- **重写**:UI 桥接模板(`RealDownloadService.cs`
126-
- **修复**:代码使用 `using GeneralUpdate.Common.Shared.Object` 命名空间
127-
- **删除**:不存在的 `SetOption`、扩展点、`IUpdateHooks``IProcessInfoProvider` 等引用
128-
- **新增**:英文版 README(README.en.md)
129-
- **新增**:中文版 README(README.zh-Hans.md)
130-
- **新增**:BUGS.md(审计报告与修复方案)
162+
See [BUGS.md](BUGS.md) for details.
131163

132-
详见 [BUGS.md](BUGS.md)
164+
---
133165

134-
## 如何贡献
166+
## Contributing
135167

136-
1. 提交 Issue 报告 Bug 或功能请求
137-
2. Fork 本仓库,在 `.claude/skills/` 下添加或修改技能
138-
3. 确保模板代码与 GeneralUpdate 最新版 API 一致
139-
4. 提交 PR
168+
1. File an Issue to report bugs or request features
169+
2. Fork this repo, add/modify skills under `.claude/skills/`
170+
3. Ensure template code aligns with the latest GeneralUpdate API
171+
4. Submit a PR
140172

141-
### 开发指南
173+
### Development Guide
142174

143175
```bash
144-
# 本地测试技能
176+
# Test skills locally in Claude Code
145177
claude-code --load-skills .claude/skills/
146178

147-
# 验证模板代码可编译
179+
# Verify template code compiles
148180
dotnet build your-test-project/
149181
```
150182

151-
## 许可证
183+
---
184+
185+
## License
152186

153-
Apache 2.0 — GeneralUpdate 主项目一致
187+
Apache 2.0 — consistent with the GeneralUpdate main project.
154188

155-
## 相关项目
189+
## Related Projects
156190

157-
- [GeneralUpdate](https://github.com/GeneralLibrary/GeneralUpdate) — .NET 自动更新核心库
158-
- [GeneralSpacestation](https://github.com/JusterZhu/GeneralSpacestation)更新服务端
159-
- [GeneralUpdate-Samples](https://github.com/GeneralLibrary/GeneralUpdate-Samples)示例项目合集
191+
- [GeneralUpdate](https://github.com/GeneralLibrary/GeneralUpdate) — .NET auto-update core library
192+
- [GeneralSpacestation](https://github.com/JusterZhu/GeneralSpacestation)Update server backend
193+
- [GeneralUpdate-Samples](https://github.com/GeneralLibrary/GeneralUpdate-Samples)Sample projects collection

0 commit comments

Comments
 (0)