Skip to content

Commit f267dc5

Browse files
JusterZhuclaude
andcommitted
fix: align .clinerules and .cursor/rules with v10.4.6 stable API
Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 1b83269 commit f267dc5

6 files changed

Lines changed: 51 additions & 32 deletions

File tree

.clinerules/01-generalupdate-init.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,20 @@ globs: ["**/*.cs", "**/*.csproj", "**/*.json"]
44
tags: ["dotnet", "update", "generalupdate"]
55
---
66

7-
# GeneralUpdate 快速集成
7+
# GeneralUpdate 快速集成 (v10.4.6 稳定版 API)
88

9-
## NuGet: GeneralUpdate.Core(必需), Differential(可选), Bowl(可选)
9+
## NuGet: GeneralUpdate.Core(必需), Bowl(可选, 与Core互斥), Differential(嵌入Core无需额外引用)
1010

1111
## 最小集成
12-
SetSource(url, key) -> SetOption(AppType.Client) -> LaunchAsync()
12+
```csharp
13+
new Configinfo { ... }.SetConfig().LaunchAsync()
14+
```
15+
16+
## 核心 API(非 dev 分支的 SetSource/SetOption)
17+
- Configinfo 属性: UpdateUrl, AppSecretKey, InstallPath, ClientVersion, MainAppName, UpdateAppName, ProductId
18+
- AppType 是 class(非 enum),`AppType.ClientApp = 1`, `AppType.UpgradeApp = 2`
19+
- `LaunchAsync()` 返回 `Task<GeneralUpdateBootstrap>`(非 `Task<bool>`
20+
- ❌ 无 `SetSource()`, `SetOption()`, `Hooks<T>()`, `Strategy<T>()`, `SilentOrchestrator`
1321

1422
## 4 大场景: None/UpgradeOnly/MainOnly/Both
1523

@@ -18,4 +26,4 @@ MainAppName, UpdateAppName, ProductId, InstallPath, UpdatePath, ClientVersion, U
1826

1927
## 关键: UpgradeApp须随首个版本发布, 双进程AppSecretKey一致, 版本4段式
2028

21-
## AppType枚举: Client=1, Upgrade=2, OssClient=3, OssUpgrade=4
29+
## Bowl 引用规则: 只用 `GeneralUpdate.Bowl`(传递依赖 Core,两者不能同时引用)

.clinerules/03-generalupdate-strategy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,6 @@ tags: ["dotnet", "generalupdate"]
3636
| Platform | Notes |
3737
|----------|-------|
3838
| **Windows** | Uses **Bowl** crash daemon (restarts the app bus on unhandled exception). Full file-system access. |
39-
| **Linux / macOS** | Uses **UnixPermissionHooks** to handle `chmod +x` / setuid and OS-level permission elevation. |
39+
| **Linux / macOS** | ⚠️ v10.4.6 无 `UnixPermissionHooks`,需手动 `chmod +x`。目标框架建议 .NET 8+。 |
4040

4141
> For the full Bootstrap pipeline and middleware architecture, see `01-generalupdate-init.md`.

.clinerules/04-generalupdate-advanced.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,19 @@ globs: ["**/*.cs"]
44
tags: ["dotnet", "generalupdate", "advanced"]
55
---
66

7-
# 高级定制
7+
# 高级定制 (v10.4.6 注意事项 ⚠️)
88

9-
## 扩展点: Hooks/Strategy/UpdateReporter/DownloadSource/DownloadOrchestrator/DownloadPolicy/DownloadExecutor/DownloadPipeline/SslValidationPolicy/HttpAuthProvider
9+
## ⚠️ v10.4.6 稳定版无以下扩展点
10+
- ❌ 无 `IUpdateHooks` / `IStrategy` / `IProcessInfoProvider`
11+
- ❌ 无 `SetOption` / `SilentPollOrchestrator` / `ProcessContract`
12+
- ❌ 无可编程 Option 配置系统(仅 Configinfo 属性)
1013

11-
## IPC: EncryptedFile(默认)/NamedPipe/SharedMemory/AutoFallback
14+
## IPC: 仅 EncryptedFile(默认,AES加密文件),无可替换 IPC 接口
15+
- ❌ 无 NamedPipe / SharedMemory / AutoFallback 接口替换能力
1216

13-
## Bowl: procdump->监控->dump->故障报告->AutoRestore
17+
## Bowl: procdump->监控->dump->故障报告->AutoRestore(可用,属于独立模块)
18+
- Bowl 引用规则:只用 `GeneralUpdate.Bowl`,不额外引用 Core
1419

15-
## AOT: v5.0+支持, SignalR用JSON+JsonSerializerContext
20+
## AOT: v10.4.6 支持 NativeAOT,SignalR 推荐 JSON + JsonSerializerContext
21+
22+
> ⚠️ 以上扩展点仅在 dev 分支(v10.5.0-beta.2)存在。**模板和示例均已针对 v10.4.6 稳定版编写。**

.cursor/rules/generalupdate-advanced.mdc

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,19 @@ globs: ["**/*.cs", "**/*.csproj"]
44
alwaysApply: false
55
---
66

7-
# GeneralUpdate 高级定制
7+
# GeneralUpdate 高级定制 (v10.4.6 ⚠️)
88

9-
## 10+ 扩展点
10-
Hooks, Strategy, UpdateReporter, DownloadSource, DownloadOrchestrator, DownloadPolicy, DownloadExecutor, DownloadPipeline, SslValidationPolicy, HttpAuthProvider
9+
## ⚠️ v10.4.6 稳定版不支持以下扩展点
10+
- ❌ 无 Hooks / Strategy / UpdateReporter / DownloadOrchestrator / IHttpAuthProvider
11+
- ❌ 无 SetOption / SilentPollOrchestrator / ProcessContract
1112

12-
## 4 种 IPC
13-
EncryptedFile(默认), NamedPipe, SharedMemory, AutoFallback
13+
## IPC
14+
- ✅ EncryptedFile(默认,AES加密文件)
15+
- ❌ 无可替换 IPC 接口(NamedPipe/SharedMemory/AutoFallback 不可用)
1416

15-
## Bowl 崩溃守护
17+
## Bowl 崩溃守护(可用,独立模块)
1618
Phase1: procdump准备 -> Phase2: 监控 -> Phase3: 检查dump -> Phase4: MiniDump+故障报告+系统诊断+AutoRestore+OnCrash
19+
Bowl 引用规则:只用 `GeneralUpdate.Bowl`(传递依赖 Core)
1720

1821
## AOT/Trim
19-
v5.0+ 支持。SignalR用JSON协议+JsonSerializerContext
22+
v5.0+ 支持。SignalR 推荐用 JSON 协议 + JsonSerializerContext

.cursor/rules/generalupdate-init.mdc

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,18 @@ globs: ["**/*.cs", "**/*.csproj", "**/*.json"]
44
alwaysApply: false
55
---
66

7-
# GeneralUpdate 快速集成
7+
# GeneralUpdate 快速集成 (v10.4.6 稳定版 API)
88

99
## NuGet
10-
- `GeneralUpdate.Core` — 必需。Bootstrap/策略/下载/IPC/事件
11-
- `GeneralUpdate.Differential` — 可选。差分更新
12-
- `GeneralUpdate.Bowl`可选。崩溃守护
10+
- `GeneralUpdate.Core` — 必需
11+
- `GeneralUpdate.Bowl` — 可选(只用 Bowl,不额外引用 Core,两者互斥)
12+
- ~~`GeneralUpdate.Differential`~~已嵌入 Core,无需额外引用
1313

14-
## 最小集成
15-
SetSource(url, key) -> SetOption(AppType.Client) -> LaunchAsync()
14+
## 最小集成 (v10.4.6)
15+
```csharp
16+
new Configinfo { ... }.SetConfig().LaunchAsync()
17+
```
18+
❌ 无 SetSource() / SetOption() — 仅 Configinfo 属性
1619

1720
## 4 大更新场景
1821
- None, UpgradeOnly, MainOnly, Both
@@ -25,12 +28,10 @@ MainAppName, UpdateAppName, ProductId, InstallPath, UpdatePath, ClientVersion, U
2528
- Client 和 Upgrade 必须相同 AppSecretKey
2629
- 版本号必须是 4 段式
2730
- manifest ClientVersion 不能为空
28-
- AppType 枚举:Client=1, Upgrade=2, OssClient=3, OssUpgrade=4
31+
- AppType 是 **class**(非 enum):`AppType.ClientApp = 1`, `AppType.UpgradeApp = 2`
32+
- ❌ 无 OssClient/OssUpgrade
2933

30-
## 3 种配置方式
31-
- Minimal: SetSource + manifest.json
32-
- Standard: SetConfig(UpdateRequest) + Option + events
33-
- appsettings: LoadFromConfiguration(config)
34-
35-
## 5 种 HTTP 认证
36-
HMAC(默认), Basic, Bearer, APIKey, 自定义(IHttpAuthProvider)
34+
## 配置方式 (v10.4.6)
35+
- Configinfo 属性直接设置 + SetConfig()
36+
- appsettings.json 注入(参考模板)
37+
- ❌ 无 Option 配置系统

.cursor/rules/generalupdate-strategy.mdc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ alwaysApply: false
2525

2626
## 平台差异
2727
Windows: Hash->解压->Patch+Bowl+Drivelution
28-
Linux/macOS: Hash->解压->Patch(无Bowl,需UnixPermissionHooks)
28+
Linux/macOS: Hash->解压->Patch(⚠️ v10.4.6 无 UnixPermissionHooks,需手动 chmod +x)

0 commit comments

Comments
 (0)