feat: prepare versioned production Curio releases

This commit is contained in:
2026-09-09 17:28:28 +08:00
parent 775d891288
commit 68b7164df8
10 changed files with 461 additions and 54 deletions
+9 -48
View File
@@ -1,58 +1,19 @@
# Trove Curios
第一方 Curio 与官方软件源仓库。目前包含一套用于验证 Trove 底座的测试插件,尚无正式发布的产品插件。测试源与 `source/index.json` 官方源分开,打包不会修改官方源。
让桌面,多一点顺手。
## 底座测试套件
Trove 官方插件库。发现喜欢的 Curio,装进你的工作台,让常用能力触手可及。
15 个插件工程(14 个插件 ID,其中升级插件有两个版本),覆盖 UI、Host 服务、Rust 原生后端、跨插件服务、可选/必需依赖、版本约束、生命周期、故障恢复和升级回滚。另有 22 个故意无效的安装包和 4 个异常软件源。
## 小工具,大用途
```sh
pnpm install --frozen-lockfile
每个 Curio 专注一件事,用轻巧的独立工具承接日常操作,把更多空间留给手头的工作。
# 已安装 trove 命令时可省略此变量;也可指向本机 app 仓库构建产物。
export TROVE_BIN=/absolute/path/to/app/target/debug/trove
pnpm run pack
## 按你的习惯组合
# 可选:使用真实底座组件在临时目录自动验证。
export TROVE_APP_DIR=/absolute/path/to/app
pnpm run verify
```
按需安装,自由搭配。工具各自更新,也能通过服务相互配合,让你的工作方式逐渐长成自己的样子。
打包需要 macOS、Rust/Cargo、Node.js 22+、pnpm、Python 3 和 Trove CLI。原生包只面向当前构建机器的架构;安装后的插件无需 Node.js、Python 或 Cargo。SDK 使用仓库内的版本化 `@trove/plugin-sdk@0.1.0` 包,离线复制到 UI 中。
## 从桌面,开始
生成结果:
打开 Trove,发现 Curios,为下一个灵感和下一项任务留出空间。
- `dist/packages/`:15 个可安装 `.curio` 包。
- `dist/index.json`:常规测试源,8 个插件 ID / 9 个版本包。
- `dist/faults-index.json`:6 个故障/异常依赖插件,按需安装。
- `dist/invalid/`:22 个无效包、4 个异常源及预期错误码。
- `dist/verification.json`:自动验证的逐项结果、环境和观察项。
在 Trove 添加**本地软件源**,选择 `dist/index.json` 的绝对路径,即可安装常规测试插件。若要测试 HTTP 下载:
```sh
pnpm run serve
# 在底座添加 HTTP 软件源:http://127.0.0.1:8765/index.json
# 用 QA_HTTP_PORT 环境变量更换端口,Ctrl-C 停止。
```
完整步骤、覆盖矩阵与当前限制见 [TESTING.md](TESTING.md)。
## 目录
- `curios/<name>/`:各插件独立 Manifest 与公共服务契约。
- `shared/ui/`、`shared/backend/`:测试面板和原生后端源码;构建时复制到各插件。
- `source/index.json`:官方源的初始空索引。
- `tools/`:构建、打包、测试源和真实底座验证适配器。
- `vendor/`:版本化 SDK 分发包与来源说明。
项目依赖使用 pnpm;插件通过版本化的 `@trove/plugin-sdk` 引用 SDK,不通过 `../app` 引用源文件。仅自动验证适配器通过显式的 `TROVE_APP_DIR` 编译待测底座组件,插件构建与运行不依赖该路径。App 仓库保留协议规范和教学模板。
## 发布约定
1. 各插件独立声明版本、平台、依赖与权限。
2. 构建并执行 trove curio check / pack。macOS 原生后端使用 Mac Runner 构建。
3. 先上传不可变的版本包,再更新索引中的下载 URL、大小和 SHA-256。
4. 最后原子发布 index.json。私有 Git 仓库不等于私有下载源;下载地址应符合分发对象的访问权限。
官网:https://trove.render.ink
[探索 Trove](https://trove.render.ink) · [发现 Curios](https://trove.render.ink/curios) · [开发者文档](docs/development.md)