yb vor 3 Wochen
Ursprung
Commit
06e7c90f3e

+ 51 - 24
.obsidian/workspace.json

@@ -6,19 +6,47 @@
       {
         "id": "641f1712d7930278",
         "type": "tabs",
+        "dimension": 44.052287581699346,
         "children": [
           {
             "id": "18265060efc4f04b",
             "type": "leaf",
             "state": {
-              "type": "markdown",
+              "type": "canvas",
               "state": {
-                "file": "tg-live-game/tg-live-game-web/README.md",
-                "mode": "source",
-                "source": false
+                "file": "pwtk/architecture.canvas",
+                "viewState": {
+                  "x": 3275.5179235598475,
+                  "y": -317.0119361068488,
+                  "zoom": -0.320157044938507
+                }
               },
-              "icon": "lucide-file",
-              "title": "README"
+              "icon": "lucide-layout-dashboard",
+              "title": "architecture"
+            }
+          }
+        ]
+      },
+      {
+        "id": "3a7e8efba61abf15",
+        "type": "tabs",
+        "dimension": 55.947712418300654,
+        "children": [
+          {
+            "id": "27783763a185b5bc",
+            "type": "leaf",
+            "state": {
+              "type": "canvas",
+              "state": {
+                "file": "tg-live-game/tg-live-game-web/architecture.canvas",
+                "viewState": {
+                  "x": 89.99999999999994,
+                  "y": 60,
+                  "zoom": -0.5730884004328646
+                }
+              },
+              "icon": "lucide-layout-dashboard",
+              "title": "architecture"
             }
           }
         ]
@@ -183,26 +211,32 @@
       "bases:创建新数据库": false
     }
   },
