@marsken/dsh-studio 0.1.9 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/AGENTS.md CHANGED
@@ -70,6 +70,7 @@ STUDIO_TOKEN=$(sudo journalctl -u dsh-web -n 50 | grep -o 'token=[A-Za-z0-9_-]*'
70
70
  - 先点侧栏文字进入面板,再等 `[data-dsh-studio]`
71
71
  - 切页签用 `elementHandle.click()`(Radix Tabs 不认 DOM `.click()`)
72
72
  - 断言 DOM + `pageerror` 为空,并截图留档
73
+ - **能创建的东西必须有能用的路径**:新加一种对象或执行方式,要同时给「怎么建」和「怎么用」两个入口,探针必须走完「创建 → 使用 → 看到结果」。反例:2026-11-14 的 shell / 数据库用例,抽屉里建得出来,但「▶ 跑」按钮只认接口用例,另外两种永远跑不了——功能加了两天没人发现。
73
74
  - **探针说「找不到元素」时,先截图再说**:面板崩掉时 React 的错误边界会把异常吞在自己的渲染树里,`pageerror` 是空的,页面上只有一行「工作空间渲染失败:xxx is not defined」。2026-11-13 连着两次把「页面崩了」误判成「选择器不对」,白跑两轮。截图 + `document.body.innerText.includes('渲染失败')` 才是判据。
74
75
  5. 涉及权限/门禁/发布的重改动,跑一遍既有 e2e 脚本并贴出数字
75
76
  6. `npm test`(条数以 `npm run check` 打印的为准,别再写死数字;覆盖范围是:`tests/repo.test.mjs` 管 manifest / 产物一致 / 宿主接口 / 领域层拆分与导入 / **导入只读绑定不许赋值** / **跨模块符号必须导入** / 迁移 / 文档 / locale / **用了 `React.` 的组件必须从 `client()` 或工厂参数拿到 `React`**;`tests/client-units.test.mjs` 用真实模块跑标签表/负责人/日期/命令面板检索这些纯函数;`tests/notify.test.mjs` 起一个本地 HTTP 桩验证飞书通知(正文归一、`botWants` 的事件矩阵、`feishuBroadcast` 只发给订阅该事件的机器人);`tests/store-boot.test.mjs` 真的起一个 `StudioStore`,把「搬完代码启动就炸」这类问题挡在部署前。想连真数据验证:把生产库三个文件(`.db`/`-wal`/`-shm`)拷到临时目录,用 `new StudioStore()` + `await store.ready` 跑一遍,`tmp/boot-real.mjs` 就是这么写的);`npm run check` = 语法 + 契约一把过
package/README.md CHANGED
@@ -54,6 +54,7 @@ sudo systemctl restart dsh-web
54
54
  ## 开发与兼容性
55
55
 
56
56
  - 参与开发(构建链、部署、验证要求、禁区):[AGENTS.md](AGENTS.md)
57
+ 更新日志(每版改了什么、有哪些已知限制):[CHANGELOG.md](CHANGELOG.md)
57
58
  上手第一天(三条命令,已在全新 clone 上验证过):[docs/quickstart.md](docs/quickstart.md)
58
59
  发布到插件市场(npm / GitHub 发版 + 收录条目 + 自查清单):[docs/publish.md](docs/publish.md)
59
60
  - 依赖的 dsh 宿主接口、升级 runbook、兼容矩阵与已知限制:[docs/compatibility.md](docs/compatibility.md)