@lark-project/cli
Version:
飞书项目插件开发工具
37 lines (23 loc) • 2.02 kB
Markdown
# mode=setup:环境检查
## 检查项
### S1:插件工程根目录就绪
确认当前 cwd 是 Meegle 插件工程:
```bash
test -f ./plugin.config.json
```
- 存在 → 继续
- 不存在 → 走 SKILL.md「前置守卫」section 的处理(引导用户回 workflow phase 新建插件流程)
### S2:判断有没有前端代码要生成
> **前置条件**:本 mode 跑在 Stage Config(`local-config set` + `update --source-type=local`)之后——远端点位配置和模板代码此时都已在本地。
Read `plugin.config.json` 的 `resources`:
**`resources` 为空 → 这个插件没有前端渲染点位**(纯 webhook 的点位不产生前端入口——`ai_field`、未开节点卡片的 `ai_node`、只配了 `intercept` / `listen_event` 的普通插件都是如此)。**没有前端代码可生成——Stage Code 是 no-op**:输出 `✅ resources=0,无前端代码可生成,Stage Code 跳过`,本 mode 到此结束(Stage Code 整段无事可做),交还给调用方继续。空 `resources` 就是 Stage Config 跑完后的正确终态,**不要回 Stage Config 重跑 `lpm update`**——远端没有前端点位,重跑也不会冒出文件入口,只会死循环。
**`resources` 非空 → 逐项确认**:
- 每个 resource 的 `id` 和 `entry` 路径均已填写
- 每个 entry 路径对应的 `src/features/<id>/index.tsx` 模板文件真实存在
- `id`(格式 `{点位类型}_{平台}_{随机后缀}`,可从前缀判点位类型)/ `entry` 由 CLI 维护——直接读值用,**不要自己拼路径、不要改已有 `id`/`entry`**(CLI 后续 update 会对不上)
若某个 `entry` 文件缺失(resources 有条目、但模板没拉到本地)→ 回 Stage Config 的 config.apply 重跑 `lpm update --source-type=local`(从远端拉回配置和模板),拉回后再回这里。
## 输出(`resources` 非空时)
```
✅ 插件工程根目录验证通过
✅ 点位配置就绪(N 个点位,类型:page/dashboard/...)
```