Skip to main content

add-scoop-app

为本仓库(scoop-violet)新增一个 Scoop 应用。当用户要求添加新软件/新应用到本 bucket、或要求"加一个 xxx 的 manifest"时触发。按 wiki/SPEC.md 规范完成调研→manifest→脚本→验证→README 全流程,且不修改仓库外任何文件。

Jump to install

Source facts

Repository
locusyuri/scoop-violet
Last source activity
August 12, 2026 at 14:46
Detected SKILL.md language
Chinese
Stars
1
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
add-scoop-app
description
为本仓库(scoop-violet)新增一个 Scoop 应用。当用户要求添加新软件/新应用到本 bucket、或要求"加一个 xxx 的 manifest"时触发。按 wiki/SPEC.md 规范完成调研→manifest→脚本→验证→README 全流程,且不修改仓库外任何文件。
disable-model-invocation
true
# 新增 Scoop 应用(scoop-violet) 为 scoop-violet bucket 新增应用。**严格遵循 [wiki/SPEC.md](../../wiki/SPEC.md) 的 manifest 规范**,只操作本仓库内文件。 ## 流程 ### 1. 调研(只读) - 若用户提供 `ref/` 下的源码克隆与本地安装位置,先分析其发布方式(`es` 可定位本地安装): - 发布产物类型(单 exe / NSIS 安装器 / zip 便携包 / 其他) - 版本来源(GitHub Releases / latest.json / 网页正则) - 是否有配置文件、数据目录、自更新机制 - 用 GitHub API(或 `es` 本机搜索)确认真实资产名与 hash——**页面显示名可能 ≠ 实际下载名**(如 `WeMD Setup 1.4.4.exe` 实际链接是 `WeMD.Setup.1.4.4.exe`)。 ### 2. 编写 manifest - 文件放 `bucket/<应用名>.json`,**不要放仓库根目录**。 - 必填字段:`version`(不带 `v`)、`description`、`homepage`、`license`、`url`+`hash`。 - **`checkver` 与 `autoupdate` 必须成对出现**(通用脚本 `scripts/update.py` 依赖它们自动更新,见 SPEC 第 12 节)。 - 可用的 checkver 形式:`"github"` / `{"github": "<owner/repo>"}` / `{"url","regex"}` / `{"url","jsonpath","regex"}`。 - autoupdate 支持 `$version`、`$cleanVersion`、`$match<Name>` 模板与 hash 抓取(jsonpath / `$sha256`)。 - 路径分隔符一律 `\\`;子目录用 `\\` 连接。 - 常见决策: - 便携单 exe → 直接 `bin`,无需 installer。 - NSIS 安装器 → 用 `installer.script` 静默安装;可 `/D=$dir` 装进 scoop 目录(`/D=` 必须最后、不带引号)。 - 数据目录在用户目录(如 `%APPDATA%`)→ 不要写 `persist`,卸载自动保留。 - 应用自带自更新且会覆盖二进制 → 用 `scripts/<应用>/` 下的 post_install 脚本关闭(参考 `bucket/atomcode.json` 与 `scripts/atomcode/disable-auto-update.ps1`)。 ### 3. 配套脚本(如需要) - 放 `scripts/<应用名>/` 下,manifest 中用 `"$bucketsdir\\$bucket\\scripts\\<应用>\\<脚本>.ps1"` 引用。 - 修改用户目录配置时**只做行级修改/追加,禁止整体覆盖**(配置文件可能含密钥)。 ### 4. 验证(必须) ```bash powershell -NoProfile -Command 'Get-Content bucket/<应用>.json -Raw | ConvertFrom-Json | Out-Null' # JSON 合法 uv run --no-project python scripts/update.py --dry-run # checkver/autoupdate 链路(不写回) ``` - `update.py --dry-run` 应输出 `OK <应用>: up to date (<版本>)` 或按预期更新;出现 `FAIL` 必须排查。 - 若新版本可用时,在临时目录伪造旧版本实测一次更新路径(`--dir <临时目录>`),确认 url/hash 正确生成。 ### 5. 收尾 - 更新 `README.md` 的「收录应用」表格。 - 未经用户明确要求,不要提交/推送;提交时用中文 conventional commit 消息。
View on GitHub