adspecs 0.1.19 → 0.1.20
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/feature.json +16 -16
- package/.adspecs/feature.yml +28 -28
- package/.adspecs/paths.json +17 -17
- package/.claude-plugin/marketplace.json +23 -23
- package/.claude-plugin/plugin.json +18 -18
- package/.qoder-plugin/plugin.json +31 -31
- package/CLAUDE.md +1 -5
- package/README.md +395 -395
- package/bin/adspecs.js +129 -129
- package/hooks/commit-queue.js +245 -245
- package/hooks/hooks.json +63 -63
- package/hooks/session-start.js +44 -44
- package/hooks/wiki-queue.js +127 -127
- package/package.json +61 -61
- package/references/ant6-front-standard/index.md +99 -99
- package/references/antd-front-demo/public/mockServiceWorker.js +361 -361
- package/references/ecp-end-standard/index.md +63 -63
- package/references/python-end-standard/01-Python/345/220/216/347/253/257/347/274/226/347/240/201/350/247/204/350/214/203.md +372 -372
- package/references/python-end-standard/02-/346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/344/270/216/344/275/277/347/224/250/350/247/204/350/214/203.md +226 -226
- package/references/python-end-standard/03-Celery/345/274/202/346/255/245/344/273/273/345/212/241/350/247/204/350/214/203.md +237 -237
- package/references/python-end-standard/04-Redis/344/275/277/347/224/250/350/247/204/350/214/203.md +231 -231
- package/scripts/postinstall.js +107 -107
- package/scripts/sync-version.js +105 -105
- package/skills/.claude/.wiki-update-queue +26 -26
- package/skills/adspecs-constitution/SKILL.md +157 -0
- package/skills/adspecs-export-word/SKILL.md +498 -498
- package/skills/adspecs-export-word/references/md-to-docx.js +862 -862
- package/skills/adspecs-export-word/references/package-lock.json +220 -220
- package/skills/adspecs-export-word/references/package.json +10 -10
- package/skills/adspecs-front-prototype/SKILL.md +405 -405
- package/skills/adspecs-plan/SKILL.md +59 -69
- package/skills/adspecs-prd/SKILL.md +13 -5
- package/skills/adspecs-prd-to-demo/SKILL.md +532 -0
- package/skills/adspecs-tasks/SKILL.md +175 -204
- package/skills/adspecs-update-status/SKILL.md +382 -382
- package/skills/adspecs-utest/SKILL.md +107 -116
- package/skills/grill-me/SKILL.md +7 -0
- package/skills/grill-me/agents/openai.yaml +5 -0
- package/skills/playwright-cli/SKILL.md +420 -0
- package/skills/playwright-cli/references/element-attributes.md +23 -0
- package/skills/playwright-cli/references/playwright-tests.md +39 -0
- package/skills/playwright-cli/references/request-mocking.md +87 -0
- package/skills/playwright-cli/references/running-code.md +241 -0
- package/skills/playwright-cli/references/session-management.md +225 -0
- package/skills/playwright-cli/references/storage-state.md +275 -0
- package/skills/playwright-cli/references/test-generation.md +433 -0
- package/skills/playwright-cli/references/tracing.md +139 -0
- package/skills/playwright-cli/references/video-recording.md +143 -0
- package/skills/playwright-trace/SKILL.md +171 -0
- package/skills/project-init/references/front-demo/.claude/settings.local.json +9 -0
- package/skills/wiki-update/SKILL.md +232 -232
- package/src/commands/doctor.js +197 -197
- package/src/commands/init.js +83 -83
- package/src/commands/plugin.js +165 -165
- package/src/commands/update.js +87 -87
- package/src/lib/area-scanner.js +129 -129
- package/src/lib/copier.js +104 -104
- package/src/lib/dir-utils.js +133 -133
- package/src/lib/json-merge.js +114 -114
- package/src/lib/paths-defaults.js +37 -37
- package/src/lib/prompts.js +347 -347
- package/src/lib/readme-gen.js +143 -143
- package/src/lib/report.js +327 -327
- package/src/lib/scaffolder.js +518 -518
- package/src/lib/short-name.js +36 -36
- package/src/utils.js +80 -80
- package/references/antd-front-demo/.env +0 -15
package/.adspecs/feature.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
{
|
|
2
|
-
"active": "",
|
|
3
|
-
"features": [],
|
|
4
|
-
"requirement": [],
|
|
5
|
-
"prd": [],
|
|
6
|
-
"frontDemos": [],
|
|
7
|
-
"endDesigns": [],
|
|
8
|
-
"frontDesigns": [],
|
|
9
|
-
"endCodes": [],
|
|
10
|
-
"frontCodes": [],
|
|
11
|
-
"unitTests": [],
|
|
12
|
-
"situationTests": [],
|
|
13
|
-
"code-reviews": [],
|
|
14
|
-
"uats": [],
|
|
15
|
-
"depolys": []
|
|
16
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"active": "",
|
|
3
|
+
"features": [],
|
|
4
|
+
"requirement": [],
|
|
5
|
+
"prd": [],
|
|
6
|
+
"frontDemos": [],
|
|
7
|
+
"endDesigns": [],
|
|
8
|
+
"frontDesigns": [],
|
|
9
|
+
"endCodes": [],
|
|
10
|
+
"frontCodes": [],
|
|
11
|
+
"unitTests": [],
|
|
12
|
+
"situationTests": [],
|
|
13
|
+
"code-reviews": [],
|
|
14
|
+
"uats": [],
|
|
15
|
+
"depolys": []
|
|
16
|
+
}
|
package/.adspecs/feature.yml
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
# adspecs Feature Tracking - YAML format
|
|
2
|
-
# 此文件由 feature.json 自动同步生成,用于人类可读查看
|
|
3
|
-
# 请勿直接编辑此文件,修改 feature.json 后重新生成
|
|
4
|
-
|
|
5
|
-
active: ""
|
|
6
|
-
|
|
7
|
-
features:
|
|
8
|
-
# - id: "<功能ID>"
|
|
9
|
-
# directory: "<resolved feature dir>"
|
|
10
|
-
# filename: "<resolved feature filename>"
|
|
11
|
-
# name: "<需求名称>"
|
|
12
|
-
# phase: requirement
|
|
13
|
-
# status: drafting
|
|
14
|
-
# created: "<DATE>"
|
|
15
|
-
|
|
16
|
-
# 阶段数组 — 各开发阶段的功能条目追踪
|
|
17
|
-
requirement: [] # 业务需求分析
|
|
18
|
-
prd: [] # 产品需求说明书
|
|
19
|
-
frontDemos: [] # 前端演示项目
|
|
20
|
-
endDesigns: [] # 后端系统设计
|
|
21
|
-
frontDesigns: [] # 前端功能设计
|
|
22
|
-
endCodes: [] # 后端代码实现
|
|
23
|
-
frontCodes: [] # 前端代码实现
|
|
24
|
-
unitTests: [] # 单元测试
|
|
25
|
-
situationTests: [] # 系统集成测试
|
|
26
|
-
code-reviews: [] # 代码评审
|
|
27
|
-
uats: [] # 用户验收测试
|
|
28
|
-
depolys: [] # 部署上线
|
|
1
|
+
# adspecs Feature Tracking - YAML format
|
|
2
|
+
# 此文件由 feature.json 自动同步生成,用于人类可读查看
|
|
3
|
+
# 请勿直接编辑此文件,修改 feature.json 后重新生成
|
|
4
|
+
|
|
5
|
+
active: ""
|
|
6
|
+
|
|
7
|
+
features:
|
|
8
|
+
# - id: "<功能ID>"
|
|
9
|
+
# directory: "<resolved feature dir>"
|
|
10
|
+
# filename: "<resolved feature filename>"
|
|
11
|
+
# name: "<需求名称>"
|
|
12
|
+
# phase: requirement
|
|
13
|
+
# status: drafting
|
|
14
|
+
# created: "<DATE>"
|
|
15
|
+
|
|
16
|
+
# 阶段数组 — 各开发阶段的功能条目追踪
|
|
17
|
+
requirement: [] # 业务需求分析
|
|
18
|
+
prd: [] # 产品需求说明书
|
|
19
|
+
frontDemos: [] # 前端演示项目
|
|
20
|
+
endDesigns: [] # 后端系统设计
|
|
21
|
+
frontDesigns: [] # 前端功能设计
|
|
22
|
+
endCodes: [] # 后端代码实现
|
|
23
|
+
frontCodes: [] # 前端代码实现
|
|
24
|
+
unitTests: [] # 单元测试
|
|
25
|
+
situationTests: [] # 系统集成测试
|
|
26
|
+
code-reviews: [] # 代码评审
|
|
27
|
+
uats: [] # 用户验收测试
|
|
28
|
+
depolys: [] # 部署上线
|
package/.adspecs/paths.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "adspecs plugin path configuration",
|
|
3
|
-
"version": 1,
|
|
4
|
-
"paths": {
|
|
5
|
-
"biz_analysis_dir": "docs/00-customer-requirements",
|
|
6
|
-
"architecture_dir": "docs/10-architecture",
|
|
7
|
-
"research_output_dir": "docs/02-prd",
|
|
8
|
-
"sow_dir": "docs/05-sow",
|
|
9
|
-
"prd_dir": "docs/20-prd",
|
|
10
|
-
"design_dir": "docs/30-system-design",
|
|
11
|
-
"test_report_dir": "docs/80-development",
|
|
12
|
-
"export_dir": "docs/90-export",
|
|
13
|
-
"front_demo_dir": "front-demo",
|
|
14
|
-
"front_prototype_dir": "web-ui",
|
|
15
|
-
"wiki_dir": "wiki"
|
|
16
|
-
}
|
|
17
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"$schema": "adspecs plugin path configuration",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"paths": {
|
|
5
|
+
"biz_analysis_dir": "docs/00-customer-requirements",
|
|
6
|
+
"architecture_dir": "docs/10-architecture",
|
|
7
|
+
"research_output_dir": "docs/02-prd",
|
|
8
|
+
"sow_dir": "docs/05-sow",
|
|
9
|
+
"prd_dir": "docs/20-prd",
|
|
10
|
+
"design_dir": "docs/30-system-design",
|
|
11
|
+
"test_report_dir": "docs/80-development",
|
|
12
|
+
"export_dir": "docs/90-export",
|
|
13
|
+
"front_demo_dir": "front-demo",
|
|
14
|
+
"front_prototype_dir": "web-ui",
|
|
15
|
+
"wiki_dir": "wiki"
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "adspecs-marketplace",
|
|
3
|
-
"owner": {
|
|
4
|
-
"name": "Qingwen Chen",
|
|
5
|
-
"email": "cqinwn@qq.com",
|
|
6
|
-
"url": "https://gitee.com/yuebon/adspecs",
|
|
7
|
-
"github": "https://gitee.com/yuebon/adspecs"
|
|
8
|
-
},
|
|
9
|
-
"plugins": [
|
|
10
|
-
{
|
|
11
|
-
"name": "adspecs",
|
|
12
|
-
"description": "AI Coding研发协同开发插件",
|
|
13
|
-
"version": "0.1.
|
|
14
|
-
"source": "./",
|
|
15
|
-
"author": {
|
|
16
|
-
"name": "Qingwen Chen",
|
|
17
|
-
"email": "cqinwn@qq.com",
|
|
18
|
-
"url": "https://gitee.com/yuebon/adspecs",
|
|
19
|
-
"github": "https://gitee.com/yuebon/adspecs"
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
]
|
|
23
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "adspecs-marketplace",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "Qingwen Chen",
|
|
5
|
+
"email": "cqinwn@qq.com",
|
|
6
|
+
"url": "https://gitee.com/yuebon/adspecs",
|
|
7
|
+
"github": "https://gitee.com/yuebon/adspecs"
|
|
8
|
+
},
|
|
9
|
+
"plugins": [
|
|
10
|
+
{
|
|
11
|
+
"name": "adspecs",
|
|
12
|
+
"description": "AI Coding研发协同开发插件",
|
|
13
|
+
"version": "0.1.20",
|
|
14
|
+
"source": "./",
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "Qingwen Chen",
|
|
17
|
+
"email": "cqinwn@qq.com",
|
|
18
|
+
"url": "https://gitee.com/yuebon/adspecs",
|
|
19
|
+
"github": "https://gitee.com/yuebon/adspecs"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "adspecs",
|
|
3
|
-
"displayName": "adspecs AI Plugin",
|
|
4
|
-
"description": "AI first工程规范驱动开发插件",
|
|
5
|
-
"version": "0.1.
|
|
6
|
-
"author": {
|
|
7
|
-
"name": "Qingwen Chen",
|
|
8
|
-
"email": "cqinwn@qq.com",
|
|
9
|
-
"url": "https://gitee.com/yuebon/adspecs"
|
|
10
|
-
},
|
|
11
|
-
"skills": "./skills/",
|
|
12
|
-
"license": "apache-2.0",
|
|
13
|
-
"keywords": [
|
|
14
|
-
"adspecs",
|
|
15
|
-
"ai",
|
|
16
|
-
"development"
|
|
17
|
-
]
|
|
18
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "adspecs",
|
|
3
|
+
"displayName": "adspecs AI Plugin",
|
|
4
|
+
"description": "AI first工程规范驱动开发插件",
|
|
5
|
+
"version": "0.1.20",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "Qingwen Chen",
|
|
8
|
+
"email": "cqinwn@qq.com",
|
|
9
|
+
"url": "https://gitee.com/yuebon/adspecs"
|
|
10
|
+
},
|
|
11
|
+
"skills": "./skills/",
|
|
12
|
+
"license": "apache-2.0",
|
|
13
|
+
"keywords": [
|
|
14
|
+
"adspecs",
|
|
15
|
+
"ai",
|
|
16
|
+
"development"
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "adspecs",
|
|
3
|
-
"displayName": "adspecs AI 工程规范驱动开发插件",
|
|
4
|
-
"version": "0.1.
|
|
5
|
-
"description": "AI-first specification-driven development plugin for ECP platform full-lifecycle development",
|
|
6
|
-
"descriptionZh": "AI优先的工程规范驱动开发插件,覆盖需求分析、PRD、系统设计、任务拆解、TDD、代码评审、Wiki同步全流程",
|
|
7
|
-
"author": {
|
|
8
|
-
"name": "Qingwen Chen",
|
|
9
|
-
"email": "cqinwn@qq.com"
|
|
10
|
-
},
|
|
11
|
-
"homepage": "https://gitee.com/yuebon/adspecs",
|
|
12
|
-
"repository": "https://gitee.com/yuebon/adspecs",
|
|
13
|
-
"logo": "./assets/avatar.svg",
|
|
14
|
-
"keywords": [
|
|
15
|
-
"qoder-plugin",
|
|
16
|
-
"adspecs",
|
|
17
|
-
"spec-driven",
|
|
18
|
-
"tdd"
|
|
19
|
-
],
|
|
20
|
-
"category": "developer-tools",
|
|
21
|
-
"tags": [
|
|
22
|
-
"skill",
|
|
23
|
-
"specification",
|
|
24
|
-
"tdd",
|
|
25
|
-
"documentation"
|
|
26
|
-
],
|
|
27
|
-
"skills": "./skills/",
|
|
28
|
-
"rules": "./rules/",
|
|
29
|
-
"hooks": "./hooks/hooks.json",
|
|
30
|
-
"preserveUpstreamMetadata": true
|
|
31
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "adspecs",
|
|
3
|
+
"displayName": "adspecs AI 工程规范驱动开发插件",
|
|
4
|
+
"version": "0.1.20",
|
|
5
|
+
"description": "AI-first specification-driven development plugin for ECP platform full-lifecycle development",
|
|
6
|
+
"descriptionZh": "AI优先的工程规范驱动开发插件,覆盖需求分析、PRD、系统设计、任务拆解、TDD、代码评审、Wiki同步全流程",
|
|
7
|
+
"author": {
|
|
8
|
+
"name": "Qingwen Chen",
|
|
9
|
+
"email": "cqinwn@qq.com"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://gitee.com/yuebon/adspecs",
|
|
12
|
+
"repository": "https://gitee.com/yuebon/adspecs",
|
|
13
|
+
"logo": "./assets/avatar.svg",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"qoder-plugin",
|
|
16
|
+
"adspecs",
|
|
17
|
+
"spec-driven",
|
|
18
|
+
"tdd"
|
|
19
|
+
],
|
|
20
|
+
"category": "developer-tools",
|
|
21
|
+
"tags": [
|
|
22
|
+
"skill",
|
|
23
|
+
"specification",
|
|
24
|
+
"tdd",
|
|
25
|
+
"documentation"
|
|
26
|
+
],
|
|
27
|
+
"skills": "./skills/",
|
|
28
|
+
"rules": "./rules/",
|
|
29
|
+
"hooks": "./hooks/hooks.json",
|
|
30
|
+
"preserveUpstreamMetadata": true
|
|
31
|
+
}
|
package/CLAUDE.md
CHANGED
|
@@ -155,7 +155,7 @@ Skills support configurable output directories via `.adspecs/paths.json` in the
|
|
|
155
155
|
- **`docs/40-project_conventions/`** — ECP coding standards (backend Java + frontend integration)
|
|
156
156
|
- **`front-demo/`** — Vue 3 demo project (Vite + TypeScript + Element Plus) with `.claude/rules/` for `@gushen` component conventions
|
|
157
157
|
- **`antd-front-demo/`** — Ant Design React demo project
|
|
158
|
-
- **`web-ui/`** —
|
|
158
|
+
- **`web-ui/`** — management console shell project
|
|
159
159
|
|
|
160
160
|
Additionally, `.adspecs/` at the plugin root contains:
|
|
161
161
|
|
|
@@ -166,10 +166,6 @@ Additionally, `.adspecs/` at the plugin root contains:
|
|
|
166
166
|
|
|
167
167
|
## Key Architecture Patterns
|
|
168
168
|
|
|
169
|
-
### ECP Platform Conventions (Backend)
|
|
170
|
-
|
|
171
|
-
Backend code generated by this plugin follows strict ECP 10-rule coding standard: `BaseEntity` inheritance, `ReqeustCommonDataBean` (intentional platform typo), `BaseCommonDAO_HI`, no `QueryWrapper`, `II{Entity}` service interfaces, FastJSON for save / Spring BeanUtils for update, `@CheckToken` on all endpoints, 7-language i18n, `ResponseMsgCode` enum (no hardcoded strings). These rules are enforced in `adspecs-tasks` and reference convention docs.
|
|
172
|
-
|
|
173
169
|
### TDD Pipeline
|
|
174
170
|
|
|
175
171
|
Task skills (`adspecs-tasks`, `adspecs-front-tasks`) follow strict RED→GREEN→REFACTOR ordering. Test tasks marked `[TDD]` must precede all implementation tasks within each user story phase.
|