-  "active": "cf8a89fa88ac988b",
+  "active": "27783763a185b5bc",
   "lastOpenFiles": [
-    "tg-live-game/tg-live-game-hono/architecture.canvas.tmp.84570.1767686815564",
+    "pwtk/architecture.canvas",
     "tg-live-game/tg-live-game-web/architecture.canvas",
+    "tg-live-game/architecture.canvas",
+    "i18n/zh/prompts/04-命令提示词/gen/context.md",
+    "i18n/zh/prompts/04-命令提示词/task/list.md",
+    "i18n/zh/prompts/04-命令提示词/project/create.md",
+    "i18n/zh/prompts/04-命令提示词/check/spec.md",
+    "i18n/zh/prompts/04-命令提示词/README.md",
+    "i18n/zh/prompts/04-命令提示词/task",
+    "i18n/zh/prompts/04-命令提示词/project",
+    "i18n/zh/prompts/04-命令提示词/gen",
+    "i18n/zh/prompts/04-命令提示词/check",
+    "i18n/zh/prompts/04-命令提示词",
+    "pwtk/pwtk-admin-web/CLAUDE.md",
+    "pwtk/pwtk-admin-web/README.md",
+    "tg-live-game/tg-live-game-web/README.md",
+    "tg-live-game/tg-live-game-hono/architecture.canvas.tmp.84570.1767686815564",
     "tg-live-game/tg-live-game-web/CLAUDE.md",
     "tg-live-game/_project.md",
-    "tg-live-game/tg-live-game-web/README.md",
     "tg-live-game/CLAUDE.md",
-    "tg-live-game/architecture.canvas",
     "pwtk/pwtk-admin-web/tsconfig.test.json",
     "pwtk/pwtk-admin-web/tests/unit/utils/validators.spec.ts",
     "pwtk/pwtk-admin-web/tests/unit/utils/uuid/uuid.spec.ts",
     "pwtk/pwtk-admin-web/tests/unit/utils/uuid",
-    "pwtk/pwtk-admin-web/tests/unit/utils/timezone.spec.ts",
-    "pwtk/pwtk-admin-web/tests/unit/utils/tableHeight.spec.ts",
-    "pwtk/pwtk-admin-web/tests/unit/utils/tableDomHeight.spec.ts",
-    "pwtk/pwtk-admin-web/tests/unit/utils/table/index.spec.ts",
-    "pwtk/pwtk-admin-web/tests/unit/utils/table",
-    "pwtk/pwtk-admin-web/tests/unit/utils/storageUtils.spec.ts",
-    "pwtk/pwtk-admin-web/CLAUDE.md",
     "pwtk/pwtk-admin-web/docs/jenkins/README_PIPELINE_COMPARISON.md",
     "pwtk/pwtk-admin-web/docs/jenkins/README_ZENTAO.md",
     "pwtk/pwtk-admin-web/docs/jenkins/README.md",
@@ -217,12 +251,6 @@
     "pwtk/pwtk-admin-web/src/docs/WebVision-Component-Style-Guide.md",
     "pwtk/pwtk-admin-web/src/components/mTable/README.md",
     "pwtk/pwtk-admin-web/src/components/mForm/readme.md",
-    "pwtk/pwtk-admin-web/src/components/cropImg/readme.md",
-    "pwtk/pwtk-admin-web/src/api/video/README.md",
-    "pwtk/pwtk-admin-web/src/api/video/API.md",
-    "pwtk/pwtk-admin-web/scripts/README.md",
-    "pwtk/pwtk-admin-web/public/tinymce/langs/README.md",
-    "pwtk/pwtk-admin-web/src/views/WebVision/components/componentsbiz/composables/README.md",
     "pwtk/pwtk-admin-web/src/views/WebVision/components/componentsbiz/assets/svg/desktop.svg",
     "pwtk/pwtk-admin-web/src/views/WebVision/components/componentsbiz/assets/svg/apple-fill.svg",
     "pwtk/pwtk-admin-web/src/views/WebVision/components/componentsbiz/assets/svg/android.svg",
@@ -233,7 +261,6 @@
     "pwtk/pwtk-admin-web/src/views/WebVision/components/componentsbiz/assets/country/kl8.png",
     "pwtk/pwtk-admin-web/src/views/WebVision/components/componentsbiz/assets/country/am.png",
     "pwtk/pwtk-admin-web/src/views/WebVision/components/componentsbiz/assets/gfkj.gif",
-    "pwtk/architecture.canvas",
     "pwtk/architecture-v1.canvas",
     "pwtk/pwtk-admin-web/architecture-v1.canvas",
     "pwtk/pwtk-admin-web_bak/architecture-v1.canvas",

+ 33 - 0
CLAUDE.md

@@ -34,6 +34,39 @@ Canvas 设计 → CLAUDE.md 配置 → 代码实现 → 测试验证
 
 ---
 
+## 操作命令
+
+标准化命令格式,支持命令格式和自然语言两种触发方式。
+
+### 命令格式
+```
+@<category>/<command> [--options] [<arguments>]
+```
+
+### 常用命令速查
+
+| 命令 | 说明 | 自然语言触发 |
+|------|------|--------------|
+| `@check/spec <project>` | 规范检查 | "检查 xxx 是否符合规范" |
+| `@project/create --name <name>` | 创建项目 | "创建新项目 xxx" |
+| `@task/list --project <project>` | 任务列表 | "列出 xxx 的任务" |
+| `@gen/context <project>` | 生成上下文 | "生成 xxx 的上下文" |
+
+### 命令分类
+
+| 分类 | 前缀 | 用途 |
+|------|------|------|
+| `check` | `@check/` | 检查与验证 |
+| `project` | `@project/` | 项目管理 |
+| `sync` | `@sync/` | 同步操作 |
+| `gen` | `@gen/` | 生成文档 |
+| `task` | `@task/` | 任务管理 |
+| `dev` | `@dev/` | 开发辅助 |
+
+详细命令定义见 `i18n/zh/prompts/04-命令提示词/`
+
+---
+
 ## 文档命名规范
 
 | 文件名 | 用途 | 级别 |

+ 77 - 0
i18n/zh/prompts/04-命令提示词/README.md

@@ -0,0 +1,77 @@
+# 操作命令索引
+
+> 标准化操作命令,支持命令格式和自然语言两种触发方式。
+
+## 命令格式
+
+```
+@<category>/<command> [--options] [<arguments>]
+```
+
+## 命令分类
+
+| 分类 | 前缀 | 用途 |
+|------|------|------|
+| `check` | `@check/` | 检查与验证 |
+| `project` | `@project/` | 项目管理 |
+| `sync` | `@sync/` | 同步操作 |
+| `gen` | `@gen/` | 生成文档 |
+| `task` | `@task/` | 任务管理 |
+| `dev` | `@dev/` | 开发辅助 |
+
+## 常用命令速查
+
+| 命令 | 说明 | 自然语言触发 |
+|------|------|--------------|
+| `@check/spec <project>` | 规范检查 | "检查 xxx 是否符合规范" |
+| `@project/create --name <name>` | 创建项目 | "创建新项目 xxx" |
+| `@task/list --project <project>` | 任务列表 | "列出 xxx 的任务" |
+| `@gen/context <project>` | 生成上下文 | "生成 xxx 的上下文" |
+
+## 命令详情
+
+### @check/ - 检查类
+
+| 命令 | 文件 | 说明 |
+|------|------|------|
+| `@check/spec` | [check/spec.md](check/spec.md) | 检查项目是否符合元规范 |
+
+### @project/ - 项目类
+
+| 命令 | 文件 | 说明 |
+|------|------|------|
+| `@project/create` | [project/create.md](project/create.md) | 创建新项目 |
+
+### @task/ - 任务类
+
+| 命令 | 文件 | 说明 |
+|------|------|------|
+| `@task/list` | [task/list.md](task/list.md) | 列出项目任务 |
+
+### @gen/ - 生成类
+
+| 命令 | 文件 | 说明 |
+|------|------|------|
+| `@gen/context` | [gen/context.md](gen/context.md) | 生成项目上下文文档 |
+
+## 使用示例
+
+```bash
+# 命令格式
+@check/spec tg-live-game
+@project/create --name my-api --type single --stack hono
+@task/list --project tg-live-game-hono
+
+# 自然语言(等效)
+检查 tg-live-game 是否符合规范
+创建新项目 my-api,使用 Hono
+列出 tg-live-game-hono 的任务
+```
+
+## 扩展命令
+
+如需添加新命令:
+
+1. 在对应分类目录下创建 `<command>.md`
+2. 使用标准 frontmatter 格式定义元数据
+3. 更新此索引文件

+ 106 - 0
i18n/zh/prompts/04-命令提示词/check/spec.md

@@ -0,0 +1,106 @@
+---
+name: check-spec
+category: check
+command: spec
+description: 检查项目是否符合元规范
+triggers:
+  - "检查 {project} 是否符合规范"
+  - "检查 {project} 是否符合新规范"
+  - "验证 {project} 项目结构"
+  - "{project} 符合规范吗"
+  - "@check/spec {project}"
+---
+
+# @check/spec - 规范检查
+
+检查指定项目是否符合 0 级元规范定义的约束。
+
+## 参数
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| `project` | string | 是 | 项目名称或路径 |
+| `--strict` | flag | 否 | 严格模式(检查所有可选项) |
+| `--fix` | flag | 否 | 自动修复可修复的问题 |
+
+## 执行步骤
+
+### 1. 定位项目
+
+```
+项目路径: /Users/yibu/dev_workspace/vibe-coding-cn/{project}
+```
+
+### 2. 检查 1 级文件
+
+| 检查项 | 必需 | 说明 |
+|--------|------|------|
+| `CLAUDE.md` | 是 | 项目配置文件 |
+| `architecture.canvas` | 是 | 整体架构图 |
+
+### 3. 验证 CLAUDE.md 内容
+
+- 项目信息表格完整(名称、类型、子项目)
+- 子项目列表(如有)
+- 关联配置(Obsidian路径、Kanban ID)
+- 开发命令
+
+### 4. 验证 architecture.canvas
+
+检查必须节点及颜色编码:
+
+| 节点 | 颜色 | 必需 |
+|------|------|------|
+| title | "1" (红) | 是 |
+| user-client | "4" (绿) | 如有 |
+| admin-client | "5" (青) | 如有 |
+| backend | "6" (蓝) | 是 |
+| database | "2" (橙) | 是 |
+| external | "2" (橙) | 如有 |
+
+### 5. 检查 2 级子项目
+
+对每个子项目重复检查:
+- `{subproject}/CLAUDE.md`
+- `{subproject}/architecture.canvas`(如需要)
+
+## 输出格式
+
+```
+=== 规范检查报告: {project} ===
+
+### 1级检查
+[✓] CLAUDE.md 存在
+[✓] 项目信息完整
+[✓] architecture.canvas 存在
+[✗] architecture.canvas 缺少 backend 节点
+
+### 2级检查: {subproject}
+[✓] CLAUDE.md 存在
+[!] 建议添加 Kanban ID
+
+---
+总结: 5/6 通过, 1 错误, 1 警告
+```
+
+## 示例
+
+```bash
+# 基本检查
+@check/spec tg-live-game
+
+# 严格模式
+@check/spec tg-live-game --strict
+
+# 自动修复
+@check/spec yshop --fix
+```
+
+## 自然语言等效
+
+以下表达均可触发此命令:
+
+- "检查 tg-live-game 是否符合规范"
+- "检查 tg-live-game 是否符合新规范"
+- "验证 tg-live-game 项目结构"
+- "tg-live-game 规范检查"

+ 110 - 0
i18n/zh/prompts/04-命令提示词/gen/context.md

@@ -0,0 +1,110 @@
+---
+name: gen-context
+category: gen
+command: context
+description: 生成项目上下文文档
+triggers:
+  - "生成 {project} 的上下文"
+  - "为 {project} 创建上下文文档"
+  - "{project} 项目概览"
+  - "@gen/context {project}"
+---
+
+# @gen/context - 生成上下文
+
+生成项目的综合上下文文档,用于快速了解项目结构。
+
+## 参数
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| `project` | string | 是 | 项目名称 |
+| `--output` | string | 否 | 输出路径,默认输出到终端 |
+| `--depth` | number | 否 | 目录深度,默认 3 |
+
+## 执行步骤
+
+### 1. 读取项目配置
+
+- 读取 `{project}/CLAUDE.md`
+- 读取 `{project}/architecture.canvas`
+
+### 2. 扫描项目结构
+
+```bash
+tree -L {depth} {project}
+```
+
+### 3. 提取关键信息
+
+- 项目名称和类型
+- 技术栈
+- 子项目列表
+- 主要功能模块
+- API 路由(如后端)
+- 页面路由(如前端)
+
+### 4. 生成上下文文档
+
+## 输出格式
+
+```markdown
+# {project} 项目上下文
+
+## 基本信息
+
+| 属性 | 值 |
+|------|-----|
+| 名称 | {name} |
+| 类型 | {type} |
+| 技术栈 | {stack} |
+
+## 项目结构
+
+{tree_output}
+
+## 子项目
+
+| 子项目 | 类型 | 说明 |
+|--------|------|------|
+| {subproject} | {type} | {description} |
+
+## 核心功能
+
+- {feature1}
+- {feature2}
+
+## API 路由 (如适用)
+
+| 方法 | 路由 | 说明 |
+|------|------|------|
+| GET | /api/xxx | xxx |
+
+## 页面路由 (如适用)
+
+| 路由 | 页面 | 说明 |
+|------|------|------|
+| /xxx | xxx | xxx |
+
+---
+生成时间: {timestamp}
+```
+
+## 示例
+
+```bash
+# 生成上下文到终端
+@gen/context tg-live-game
+
+# 保存到文件
+@gen/context tg-live-game --output ./context.md
+
+# 更深的目录结构
+@gen/context tg-live-game --depth 5
+```
+
+## 自然语言等效
+
+- "生成 tg-live-game 的项目上下文"
+- "给我 tg-live-game 的项目概览"
+- "总结一下 yshop 项目"

+ 96 - 0
i18n/zh/prompts/04-命令提示词/project/create.md

@@ -0,0 +1,96 @@
+---
+name: project-create
+category: project
+command: create
+description: 创建新项目
+triggers:
+  - "创建新项目 {name}"
+  - "新建项目 {name}"
+  - "初始化项目 {name}"
+  - "@project/create --name {name}"
+---
+
+# @project/create - 创建项目
+
+使用模板创建符合元规范的新项目。
+
+## 参数
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| `--name` | string | 是 | 项目名称 |
+| `--type` | enum | 否 | 项目类型: `single` (单项目) / `group` (项目组),默认 single |
+| `--stack` | string | 否 | 技术栈: `hono`, `vue`, `spring` 等 |
+
+## 执行步骤
+
+### 1. 创建项目目录
+
+```bash
+mkdir -p /Users/yibu/dev_workspace/vibe-coding-cn/{name}
+```
+
+### 2. 生成 CLAUDE.md
+
+使用模板: `templates/project.claude.md.template`
+
+填充内容:
+- 项目名称
+- 项目类型
+- 技术栈信息
+
+### 3. 生成 architecture.canvas
+
+使用模板: `templates/architecture.canvas.template`
+
+填充内容:
+- title 节点 (color: "1")
+- 基础架构节点
+
+### 4. 初始化子项目(如 type=group)
+
+对于项目组类型,提示创建子项目:
+- 后端子项目
+- 前端子项目
+
+### 5. 关联 Vibe Kanban
+
+询问是否创建 Kanban 项目,并记录 ID。
+
+## 输出格式
+
+```
+=== 项目创建完成 ===
+
+项目: {name}
+类型: {type}
+路径: /Users/yibu/dev_workspace/vibe-coding-cn/{name}
+
+已创建文件:
+[✓] CLAUDE.md
+[✓] architecture.canvas
+
+下一步:
+1. 编辑 architecture.canvas 完善架构图
+2. 在 Obsidian 中打开查看
+3. 运行 @check/spec {name} 验证
+```
+
+## 示例
+
+```bash
+# 创建单项目
+@project/create --name my-api
+
+# 创建项目组
+@project/create --name my-app --type group
+
+# 指定技术栈
+@project/create --name my-api --stack hono
+```
+
+## 自然语言等效
+
+- "创建新项目 my-api"
+- "新建一个 Hono 后端项目叫 my-api"
+- "初始化前后端项目组 my-app"

+ 83 - 0
i18n/zh/prompts/04-命令提示词/task/list.md

@@ -0,0 +1,83 @@
+---
+name: task-list
+category: task
+command: list
+description: 列出项目任务
+triggers:
+  - "列出 {project} 的任务"
+  - "查看 {project} 任务"
+  - "{project} 有哪些任务"
+  - "查看待办任务"
+  - "@task/list --project {project}"
+---
+
+# @task/list - 任务列表
+
+从 Vibe Kanban 获取项目任务列表。
+
+## 参数
+
+| 参数 | 类型 | 必填 | 说明 |
+|------|------|------|------|
+| `--project` | string | 否 | 项目名称,默认当前项目 |
+| `--status` | enum | 否 | 状态过滤: `todo`, `inprogress`, `inreview`, `done` |
+| `--limit` | number | 否 | 返回数量限制,默认 10 |
+
+## 执行步骤
+
+### 1. 获取项目 Kanban ID
+
+从项目 `CLAUDE.md` 读取 Kanban ID:
+
+```yaml
+Vibe Kanban 项目:
+| 项目 | Kanban ID |
+|------|-----------|
+| tg-live-game-hono | 7c6bb2ce-90a2-4e96-bc04-5facdcdb337f |
+```
+
+### 2. 调用 Vibe Kanban API
+
+```
+mcp__vibe_kanban__list_tasks
+project_id: {kanban_id}
+status: {status}
+limit: {limit}
+```
+
+### 3. 格式化输出
+
+## 输出格式
+
+```
+=== 任务列表: {project} ===
+
+状态: {status} | 共 {count} 个任务
+
+| # | 标题 | 状态 | 创建时间 |
+|---|------|------|----------|
+| 1 | 实现用户认证 | todo | 2026-01-05 |
+| 2 | 添加视频播放 | inprogress | 2026-01-04 |
+| 3 | 修复登录 bug | done | 2026-01-03 |
+
+使用 @task/start <task-id> 开始任务
+```
+
+## 示例
+
+```bash
+# 列出项目所有任务
+@task/list --project tg-live-game-hono
+
+# 只看待办
+@task/list --project tg-live-game-hono --status todo
+
+# 限制数量
+@task/list --project yshop --limit 5
+```
+
+## 自然语言等效
+
+- "列出 tg-live-game-hono 的任务"
+- "tg-live-game 有哪些待办任务"
+- "查看正在进行的任务"