| 我想… | 怎么做 |
|---|---|
| 收录自己的插件 | 读 docs/publishing.md,提 PR 或开“插件收录申请” issue;Lithe-IDEA 组织的 lithe-plugin-* 仓库由 bot 自动收录(见 首次收录) |
| 发布插件新版本 | 在自己仓库发布 Release 即可,bot 会自动开 PR;Lithe-IDEA 组织插件校验通过后自动合入(见 发布新版本) |
| 修改插件信息 | 提 PR 修改 lithe-plugin-index.json 中自己的条目(含 icon) |
| 报告有问题的插件 | 开“报告插件问题” issue;安全问题请勾选“安全问题”,维护者会优先处理 |
| 改进脚本、CI 或文档 | 直接提 PR,并运行 node --test scripts/store.test.mjs |
规则:
- 一个 PR 只改一个插件,便于审查和回退。
plugins按id字母序排列;每个插件的versions新版本在前。- 不修改已发布版本的
downloadURL与sha256;不删除历史版本(撤回问题版本除外)。 - README 的插件总览由
scripts/render-readme.mjs根据索引生成,合并到 main 后由Sync README工作流开一个bot/sync-readmePR 同步(main受保护,不能直接推送),PR 中不需要手动更新。 - 插件图标填在条目的
icon字段,指向插件仓库内固定到提交的 SVG/PNG(raw.githubusercontent.com/<owner>/<repo>/<commit>/…);没有填写时 README 使用默认图标。 - 插件的 bug 与功能请求请提到插件自己的仓库,本仓库只处理收录相关事务。
怎么写插件(开发指南、LSP 与构建工具教程、插件契约和 SDK)见 lithe-plugin-docs;写好以后按发布文档提交收录。
审查标准见 docs/maintainers.md。
这个仓库只存放一份索引文件 lithe-plugin-index.json,列出插件、
它们的版本和每个平台的下载包;插件代码和安装包都留在各自作者的 GitHub 仓库里,通过 GitHub Releases 分发。
Lithe 会把仓库地址 https://github.com/Lithe-IDEA/Lithe-store 解析为
https://raw.githubusercontent.com/Lithe-IDEA/Lithe-store/HEAD/lithe-plugin-index.json,
索引缓存在本机缓存目录,不会写入应用安装包。
Lithe 不再区分官方插件和普通插件:本仓库收录的每个插件都是普通插件,遵守同一套规则:
| 规则 | |
|---|---|
| ID 命名空间 | 不得使用 dev.lithe.*,Lithe 会直接拒绝;Lithe-IDEA 组织的插件使用 io.github.lithe-idea.* |
| 完整性 | 包内 plugin.json 声明 vendor.signatureRequirement: "none",不带发布者签名;索引固定每个包的 SHA-256,安装后记录内容摘要并在每次加载时复查 |
| 安装前 | 弹窗列出权限、要运行的程序和来源仓库,用户确认后安装 |
区别只在收录方式:
| Lithe-IDEA 组织插件 | 组织外插件 | |
|---|---|---|
| 范围 | Lithe-IDEA 组织下的公开 lithe-plugin-* 仓库(lithe-plugin-docs 除外) |
其他公开 GitHub 仓库 |
| 首次收录 | bot 发现带插件包的正式 Release 后自动收录,不需要提交 PR | 提 PR 或开“插件收录申请” issue,维护者按审查清单审核后合并 |
| 新版本 | bot 开 PR,校验通过后自动合入 | bot 开 PR,维护者审核后合并 |
两种插件都由各自的开发者维护。本仓库的校验和审查只保证:索引格式正确、下载包与 SHA-256 一致、
包内 plugin.json 与索引条目一致、来源仓库真实存在且公开。它不代表对插件代码的安全审计。
Lithe 主仓库仍内置少量迁移前的 dev.lithe.* 插件,它们正在逐个迁出为 Lithe-IDEA 组织插件,迁出后同样由本仓库收录。
| 文档 | 内容 |
|---|---|
| lithe-plugin-docs | 插件开发:开发指南、LSP 与构建工具教程、插件契约与 JSON Schema、SDK 下载 |
| docs/publishing.md | 插件作者:如何打包、发布 Release、提交收录和发布新版本 |
| docs/versioning-and-updates.md | 版本号如何追踪、Lithe 如何选择可安装版本、用户如何更新/回退 |
| docs/maintainers.md | 维护者:审查清单、下架与撤回、跟进插件契约变化 |
lithe-plugin-index.json # 唯一的数据文件,Lithe 客户端读取它
scripts/validate-index.mjs # 与 Lithe Rust Core 同规则的校验 + 下载包校验
scripts/track-releases.mjs # 追踪已收录插件和 Lithe-IDEA 组织 lithe-plugin-* 仓库的新 Release,生成索引条目;--scope 区分组织插件与组织外插件
scripts/render-readme.mjs # 根据索引生成 README 的插件总览
scripts/store.test.mjs # 校验脚本的测试(fixtures 复制自插件契约)
assets/ # README 用到的图片(无图标插件的默认图标)
.github/workflows/ # validate(PR/推送/每周)、track-releases(每 6 小时,组织插件自动合入、组织外插件开 PR 审查)、sync-readme(main 更新后开 PR 同步 README)
需要 Node.js 22+ 与 unzip:
node --test scripts/store.test.mjs
node scripts/validate-index.mjs --verify-archives
node scripts/render-readme.mjs # 本地预览 README 插件总览