adspecs 0.1.20 → 0.1.21
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/.adspecs/templates/04-/345/211/215/347/253/257/345/212/237/350/203/275/350/256/276/350/256/241/346/250/241/346/235/277.md +1 -1
- package/.adspecs/templates/05-/345/220/216/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +613 -724
- package/.adspecs/templates/05b-/345/211/215/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +51 -51
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.qoder-plugin/plugin.json +1 -1
- package/INSTALL.md +3 -3
- package/package.json +1 -1
- package/skills/adspecs-front-spec/SKILL.md +4 -4
- package/skills/adspecs-front-tasks/SKILL.md +213 -173
- package/skills/project-init/SKILL.md +93 -22
- package/src/commands/init.js +1 -1
- package/src/lib/dir-utils.js +28 -0
- package/src/lib/prompts.js +86 -5
- package/src/lib/report.js +20 -9
- package/src/lib/scaffolder.js +42 -9
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "
|
|
2
|
+
description: "前端功能实现的 TDD 任务列表模板"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
### 修订记录
|
|
6
6
|
|
|
7
|
-
| 版本号 | 修订日期
|
|
8
|
-
| ------ |
|
|
9
|
-
| v3.0
|
|
10
|
-
| v2.0
|
|
11
|
-
| v1.0
|
|
7
|
+
| 版本号 | 修订日期 | 修订人 | 修订内容 |
|
|
8
|
+
| ------ | ---------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
|
+
| v3.0 | 2026-06-13 | AI | **前端专项改造**:ECP 后端模板 → Vue 3 + Element Plus 前端 TDD 模板。新增前端任务类型速查表(10 种)、前端编码规范检查清单(12 条)、TDD 执行指南(RED→GREEN→REFACTOR)。Phase 1-9 全部替换为 M06-01 销售预测单真实示例(Type/API/Store/View/Component/i18n)。基于 `M06-01_销售预测_前端设计.md` 生成真实前端文件路径 |
|
|
10
|
+
| v2.0 | 2026-06-13 | AI | ECP 平台专项改造:后端 Java Maven 三模块 TDD 模板 |
|
|
11
|
+
| v1.0 | 2026-06-12 | AI | 初始版本 |
|
|
12
12
|
|
|
13
13
|
# 前端任务清单:[功能名称]
|
|
14
14
|
|
|
@@ -31,14 +31,14 @@ description: "Vue 3 + Element Plus 前端功能实现的 TDD 任务列表模板"
|
|
|
31
31
|
|
|
32
32
|
## 任务格式:`- [ ] [TaskID] [P?] [TDD?] [Story?] 描述 + 精确文件路径`
|
|
33
33
|
|
|
34
|
-
| 元素
|
|
35
|
-
|
|
36
|
-
| `- [ ]`
|
|
37
|
-
| `[TaskID]`
|
|
38
|
-
| `[P]`
|
|
39
|
-
| `[TDD]`
|
|
40
|
-
| `[Story]`
|
|
41
|
-
| 描述 + 文件路径 | 明确操作描述 + 从 `ecp-generator-ui-boostrap/src/` 开始的完整文件路径
|
|
34
|
+
| 元素 | 说明 |
|
|
35
|
+
| --------------- | ------------------------------------------------------------------------------------- |
|
|
36
|
+
| `- [ ]` | Markdown 复选框(始终存在) |
|
|
37
|
+
| `[TaskID]` | 全局递增序号:T001, T002, T003... |
|
|
38
|
+
| `[P]` | 可并行执行标记(操作不同文件,无未完成依赖) |
|
|
39
|
+
| `[TDD]` | 测试任务标记(Store 单元测试 / 组件测试),**必须在同故事实现任务之前完成且验证失败** |
|
|
40
|
+
| `[Story]` | 用户故事标签:[US1], [US2]...。Phase 1/2/Final 无此标签 |
|
|
41
|
+
| 描述 + 文件路径 | 明确操作描述 + 从 `ecp-generator-ui-boostrap/src/` 开始的完整文件路径 |
|
|
42
42
|
|
|
43
43
|
**格式示例**:
|
|
44
44
|
|
|
@@ -120,18 +120,18 @@ ecp-generator-ui-boostrap/ # 前端项目根目录
|
|
|
120
120
|
|
|
121
121
|
## 前端任务类型速查表
|
|
122
122
|
|
|
123
|
-
| 任务类型
|
|
124
|
-
|
|
125
|
-
| **类型定义**
|
|
126
|
-
| **API 接口模块**
|
|
127
|
-
| **Pinia Store**
|
|
128
|
-
| **列表页组件**
|
|
129
|
-
| **表单页组件**
|
|
130
|
-
| **详情页组件**
|
|
131
|
-
| **图表/概览组件**
|
|
132
|
-
| **路由配置**
|
|
133
|
-
| **i18n 文案**
|
|
134
|
-
| **Composition Hook** | Vue 3 Composition API
|
|
123
|
+
| 任务类型 | 框架/规范 | 关键约束 | 文件路径模式 |
|
|
124
|
+
| -------------------- | ------------------------------ | ----------------------------------------------------------- | --------------------------------------------- |
|
|
125
|
+
| **类型定义** | TypeScript interface/enum | 字段对齐后端 DTO/Ro;枚举值与后端一致 | `src/types/{module}/{entity}.ts` |
|
|
126
|
+
| **API 接口模块** | axios + `src/utils/request.ts` | 统一使用 `request.get/post` 封装;请求/响应类型明确 | `src/api/{module}/{entity}.ts` |
|
|
127
|
+
| **Pinia Store** | `defineStore` (setup 语法) | 对齐前端设计 §10 状态管理;camelCase 命名;初始值与设计一致 | `src/store/modules/{module}/{entity}Store.ts` |
|
|
128
|
+
| **列表页组件** | Vue SFC + Element Plus | 含搜索筛选区+数据表格+分页+操作列;状态标签使用 `<el-tag>` | `src/views/{module}/{Entity}List.vue` |
|
|
129
|
+
| **表单页组件** | Vue SFC + Element Plus | 含表单字段+校验规则+提交按钮;校验使用 `<el-form>` rules | `src/views/{module}/{Entity}Edit.vue` |
|
|
130
|
+
| **详情页组件** | Vue SFC + Element Plus | 含信息卡片+子表格+操作按钮区;操作按钮按状态+角色动态显示 | `src/views/{module}/{Entity}Detail.vue` |
|
|
131
|
+
| **图表/概览组件** | ECharts + Element Plus | 图表按维度切换;下钻交互;导出功能 | `src/views/{module}/{Entity}Overview.vue` |
|
|
132
|
+
| **路由配置** | vue-router 4 动态路由 | 层级清晰;权限 guard;懒加载 `defineAsyncComponent` | `src/router/modules/{module}.ts` |
|
|
133
|
+
| **i18n 文案** | vue-i18n | 消息码文案从前端设计 §9 错误处理表提取;最少中/英两种语言 | `src/i18n/{locale}/{module}.ts` |
|
|
134
|
+
| **Composition Hook** | Vue 3 Composition API | 提取可复用逻辑(分页/筛选/表单校验/乐观锁冲突处理) | `src/hooks/use{Feature}.ts` |
|
|
135
135
|
|
|
136
136
|
---
|
|
137
137
|
|
|
@@ -363,17 +363,17 @@ ecp-generator-ui-boostrap/ # 前端项目根目录
|
|
|
363
363
|
|
|
364
364
|
### 阶段依赖
|
|
365
365
|
|
|
366
|
-
| 阶段
|
|
367
|
-
|
|
368
|
-
| Phase 1(环境搭建)
|
|
369
|
-
| Phase 2(基础设施)
|
|
370
|
-
| Phase 3(US-01 列表页)
|
|
371
|
-
| Phase 4(US-01 创建编辑)
|
|
372
|
-
| Phase 5(US-02/03/04/08/09 详情页) | Phase 2 + 全部 API
|
|
373
|
-
| Phase 6(US-05 变更单)
|
|
374
|
-
| Phase 7(US-06 概览)
|
|
375
|
-
| Phase 8(US-10 配置)
|
|
376
|
-
| Phase 9(集成收尾)
|
|
366
|
+
| 阶段 | 依赖 | 说明 |
|
|
367
|
+
| ----------------------------------- | ---------------------- | --------------------------------- |
|
|
368
|
+
| Phase 1(环境搭建) | 无 | 可立即开始 |
|
|
369
|
+
| Phase 2(基础设施) | Phase 1 | **阻塞所有页面开发** |
|
|
370
|
+
| Phase 3(US-01 列表页) | Phase 2 | P1 MVP 起点,产出列表Store+页面 |
|
|
371
|
+
| Phase 4(US-01 创建编辑) | Phase 2 + Phase 3 类型 | P1,可并行 |
|
|
372
|
+
| Phase 5(US-02/03/04/08/09 详情页) | Phase 2 + 全部 API | P1 综合,依赖列表页跳转 |
|
|
373
|
+
| Phase 6(US-05 变更单) | Phase 2 + 详情页 | P1,依赖详情页 ChangeHistory 区域 |
|
|
374
|
+
| Phase 7(US-06 概览) | Phase 2 | P2,独立页面 |
|
|
375
|
+
| Phase 8(US-10 配置) | Phase 2 | P2,独立页面 |
|
|
376
|
+
| Phase 9(集成收尾) | Phase 3~8 | E2E 需全功能就绪 |
|
|
377
377
|
|
|
378
378
|
### 并行机会
|
|
379
379
|
|
|
@@ -433,20 +433,20 @@ Task T020+T021: "创建 ForecastOrderForm.vue + ForecastOrderEdit.vue"
|
|
|
433
433
|
|
|
434
434
|
## 前端编码规范检查清单
|
|
435
435
|
|
|
436
|
-
| #
|
|
437
|
-
|
|
438
|
-
| 1
|
|
439
|
-
| 2
|
|
440
|
-
| 3
|
|
441
|
-
| 4
|
|
442
|
-
| 5
|
|
443
|
-
| 6
|
|
444
|
-
| 7
|
|
445
|
-
| 8
|
|
446
|
-
| 9
|
|
447
|
-
| 10
|
|
448
|
-
| 11
|
|
449
|
-
| 12
|
|
436
|
+
| # | 规范 | 检查项 | 通过 |
|
|
437
|
+
| --- | ---------------- | ----------------------------------------------------------------------------------------------- | :---: |
|
|
438
|
+
| 1 | **TypeScript** | 所有组件/Store/API/工具函数有完整类型定义,禁用 `any` | ☐ |
|
|
439
|
+
| 2 | **Vue SFC** | `<script setup lang="ts">` 语法,Props/Emits 类型声明 | ☐ |
|
|
440
|
+
| 3 | **Element Plus** | 统一使用 `<el-*>` 组件,状态标签使用 `<el-tag>` 颜色语义 | ☐ |
|
|
441
|
+
| 4 | **Pinia Store** | `defineStore` setup 语法,camelCase 命名,状态对齐前端设计 §10 | ☐ |
|
|
442
|
+
| 5 | **API 调用** | 统一使用 `src/utils/request.ts` 封装,不直接调用 axios;请求/响应类型明确 | ☐ |
|
|
443
|
+
| 6 | **路由** | 层级清晰,懒加载 `defineAsyncComponent`,meta 含权限标记 | ☐ |
|
|
444
|
+
| 7 | **错误处理** | 错误码映射表集中管理(`utils/errorHandler.ts`),展示方式按前端设计 §9(Message/Dialog/字段级) | ☐ |
|
|
445
|
+
| 8 | **状态标签** | 通用 `StatusTag.vue` 组件,颜色语义:蓝=进行中/绿=终态/红=驳回/橙=警告/灰=草稿取消 | ☐ |
|
|
446
|
+
| 9 | **表单校验** | Element Plus `<el-form>` rules 声明式校验,校验文案使用 i18n key | ☐ |
|
|
447
|
+
| 10 | **乐观锁** | 更新/撤回/排产确认操作携带 versionNum,冲突时提示"数据已被他人修改,请刷新后重试" | ☐ |
|
|
448
|
+
| 11 | **i18n** | 所有用户可见文案使用 `$t()` 或 `useI18n()`,最少中英两种语言 | ☐ |
|
|
449
|
+
| 12 | **构建** | `npm run build`(含 `vue-tsc --build` 类型检查 + `vite build`)零错误通过 | ☐ |
|
|
450
450
|
|
|
451
451
|
---
|
|
452
452
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adspecs",
|
|
3
3
|
"displayName": "adspecs AI 工程规范驱动开发插件",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.21",
|
|
5
5
|
"description": "AI-first specification-driven development plugin for ECP platform full-lifecycle development",
|
|
6
6
|
"descriptionZh": "AI优先的工程规范驱动开发插件,覆盖需求分析、PRD、系统设计、任务拆解、TDD、代码评审、Wiki同步全流程",
|
|
7
7
|
"author": {
|
package/INSTALL.md
CHANGED
|
@@ -86,13 +86,13 @@ claude plugins uninstall adspecs --scope project
|
|
|
86
86
|
|
|
87
87
|
若未配置 adspecs marketplace,可直接从 Git 拉取插件源码后按本地 marketplace 安装。
|
|
88
88
|
|
|
89
|
-
Git 地址:`https://gitee.com/yuebon/
|
|
89
|
+
Git 地址:`https://gitee.com/yuebon/adp-plugins`
|
|
90
90
|
|
|
91
91
|
**用户级安装示例**:
|
|
92
92
|
|
|
93
93
|
```txt
|
|
94
94
|
# 第一步:克隆仓库到本地(示例目录)
|
|
95
|
-
git clone https://gitee.com/yuebon/
|
|
95
|
+
git clone https://gitee.com/yuebon/adp-plugins ~/.claude/plugins/adspecs
|
|
96
96
|
|
|
97
97
|
# 第二步:注册用户级 marketplace(指向仓库内 .claude-plugin)
|
|
98
98
|
claude plugins marketplace add ~/.claude/plugins/adspecs --scope user
|
|
@@ -108,7 +108,7 @@ claude plugins install adspecs --scope user
|
|
|
108
108
|
cd /path/to/your/project
|
|
109
109
|
|
|
110
110
|
# 第二步:将插件仓库拉取到项目内(示例目录)
|
|
111
|
-
git clone https://gitee.com/yuebon/
|
|
111
|
+
git clone https://gitee.com/yuebon/adp-plugins ./.claude/plugins/adspecs
|
|
112
112
|
|
|
113
113
|
# 第三步:注册项目级 marketplace(指向仓库内 .claude-plugin)
|
|
114
114
|
claude plugins marketplace add ./.claude/plugins/adspecs --scope project
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "adspecs-front-spec"
|
|
3
|
-
description: "基于 PRD
|
|
4
|
-
argument-hint: "指定 PRD
|
|
3
|
+
description: "基于 PRD 文件和系统设计文档一次性完成前端交互和 UI 行为语义提取,生成面向产品经理和前端开发的功能规格说明书(UI/交互规格)"
|
|
4
|
+
argument-hint: "指定 PRD 文件路径和系统设计文档文件路径,如 docs/20-prd/crm/sales-forecast/M06-01_销售预测需求规格说明书.md"
|
|
5
5
|
compatibility: "需要 docs/ 目录体系,含 04-前端功能设计模板.md、项目约定文档、ECP 编码规范"
|
|
6
6
|
metadata:
|
|
7
7
|
author: "qingwen"
|
|
@@ -75,7 +75,7 @@ $ARGUMENTS
|
|
|
75
75
|
- **模板文件**:
|
|
76
76
|
- `.adspecs/templates/04-前端功能设计模板.md` — 功能规格说明书输出模板(8 部分结构:§1 页面菜单路由规划、§2 总体布局、§3~§4 核心功能区域、§5 用户输入、§6 错误处理、§7 状态管理、§8 US→FSD 对齐表)
|
|
77
77
|
- **项目约定**:
|
|
78
|
-
-
|
|
78
|
+
- 严格遵守`docs\40-project_conventions\frontend-standard\index.md` 约定规范
|
|
79
79
|
|
|
80
80
|
## 执行前检查
|
|
81
81
|
|
|
@@ -241,7 +241,7 @@ $ARGUMENTS
|
|
|
241
241
|
|
|
242
242
|
1. 读取用户指定的 PRD 文件,重点关注:用户故事(US)、验收场景(AC)、功能清单、状态机、权限矩阵、通知机制、业务规则
|
|
243
243
|
2. 如果 `{DESIGN_DIR}/` 下存在对应的 system-design 文件,一并读取,提取:API 端点清单、错误码定义、枚举值
|
|
244
|
-
3. 读取 `
|
|
244
|
+
3. 读取 `docs\40-project_conventions\frontend-standard\index.md`约定规范
|
|
245
245
|
|
|
246
246
|
### 步骤 2:读取模板
|
|
247
247
|
|