diff --git a/.agents/skills/unidesk-tasktree/SKILL.md b/.agents/skills/unidesk-tasktree/SKILL.md index 5062b3c3..088da278 100644 --- a/.agents/skills/unidesk-tasktree/SKILL.md +++ b/.agents/skills/unidesk-tasktree/SKILL.md @@ -73,6 +73,19 @@ HWLAB_TASKTREE_API_URL=http://127.0.0.1:6673 \ ``` - `--overapi` 只能切换 transport;命令、参数、DTO、输出 envelope 和错误语义必须保持一致。 +- L0 已通过后,L1 API、worker 与 HMR Web 优先使用仓库单一 lifecycle 入口: + +```bash +cd web/hwlab-cloud-web +bun run tasktree:native:start +bun run tasktree:native:status +``` + + - `start` 一次拉起三个 TaskTree native 进程; + - `status` 用一个 JSON 结果判定 supervisor 生命周期; + - 只有启动或验收失败时才运行 `bun run tasktree:native:logs`; + - 收口时运行 `bun run tasktree:native:stop`,不得逐个猜测或清理 PID; + - lifecycle `status` 不能替代 CLI health、workflow 和浏览器验收。 7. API 合同通过后,启动 TaskTree L1 Vite HMR 开发服务: - 复用 Cloud Web 正式 `App.vue`、`AppShell`、顶栏、Router、Pinia 和设计系统; - 保留 HWLAB 左侧根导航,并通过 native auth/access profile 只授权 `project.tasktree`; @@ -96,20 +109,36 @@ HWLAB_TASKTREE_API_URL=http://127.0.0.1:6673 \ ```text tasktree health -tasktree group list|overview|get|create|delete -tasktree task create|update|delete +tasktree group list|overview|get|create|delete|stats +tasktree group import-markdown --file [--name ] [--dry-run] +tasktree task list|get +tasktree task create|create-batch|update|delete|remove|start|complete|done tasktree milestone create -tasktree report create -tasktree import mdtodo --file [--name ] [--dry-run] +tasktree report list|get|write tasktree timeline tasktree workflow start ``` +- CLI 默认直接调用 dispatcher: + - 增加 `--overapi` 时只切换到 REST API; + - 命令、参数、DTO、输出 envelope 和错误语义保持一致; + - 帮助、operation 和公开输出使用 TaskTree 领域术语; + - 历史 Markdown 格式只通过 `group import-markdown` 进入导入适配器。 +- 标题和正文输入: + - 单个创建与更新支持 `--title` 或 `--stdin`; + - 二者互斥,标题必须是非空单行文本; + - 批量创建使用 `task create-batch`,同批任务必须在一个事务内全部成功或全部失败; + - 报告使用 `report write --stdin` 或 `--body-file`; + - 相同任务、标题、正文和状态的重复报告写入返回 `mutation=false`。 - 子任务通过 `task create --parent ` 建立: - Task 的子级是 Subtask; - Subtask 的子级是 Subsubtask; - Subsubtask 禁止继续创建下级。 -- 报告正文优先使用 `--body-file`,避免把多行内容放入 shell 参数。 +- 状态流转: + - `task start` 把任务标记为 `in_progress`; + - `task complete` / `task done` 要求任务至少存在一份 ExecutionReport; + - 通用 `task update --status completed` 必须拒绝,避免绕过报告门禁; + - Temporal worker 先幂等写入报告,再完成任务。 - MDTODO 导入规则: - MDTODO FILE 映射为 TaskGroup; - 顶层 R 项映射为 Task;