SuperAPI AI 工具集

pi-extension-development

编程与开发

查看项目

更新于 10-16 05:50

技能介绍

本技能定义独立 Pi 扩展仓库的本地标准,用于手动触发时创建、审计、测试、发布或发行扩展。其核心约束是:扩展以 Git 为载体的 Pi 包形式分发,绝不发布到 npm。

用途与操作:技能参数被解释为操作加可选路径。create <path-or-name> 用于搭建独立扩展仓库;audit <path> 将现有仓库与该标准比对;release <version> 对当前仓库执行标准发布流程;无操作时先询问用户目标仓库与期望结果。创建文件前需检查目标路径并阅读 AGENTS.md、CLAUDE.md 及相关规则文件,禁止覆盖已有仓库或无关工作。

按需参考:搭建或重构仓库读 references/repository-structure.md;实现或审查扩展代码读 references/extension-guidelines.md;发布或添加发布技能读 references/release-workflow.md。实现前须完整阅读已安装的 Pi 文档,包括 extensions.md、packages.md、skills.md,必要时读 tui.md 及其链接示例。

工具校验:使用全局 Vite+ CLI,先执行 command -v pi、command -v vp、vp --version;若 vp 缺失应报告并停止,不得改用其他格式化或检查工具。包操作与检查使用 vp install、vp add -D vite-plus、vp check、vp check --fix、vp fmt --check、vp lint。vite-plus 保留在 devDependencies,因为 vite.config.ts 会导入 defineConfig。

包模型要求:独立 Git 仓库默认位于 ~/Projects/;package.json 需含 private: true、keywords: ["pi-package"]、Pi 提供导入的 peer 依赖及显式 pi manifest;TypeScript 源码由 Pi 直接加载,除非运行时必需否则不添加构建或 bundled dist/;安装通过 pi install git:github.com/OWNER/REPO;提交 .pi/settings.json 以在加载本地资源时禁用已安装副本;包含 Vite+ 配置、编辑器设置和已提交的 vp staged 预提交钩子;.pi/skills/release/ 下提供仅手动触发的发布技能。

实现与验证:优先单一扩展入口;自定义工具使用严格 TypeBox schema 与 StringEnum,对有状态或冲突操作设置 executionMode: "sequential",遵守 AbortSignal 并设置超时,按 Pi 限制截断输出并在临时文件保留完整输出,抛错产生失败结果,生成图像返回原生 image 块,长生命周期资源在 session_start 后或按需启动并在 session_shutdown 关闭,未经明确批准不得请求权限或做破坏性操作。验证至少运行 vp check、pi --no-extensions -e "$PWD" --no-skills --list-models 'load_check'、git diff --check、git status --short,并通过加载器或新会话实测工具行为。发布须遵循全局提交技能,经用户授权后才创建或推送公开仓库,安装后使用 pi install git:github.com/OWNER/REPO 与 pi --no-context-files --list-models 'installed_load_check' 验证,并报告仓库 URL、提交 SHA、安装命令、验证证据及剩余手动权限步骤。资源路径、版本与平台细节以资料为准;其他未提及事实暂未提供。