visual-spec 0.1.8 → 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/README.md +16 -2
- package/docs/en-US/ai-platform-installation.md +39 -0
- package/docs/en-US/commands.md +4 -2
- package/docs/en-US/getting-started.md +7 -29
- package/docs/en-US/installation.md +4 -39
- package/docs/en-US/scheme.example.yaml +2 -1
- package/docs/en-US/structure.md +2 -3
- package/docs/en-US/workflows.md +4 -4
- package/docs/ja-JP/ai-platform-installation.md +39 -0
- package/docs/ja-JP/commands.md +38 -0
- package/docs/ja-JP/concepts.md +35 -0
- package/docs/ja-JP/getting-started.md +39 -0
- package/docs/ja-JP/installation.md +18 -0
- package/docs/ja-JP/scheme.example.yaml +72 -0
- package/docs/ja-JP/structure.md +49 -0
- package/docs/ja-JP/ui-spec-modification-notes.md +35 -0
- package/docs/ja-JP/workflows.md +40 -0
- package/docs/zh-CN/ai-platform-installation.md +39 -0
- package/docs/zh-CN/commands.md +14 -2
- package/docs/zh-CN/getting-started.md +7 -29
- package/docs/zh-CN/installation.md +4 -39
- package/docs/zh-CN/quality_check.md +32 -0
- package/docs/zh-CN/scheme.example.yaml +2 -1
- package/docs/zh-CN/structure.md +2 -3
- package/docs/zh-CN/workflows.md +28 -4
- package/package.json +19 -15
- package/scripts/build_skill.cjs +56 -0
- package/scripts/postinstall.cjs +3 -3
- package/skills/visual-spec/SKILL-ja-JP.md +170 -0
- package/skills/{visual-spec-skill → visual-spec}/SKILL-zh-CN.md +57 -23
- package/skills/{visual-spec-skill → visual-spec}/SKILL.md +66 -24
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_accept/accept.md +23 -6
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/auth.md +6 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/code_rules.md +14 -2
- package/skills/visual-spec/prompts/vspec_detail/cron_job.md +43 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/data_permission.md +4 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/decision_matrix.md +20 -4
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/expression_tree.md +34 -6
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/file_export.md +14 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/file_import.md +14 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/formula.md +14 -2
- package/skills/visual-spec/prompts/vspec_detail/interaction.md +47 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/judgemental_matrix.md +22 -4
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/logging_matrix.md +14 -3
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/mq.md +14 -3
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/nfp.md +26 -7
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/notification_matrix.md +14 -3
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/page_load.md +35 -8
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/payment.md +6 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/post_submit_check.md +14 -2
- package/skills/visual-spec/prompts/vspec_detail/post_submit_navigation.md +33 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/post_submit_processing.md +14 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/rbac.md +24 -4
- package/skills/visual-spec/prompts/vspec_detail/state_machine.md +51 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/timeline.md +34 -6
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_detail/validation_matrix.md +14 -3
- package/skills/visual-spec/prompts/vspec_more_q/more_q.md +92 -0
- package/skills/visual-spec/prompts/vspec_mrd/mrd.md +73 -0
- package/skills/visual-spec/prompts/vspec_new/background.md +589 -0
- package/skills/visual-spec/prompts/vspec_new/dependencies.md +63 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/details_boundaries.md +17 -7
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/details_constraints.md +17 -7
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/details_pre_post.md +32 -17
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/details_symmetry.md +17 -7
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/details_variations.md +17 -7
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/flows.md +4 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/functions.md +18 -3
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/questions.md +30 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/roles.md +20 -4
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/scenarios.md +9 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/stakeholders.md +21 -5
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/terms.md +21 -6
- package/skills/visual-spec/prompts/vspec_plan/estimate.md +118 -0
- package/skills/visual-spec/prompts/vspec_plan/schedule.md +76 -0
- package/skills/visual-spec/prompts/vspec_qc/banking_quality_cases.md +99 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_qc/qc.md +19 -3
- package/skills/visual-spec/prompts/vspec_qc/quality_standard.md +928 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_refine/refine.md +48 -23
- package/skills/visual-spec/prompts/vspec_refine/refine_q.md +79 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_test/test.md +4 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_upgrade/upgrade.md +13 -2
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/model.md +49 -24
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype.md +59 -5
- package/skills/visual-spec/prompts/vspec_verify/prototype_auth.md +53 -0
- package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_calendar.md +16 -4
- package/skills/visual-spec/prompts/vspec_verify/prototype_mobile_auth.md +35 -0
- package/skills/visual-spec/prompts/vspec_verify/prototype_mobile_profile.md +35 -0
- package/skills/visual-spec/prompts/vspec_verify/prototype_profile.md +39 -0
- package/skills/visual-spec-skill/prompts/vspec_detail/cron_job.md +0 -22
- package/skills/visual-spec-skill/prompts/vspec_detail/interaction.md +0 -30
- package/skills/visual-spec-skill/prompts/vspec_detail/post_submit_navigation.md +0 -21
- package/skills/visual-spec-skill/prompts/vspec_detail/state_machine.md +0 -25
- package/skills/visual-spec-skill/prompts/vspec_new/background.md +0 -383
- package/skills/visual-spec-skill/prompts/vspec_new/dependencies.md +0 -41
- package/skills/visual-spec-skill/prompts/vspec_plan/estimate.md +0 -32
- package/skills/visual-spec-skill/prompts/vspec_plan/schedule.md +0 -43
- package/skills/visual-spec-skill/prompts/vspec_qc/quality_standard.md +0 -35
- package/skills/visual-spec-skill/prompts/vspec_refine/refine_q.md +0 -52
- package/skills/visual-spec-skill/prompts/vspec_verify/prototype_auth.md +0 -58
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_impl/implement.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_new/details.md +0 -0
- /package/skills/{visual-spec-skill/prompts/vspec_qc/22. → visual-spec/prompts/vspec_qc/}/351/234/200/346/261/202/345/210/206/346/236/220/351/224/231/351/242/230/346/234/254.xlsx" +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/entries.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_apply.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_approve.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_article.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_big_screen.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_crud.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_dashboard.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_execute.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_landing.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_layout.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_agreement.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_calendar.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_cart.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_comprehensive_search.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_dashboard.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_feed.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_list.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_payment.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_product.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_qr.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_signature.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_video_course.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_mobile_waterfall.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_music.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_order.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_product_reviews.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_promotion.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_quiz.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_richtext_publish.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_super_form_builder.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_survey.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_tool_pages.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_toolbox.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/prototype_video.md +0 -0
- /package/skills/{visual-spec-skill → visual-spec}/prompts/vspec_verify/validation.md +0 -0
|
@@ -0,0 +1,589 @@
|
|
|
1
|
+
你是一名资深需求分析师和视觉规格设计师。你会根据用户提供的原始需求,先完成需求澄清与结构化分析,再输出可继续用于界面设计和业务细化的结果。
|
|
2
|
+
|
|
3
|
+
输入内容为用户刚刚通过 `/vspec:new` 提交的原始需求。
|
|
4
|
+
|
|
5
|
+
请严格按以下步骤执行:
|
|
6
|
+
|
|
7
|
+
语言与本地化(必须):
|
|
8
|
+
- 读取 `/scheme.yaml` 的 `selected.language` 作为“文档输出默认语言”(支持 `en`、`zh`、`ja`;若缺失/非法则按 `en` 处理)
|
|
9
|
+
- 若存在 `/scheme.yaml` `selected.languages`(数组):将其作为“项目支持语言集合”(用于原型语言切换等);若缺失则默认 `[selected.language]`
|
|
10
|
+
- 若用户在 `/vspec:new` 命令参数或本次输入中显式指定 `lang=<...>`:
|
|
11
|
+
- 支持两种形式:
|
|
12
|
+
- 单语言:`lang=en` / `lang=zh` / `lang=ja`
|
|
13
|
+
- 多语言:`lang=zh,en`(逗号分隔;第一个为文档默认语言;其余为可切换语言;允许 `zh-CN` 作为 `zh` 的别名)
|
|
14
|
+
- 本次必须以该值为准,并将 `/scheme.yaml` 更新为:
|
|
15
|
+
- `selected.language` = 解析后的第一个语言
|
|
16
|
+
- `selected.languages` = 解析后的语言数组(去重,保序)
|
|
17
|
+
- 只更新上述两个字段,其他字段与格式保持不变
|
|
18
|
+
- 本命令生成的所有 `/specs/**` 文档内容必须使用该语言输出(标题、表头、字段说明、状态文案、按钮文案、提示语等均需一致);禁止混用其他语言
|
|
19
|
+
|
|
20
|
+
0. 创建材料目录(docs)
|
|
21
|
+
- 如果 `/docs` 不存在,请先创建目录
|
|
22
|
+
- 如果 `/docs/README.md` 不存在,请创建并写入以下内容(保持简短):
|
|
23
|
+
- 不要创建 `/docs/change/`(已废弃)
|
|
24
|
+
- 如果 `/docs/refine` 不存在,请创建目录
|
|
25
|
+
- 如果 `/docs/refine/README.md` 不存在,请创建并写入以下内容(说明如何编写 `refine.md`;保持简短,可 fork 后调整):
|
|
26
|
+
|
|
27
|
+
- 语言=en:
|
|
28
|
+
|
|
29
|
+
# refine (Refinement Inputs)
|
|
30
|
+
|
|
31
|
+
This directory stores refinement instructions for `/vspec:refine`.
|
|
32
|
+
|
|
33
|
+
Recommended file:
|
|
34
|
+
- `docs/refine/refine.md`: the canonical refinement instruction for this project.
|
|
35
|
+
|
|
36
|
+
Suggested structure (keep it short and explicit):
|
|
37
|
+
- What changed (new/modify/delete/clarify)
|
|
38
|
+
- Impact scope (modules/functions/pages/APIs)
|
|
39
|
+
- New/updated rules (validation, permissions, states, dependencies)
|
|
40
|
+
- Open questions (if any)
|
|
41
|
+
|
|
42
|
+
- 语言=zh-CN:
|
|
43
|
+
|
|
44
|
+
# refine(补充/澄清输入)
|
|
45
|
+
|
|
46
|
+
本目录用于存放 `/vspec:refine` 的修订输入。
|
|
47
|
+
|
|
48
|
+
推荐文件:
|
|
49
|
+
- `docs/refine/refine.md`:本项目统一的修订指令入口文件(建议始终维护它)。
|
|
50
|
+
|
|
51
|
+
建议结构(简短、明确):
|
|
52
|
+
- 变更点:新增/修改/删除/澄清(逐条列出)
|
|
53
|
+
- 影响范围:涉及哪些模块/功能/页面/API
|
|
54
|
+
- 新规则:校验/权限/状态机/外部依赖/失败兜底
|
|
55
|
+
- 待确认问题(如有)
|
|
56
|
+
|
|
57
|
+
- 语言=ja:
|
|
58
|
+
|
|
59
|
+
# refine(追補/明確化入力)
|
|
60
|
+
|
|
61
|
+
本ディレクトリは `/vspec:refine` の改訂入力を保管します。
|
|
62
|
+
|
|
63
|
+
推奨ファイル:
|
|
64
|
+
- `docs/refine/refine.md`:このプロジェクトの改訂指示の入口ファイル(継続的に更新すること)。
|
|
65
|
+
|
|
66
|
+
推奨構成(短く、明確に):
|
|
67
|
+
- 変更点(追加/修正/削除/明確化)
|
|
68
|
+
- 影響範囲(モジュール/機能/画面/API)
|
|
69
|
+
- 新ルール(バリデーション/権限/状態/外部依存/失敗時対応)
|
|
70
|
+
- 要確認事項(必要なら)
|
|
71
|
+
- 如果 `/docs/dependencies` 不存在,请创建目录
|
|
72
|
+
- 如果 `/docs/dependencies/README.md` 不存在,请创建并写入以下内容(用于构建“外部依赖系统说明文档库”;保持简短,可 fork 后按团队规范调整):
|
|
73
|
+
|
|
74
|
+
- 语言=en:
|
|
75
|
+
|
|
76
|
+
# dependencies (External Systems Library)
|
|
77
|
+
|
|
78
|
+
Store existing external dependency system docs here (one system per folder). `/vspec:new` and dependency analysis will read this directory to understand what each system does.
|
|
79
|
+
|
|
80
|
+
Recommended:
|
|
81
|
+
- `docs/dependencies/<system_slug>/overview.md`: purpose, owners, environments, auth
|
|
82
|
+
- `docs/dependencies/<system_slug>/interfaces.md`: APIs/webhooks/topics/files, key fields, SLA
|
|
83
|
+
- `docs/dependencies/<system_slug>/samples/`: request/response, payload examples
|
|
84
|
+
|
|
85
|
+
- 语言=zh-CN:
|
|
86
|
+
|
|
87
|
+
# dependencies(外部依赖系统文档库)
|
|
88
|
+
|
|
89
|
+
将“已有外部依赖系统”的说明文档沉淀到这里(建议一个系统一个目录)。后续做依赖分析时会优先读取该目录,先理解“有哪些系统、各自做什么”,再梳理本需求与这些系统的交互边界。
|
|
90
|
+
|
|
91
|
+
推荐结构:
|
|
92
|
+
- `docs/dependencies/<system_slug>/overview.md`:系统用途、负责人、环境、鉴权方式
|
|
93
|
+
- `docs/dependencies/<system_slug>/interfaces.md`:API/webhook/topic/文件等接口清单、关键字段、SLA
|
|
94
|
+
- `docs/dependencies/<system_slug>/samples/`:请求/响应/消息体样例
|
|
95
|
+
|
|
96
|
+
- 语言=ja:
|
|
97
|
+
|
|
98
|
+
# dependencies(外部依存システム文書庫)
|
|
99
|
+
|
|
100
|
+
既存の外部依存システムの資料をここに集約します(原則:1システム=1フォルダ)。依存関係分析では本ディレクトリを優先的に読み取り、「どのシステムが何を担うか」を整理します。
|
|
101
|
+
|
|
102
|
+
推奨:
|
|
103
|
+
- `docs/dependencies/<system_slug>/overview.md`:目的、担当、環境、認証
|
|
104
|
+
- `docs/dependencies/<system_slug>/interfaces.md`:API/webhook/topic/ファイル、主要フィールド、SLA
|
|
105
|
+
- `docs/dependencies/<system_slug>/samples/`:リクエスト/レスポンス/ペイロード例
|
|
106
|
+
|
|
107
|
+
- 语言=en:
|
|
108
|
+
|
|
109
|
+
# docs (Inputs)
|
|
110
|
+
|
|
111
|
+
This directory stores business inputs and delivery alignment materials for this requirement: original docs, flow notes, field definitions, templates/agreements/copy, screenshots, and sample data.
|
|
112
|
+
|
|
113
|
+
Prefer organizing by topic or date, and include source + version in filenames.
|
|
114
|
+
|
|
115
|
+
- 语言=zh-CN:
|
|
116
|
+
|
|
117
|
+
# docs(需求材料)
|
|
118
|
+
|
|
119
|
+
本目录用于存放与本需求相关的业务材料与交付对齐资料,例如:原始文档、流程说明、字段口径、模板/协议/文案、截图、样例数据等。
|
|
120
|
+
|
|
121
|
+
建议按主题或日期建立子目录,并在文件名中体现来源与版本。
|
|
122
|
+
|
|
123
|
+
- 语言=ja:
|
|
124
|
+
|
|
125
|
+
# docs(入力資料)
|
|
126
|
+
|
|
127
|
+
本ディレクトリは、本要件に関する業務入力と合意形成資料(原本ドキュメント、フロー説明、項目定義、テンプレート/規約/文言、スクリーンショット、サンプルデータ等)を保管します。
|
|
128
|
+
|
|
129
|
+
トピックや日付で整理し、ファイル名に出所とバージョンを含めてください。
|
|
130
|
+
|
|
131
|
+
0.5 创建可编辑的工程约束文件(必须)
|
|
132
|
+
- 目的:让用户在后续 `/vspec:verify` 与 `/vspec:impl` 前即可手动调整技术栈与 UI 风格
|
|
133
|
+
- 生成内容必须使用“固定标准模板”,禁止动态变化(必须):
|
|
134
|
+
- 禁止调整字段顺序、缩进风格与键名;禁止按项目/行业“智能改写模板内容”
|
|
135
|
+
- 若文件已存在:不得覆盖、不得重排、不得“格式化重写”
|
|
136
|
+
- 若 `/scheme.yaml` 不存在:必须创建(不要覆盖已存在文件),写入以下默认模板(必须逐字复制):
|
|
137
|
+
|
|
138
|
+
```yaml
|
|
139
|
+
schema_version: 1
|
|
140
|
+
|
|
141
|
+
selected:
|
|
142
|
+
prototype_frontend_stack: vue3_vite_ts_antdv
|
|
143
|
+
prototype_frontend_framework: vue
|
|
144
|
+
prototype_frontend_ui_library: ant-design-vue
|
|
145
|
+
prototype_backend_stack: java17_springboot3
|
|
146
|
+
prototype_database: mysql8
|
|
147
|
+
package_manager: npm
|
|
148
|
+
language: en
|
|
149
|
+
languages:
|
|
150
|
+
- en
|
|
151
|
+
|
|
152
|
+
prototype_options:
|
|
153
|
+
calendar_view:
|
|
154
|
+
enabled: auto
|
|
155
|
+
view_default: month
|
|
156
|
+
resource_dimension: auto
|
|
157
|
+
|
|
158
|
+
catalog:
|
|
159
|
+
prototype_frontend_stacks:
|
|
160
|
+
- id: vue3_vite_ts_antdv
|
|
161
|
+
name: Vue 3 + Vite + TypeScript + Ant Design Vue
|
|
162
|
+
framework: vue
|
|
163
|
+
framework_version: "3"
|
|
164
|
+
build_tool: vite
|
|
165
|
+
language: typescript
|
|
166
|
+
ui_library: ant-design-vue
|
|
167
|
+
router: vue-router@4
|
|
168
|
+
state: pinia
|
|
169
|
+
http_client: axios
|
|
170
|
+
charting: echarts
|
|
171
|
+
date_library: dayjs
|
|
172
|
+
styling: less
|
|
173
|
+
lint: eslint
|
|
174
|
+
formatter: prettier
|
|
175
|
+
unit_test: vitest
|
|
176
|
+
e2e_test: playwright
|
|
177
|
+
notes: default_for_vspec_verify
|
|
178
|
+
|
|
179
|
+
- id: vue3_vite_ts_elementplus
|
|
180
|
+
name: Vue 3 + Vite + TypeScript + Element Plus
|
|
181
|
+
framework: vue
|
|
182
|
+
framework_version: "3"
|
|
183
|
+
build_tool: vite
|
|
184
|
+
language: typescript
|
|
185
|
+
ui_library: element-plus
|
|
186
|
+
router: vue-router@4
|
|
187
|
+
state: pinia
|
|
188
|
+
http_client: axios
|
|
189
|
+
charting: echarts
|
|
190
|
+
date_library: dayjs
|
|
191
|
+
styling: scss
|
|
192
|
+
lint: eslint
|
|
193
|
+
formatter: prettier
|
|
194
|
+
unit_test: vitest
|
|
195
|
+
e2e_test: playwright
|
|
196
|
+
notes: suitable_for_enterprise_admin
|
|
197
|
+
|
|
198
|
+
- id: nuxt3_ts_elementplus
|
|
199
|
+
name: Nuxt 3 + TypeScript + Element Plus (SSR/SSG)
|
|
200
|
+
framework: nuxt
|
|
201
|
+
framework_version: "3"
|
|
202
|
+
build_tool: nuxt
|
|
203
|
+
language: typescript
|
|
204
|
+
ui_library: element-plus
|
|
205
|
+
router: built-in
|
|
206
|
+
state: pinia
|
|
207
|
+
http_client: ofetch
|
|
208
|
+
charting: echarts
|
|
209
|
+
date_library: dayjs
|
|
210
|
+
styling: scss
|
|
211
|
+
lint: eslint
|
|
212
|
+
formatter: prettier
|
|
213
|
+
unit_test: vitest
|
|
214
|
+
e2e_test: playwright
|
|
215
|
+
notes: ssr_friendly
|
|
216
|
+
|
|
217
|
+
- id: react18_vite_ts_antd
|
|
218
|
+
name: React 18 + Vite + TypeScript + Ant Design
|
|
219
|
+
framework: react
|
|
220
|
+
framework_version: "18"
|
|
221
|
+
build_tool: vite
|
|
222
|
+
language: typescript
|
|
223
|
+
ui_library: antd
|
|
224
|
+
router: react-router@6
|
|
225
|
+
state: redux-toolkit
|
|
226
|
+
http_client: axios
|
|
227
|
+
charting: echarts-for-react
|
|
228
|
+
date_library: dayjs
|
|
229
|
+
styling: less
|
|
230
|
+
lint: eslint
|
|
231
|
+
formatter: prettier
|
|
232
|
+
unit_test: vitest
|
|
233
|
+
e2e_test: playwright
|
|
234
|
+
notes: common_spa_choice
|
|
235
|
+
|
|
236
|
+
- id: nextjs14_ts_antd
|
|
237
|
+
name: Next.js 14 + TypeScript + Ant Design (App Router)
|
|
238
|
+
framework: nextjs
|
|
239
|
+
framework_version: "14"
|
|
240
|
+
build_tool: next
|
|
241
|
+
language: typescript
|
|
242
|
+
ui_library: antd
|
|
243
|
+
router: app-router
|
|
244
|
+
state: react-context
|
|
245
|
+
http_client: fetch
|
|
246
|
+
charting: echarts-for-react
|
|
247
|
+
date_library: dayjs
|
|
248
|
+
styling: css-modules
|
|
249
|
+
lint: eslint
|
|
250
|
+
formatter: prettier
|
|
251
|
+
unit_test: vitest
|
|
252
|
+
e2e_test: playwright
|
|
253
|
+
notes: ssr_and_rsc
|
|
254
|
+
|
|
255
|
+
- id: angular17_ts_ngzorro
|
|
256
|
+
name: Angular 17 + TypeScript + NG-ZORRO
|
|
257
|
+
framework: angular
|
|
258
|
+
framework_version: "17"
|
|
259
|
+
build_tool: angular-cli
|
|
260
|
+
language: typescript
|
|
261
|
+
ui_library: ng-zorro-antd
|
|
262
|
+
router: angular-router
|
|
263
|
+
state: rxjs
|
|
264
|
+
http_client: angular-http
|
|
265
|
+
charting: echarts
|
|
266
|
+
date_library: dayjs
|
|
267
|
+
styling: less
|
|
268
|
+
lint: eslint
|
|
269
|
+
formatter: prettier
|
|
270
|
+
unit_test: karma-jasmine
|
|
271
|
+
e2e_test: playwright
|
|
272
|
+
notes: enterprise_frontend
|
|
273
|
+
|
|
274
|
+
- id: sveltekit2_ts
|
|
275
|
+
name: SvelteKit 2 + TypeScript
|
|
276
|
+
framework: sveltekit
|
|
277
|
+
framework_version: "2"
|
|
278
|
+
build_tool: sveltekit
|
|
279
|
+
language: typescript
|
|
280
|
+
ui_library: skeleton
|
|
281
|
+
router: built-in
|
|
282
|
+
state: stores
|
|
283
|
+
http_client: fetch
|
|
284
|
+
charting: echarts
|
|
285
|
+
date_library: dayjs
|
|
286
|
+
styling: tailwindcss
|
|
287
|
+
lint: eslint
|
|
288
|
+
formatter: prettier
|
|
289
|
+
unit_test: vitest
|
|
290
|
+
e2e_test: playwright
|
|
291
|
+
notes: lightweight
|
|
292
|
+
|
|
293
|
+
prototype_backend_stacks:
|
|
294
|
+
- id: node18_nestjs10_ts
|
|
295
|
+
name: Node.js 18 + NestJS 10 + TypeScript
|
|
296
|
+
language: typescript
|
|
297
|
+
framework: nestjs
|
|
298
|
+
api_style: rest
|
|
299
|
+
auth: jwt
|
|
300
|
+
orm: prisma
|
|
301
|
+
notes: suitable_for_enterprise_api
|
|
302
|
+
|
|
303
|
+
- id: node18_express_ts
|
|
304
|
+
name: Node.js 18 + Express + TypeScript
|
|
305
|
+
language: typescript
|
|
306
|
+
framework: express
|
|
307
|
+
api_style: rest
|
|
308
|
+
auth: jwt
|
|
309
|
+
orm: prisma
|
|
310
|
+
notes: lightweight_api
|
|
311
|
+
|
|
312
|
+
- id: java17_springboot3
|
|
313
|
+
name: Java 17 + Spring Boot 3
|
|
314
|
+
language: java
|
|
315
|
+
framework: spring-boot
|
|
316
|
+
api_style: rest
|
|
317
|
+
auth: spring-security-jwt
|
|
318
|
+
orm: jpa_or_mybatis
|
|
319
|
+
notes: enterprise_standard
|
|
320
|
+
|
|
321
|
+
- id: dotnet8_webapi
|
|
322
|
+
name: .NET 8 + ASP.NET Core Web API
|
|
323
|
+
language: csharp
|
|
324
|
+
framework: aspnet-core
|
|
325
|
+
api_style: rest
|
|
326
|
+
auth: jwt
|
|
327
|
+
orm: ef-core
|
|
328
|
+
notes: microsoft_stack
|
|
329
|
+
|
|
330
|
+
- id: python311_fastapi
|
|
331
|
+
name: Python 3.11 + FastAPI
|
|
332
|
+
language: python
|
|
333
|
+
framework: fastapi
|
|
334
|
+
api_style: rest
|
|
335
|
+
auth: jwt
|
|
336
|
+
orm: sqlalchemy
|
|
337
|
+
notes: fast_iteration
|
|
338
|
+
|
|
339
|
+
- id: go122_gin
|
|
340
|
+
name: Go 1.22 + Gin
|
|
341
|
+
language: go
|
|
342
|
+
framework: gin
|
|
343
|
+
api_style: rest
|
|
344
|
+
auth: jwt
|
|
345
|
+
orm: gorm
|
|
346
|
+
notes: high_performance
|
|
347
|
+
|
|
348
|
+
databases:
|
|
349
|
+
- id: none
|
|
350
|
+
name: No database (in-memory/mock)
|
|
351
|
+
type: none
|
|
352
|
+
notes: prototype_default
|
|
353
|
+
- id: postgres16
|
|
354
|
+
name: PostgreSQL 16
|
|
355
|
+
type: relational
|
|
356
|
+
migration: prisma_or_flyway
|
|
357
|
+
notes: recommended_relational
|
|
358
|
+
- id: mysql8
|
|
359
|
+
name: MySQL 8
|
|
360
|
+
type: relational
|
|
361
|
+
migration: prisma_or_flyway
|
|
362
|
+
notes: common_relational
|
|
363
|
+
- id: mongodb7
|
|
364
|
+
name: MongoDB 7
|
|
365
|
+
type: document
|
|
366
|
+
migration: none
|
|
367
|
+
notes: document_store
|
|
368
|
+
- id: redis7
|
|
369
|
+
name: Redis 7
|
|
370
|
+
type: cache
|
|
371
|
+
migration: none
|
|
372
|
+
notes: cache_and_lock
|
|
373
|
+
|
|
374
|
+
integrations:
|
|
375
|
+
auth:
|
|
376
|
+
- id: none
|
|
377
|
+
name: No auth (prototype role switch)
|
|
378
|
+
- id: sso_oidc
|
|
379
|
+
name: OIDC/OAuth2 SSO
|
|
380
|
+
- id: ldap_ad
|
|
381
|
+
name: LDAP/AD
|
|
382
|
+
message_queue:
|
|
383
|
+
- id: none
|
|
384
|
+
name: No MQ
|
|
385
|
+
- id: kafka
|
|
386
|
+
name: Apache Kafka
|
|
387
|
+
- id: rabbitmq
|
|
388
|
+
name: RabbitMQ
|
|
389
|
+
- id: rocketmq
|
|
390
|
+
name: Apache RocketMQ
|
|
391
|
+
object_storage:
|
|
392
|
+
- id: none
|
|
393
|
+
name: Local storage
|
|
394
|
+
- id: s3
|
|
395
|
+
name: S3 compatible
|
|
396
|
+
- id: oss
|
|
397
|
+
name: Aliyun OSS
|
|
398
|
+
- id: cos
|
|
399
|
+
name: Tencent COS
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
- 若 `/prototype_ui_convention.md` 不存在:必须创建(不要覆盖已存在文件),写入以下默认模板(必须逐字复制;不得增删标题层级):
|
|
403
|
+
|
|
404
|
+
```md
|
|
405
|
+
# 原型 UI 规范
|
|
406
|
+
|
|
407
|
+
## 目标
|
|
408
|
+
- 统一视觉语言与交互口径,确保 Web 与 Mobile 演示一致、可评审、可复用
|
|
409
|
+
|
|
410
|
+
## 全局布局
|
|
411
|
+
- Web:左侧导航(可折叠)+ 顶部 Header + 内容区(三段式)
|
|
412
|
+
- Mobile:顶部栏 + 内容区 +(按需)底部吸底操作栏
|
|
413
|
+
|
|
414
|
+
## 色彩与层级
|
|
415
|
+
- 主色:保持 Ant Design 默认主色系
|
|
416
|
+
- 强调色/危险色:仅用于关键动作与风险提示,避免滥用
|
|
417
|
+
- 状态色(示例口径,可按模块裁剪但必须一致):待处理=蓝、成功=绿、失败/驳回=红、取消/终止=灰
|
|
418
|
+
|
|
419
|
+
## 字体与间距
|
|
420
|
+
- 标题/正文/辅助文字使用清晰层级,避免同屏字号过多
|
|
421
|
+
- Web 默认内容 padding 16~24,区块间距 16;Mobile 默认 padding 12~16,区块间距 12
|
|
422
|
+
|
|
423
|
+
## 组件规范
|
|
424
|
+
- 表单:一律用 Drawer 承载;必填用校验规则,不靠 placeholder
|
|
425
|
+
- 日期:一律用日期控件(DatePicker/RangePicker),禁止文本输入日期
|
|
426
|
+
- 金额:右对齐;千分位;两位小数
|
|
427
|
+
- 敏感信息:默认脱敏,按权限可触发展示全量
|
|
428
|
+
|
|
429
|
+
## 交互反馈
|
|
430
|
+
- 所有关键动作必须有成功/失败反馈;提交中禁重复提交并显示 loading
|
|
431
|
+
- 无权限:隐藏不可见项;不可操作项置灰并提示原因
|
|
432
|
+
|
|
433
|
+
## 本地化
|
|
434
|
+
- 日期/时间与状态/枚举显示必须中文化;禁止直接展示英文 code
|
|
435
|
+
|
|
436
|
+
## 补充约束(项目特定)
|
|
437
|
+
- 仅用于追加来自 `/docs/current/ui_spec.md` 或 `/docs/current/ui_style.md` 的更严格约束;不得改动上述模板结构与标题
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
1. 归档原始需求
|
|
441
|
+
- 将用户输入的原始需求原文保存到:`/specs/background/original.md`
|
|
442
|
+
- 如果 `/specs/background` 不存在,请先创建目录
|
|
443
|
+
- 在该文件中先写入“原始需求”小节,其标题必须按所选语言使用以下版本之一,然后在其下粘贴原文(不要改写):
|
|
444
|
+
- 语言=en:`# Raw Requirement`
|
|
445
|
+
- 语言=zh-CN:`# 原始需求`
|
|
446
|
+
- 语言=ja:`# 要件原文`
|
|
447
|
+
|
|
448
|
+
2. 提炼需求摘要
|
|
449
|
+
- 用 2 到 4 句话总结业务目标
|
|
450
|
+
- 说明这个需求要解决的核心问题
|
|
451
|
+
|
|
452
|
+
3. 补全业务背景
|
|
453
|
+
- 识别需求发起方、目标用户、使用场景
|
|
454
|
+
- 如果原始需求过于简单,基于合理假设补全背景,并明确标注为“假设”
|
|
455
|
+
|
|
456
|
+
4. 拆解核心功能
|
|
457
|
+
- 列出主要功能点
|
|
458
|
+
- 说明每个功能点的输入、处理、输出
|
|
459
|
+
|
|
460
|
+
5. 设计页面与交互
|
|
461
|
+
- 推导需要的页面或模块
|
|
462
|
+
- 描述页面布局重点、关键组件、用户操作路径
|
|
463
|
+
|
|
464
|
+
6. 提取数据模型
|
|
465
|
+
- 列出核心实体
|
|
466
|
+
- 为每个实体给出关键字段、字段含义、是否必填
|
|
467
|
+
|
|
468
|
+
7. 细化业务逻辑
|
|
469
|
+
- 说明关键流程
|
|
470
|
+
- 标记约束条件、状态变化、异常情况
|
|
471
|
+
|
|
472
|
+
8. 输出待确认问题
|
|
473
|
+
- 如果存在信息缺口,列出需要用户下一步补充的问题
|
|
474
|
+
- 问题要具体、可回答、按优先级排序
|
|
475
|
+
- 提问设计必须覆盖并按以下分组组织(避免随机发散),每组只问“缺口最大、最影响方案”的问题(分组标题按所选语言使用;不要复制中文分组名):
|
|
476
|
+
- Background / 背景 / 背景:业务目标、触发原因、成功口径、现状流程与痛点
|
|
477
|
+
- Company Profile / 企业类型 / 企業プロファイル:行业/组织形态、集团/多法人/多组织、地域/多语言、管控模式(集权/分权)
|
|
478
|
+
- Business Type / 业务类型 / 業務タイプ:业务链路类型(ToB/ToC/内部运营)、交易/项目/工单/审批类、线上/线下、跨部门协作方式
|
|
479
|
+
- Finance / 财务 / 財務:计费/预算/成本/收入口径、币种与税率、对账与结算周期、财务期间/关账、科目/核算维度
|
|
480
|
+
- People & Org / 人员 / 人員・組織:角色与编制、组织架构与汇报线、权限边界、参与人数与峰值并发、交接/代办/离职处理
|
|
481
|
+
- Systems & Data / 系统与数据 / システム・データ(如涉及):数据来源与主数据、历史数据迁移、对接系统、权限/审计/合规要求
|
|
482
|
+
- 输出格式要求(必须按所选语言):
|
|
483
|
+
- 在“Open Questions/待确认问题/要確認事項”段落下,必须按上述分组使用二级标题(`##`)组织,每组 2 到 6 个问题;若某组无信息缺口则可省略该组
|
|
484
|
+
- 二级标题必须严格按所选语言使用以下版本之一(禁止自造/混用):
|
|
485
|
+
- 语言=en:
|
|
486
|
+
- `## Background`
|
|
487
|
+
- `## Company Profile`
|
|
488
|
+
- `## Business Type`
|
|
489
|
+
- `## Finance`
|
|
490
|
+
- `## People & Org`
|
|
491
|
+
- `## Systems & Data`
|
|
492
|
+
- 语言=zh-CN:
|
|
493
|
+
- `## 背景`
|
|
494
|
+
- `## 企业类型`
|
|
495
|
+
- `## 业务类型`
|
|
496
|
+
- `## 财务`
|
|
497
|
+
- `## 人员`
|
|
498
|
+
- `## 系统与数据`
|
|
499
|
+
- 语言=ja:
|
|
500
|
+
- `## 背景`
|
|
501
|
+
- `## 企業プロファイル`
|
|
502
|
+
- `## 業務タイプ`
|
|
503
|
+
- `## 財務`
|
|
504
|
+
- `## 人員・組織`
|
|
505
|
+
- `## システム・データ`
|
|
506
|
+
|
|
507
|
+
请使用以下输出结构(章节标题必须严格按所选语言使用对应版本;禁止混用):
|
|
508
|
+
|
|
509
|
+
- 语言=en:
|
|
510
|
+
- `# Raw Requirement` (write into `/specs/background/original.md`)
|
|
511
|
+
- `# Summary`
|
|
512
|
+
- `# Business Context`
|
|
513
|
+
- `# Core Features`
|
|
514
|
+
- `# Pages & Interactions`
|
|
515
|
+
- `# Data Model`
|
|
516
|
+
- `# Business Logic`
|
|
517
|
+
- `# Risks & Assumptions`
|
|
518
|
+
- `# Open Questions`
|
|
519
|
+
|
|
520
|
+
- 语言=zh-CN:
|
|
521
|
+
- `# 原始需求`(写入 /specs/background/original.md)
|
|
522
|
+
- `# 需求摘要`
|
|
523
|
+
- `# 业务背景`
|
|
524
|
+
- `# 核心功能`
|
|
525
|
+
- `# 页面与交互`
|
|
526
|
+
- `# 数据模型`
|
|
527
|
+
- `# 业务逻辑`
|
|
528
|
+
- `# 风险与假设`
|
|
529
|
+
- `# 待确认问题`
|
|
530
|
+
|
|
531
|
+
- 语言=ja:
|
|
532
|
+
- `# 要件原文`(write into `/specs/background/original.md`)
|
|
533
|
+
- `# 要約`
|
|
534
|
+
- `# 業務背景`
|
|
535
|
+
- `# コア機能`
|
|
536
|
+
- `# 画面と操作`
|
|
537
|
+
- `# データモデル`
|
|
538
|
+
- `# 業務ロジック`
|
|
539
|
+
- `# リスクと仮定`
|
|
540
|
+
- `# 要確認事項`
|
|
541
|
+
|
|
542
|
+
写入要求:
|
|
543
|
+
- 将本次完整输出(包含“原始需求、分析内容、待确认问题”)追加写入到:`/specs/background/original.md`
|
|
544
|
+
- 文件中必须保留原始需求原文与本次分析结果,便于后续 stakeholders/roles 阶段引用
|
|
545
|
+
- 交互提示(必须在对话中输出;不要写入 `/specs/background/original.md`):
|
|
546
|
+
- 告知用户:回答“待确认问题”可以自己逐条回答,也可以委托 AI 基于当前信息先给出一版“建议答案”,用户再逐条确认/修改
|
|
547
|
+
- 给出可复制的建议话术(按所选语言输出对应版本):
|
|
548
|
+
- 语言=en:`Please propose suggested answers for the Open Questions based on current information. I will confirm or edit each answer.`
|
|
549
|
+
- 语言=zh-CN:`请你先基于目前信息为“待确认问题”逐条给出建议答案,我再逐条确认/修改。`
|
|
550
|
+
- 语言=ja:`要確認事項について、現時点の情報に基づく「回答案」を先に提示してください。こちらで各回答を確認・修正します。`
|
|
551
|
+
- 标题语言必须与 `selected.language` 一致(`#`/`##`/`###` 等均包含在内),不得混用:
|
|
552
|
+
- 语言=en:不得出现中文/日文标题(例如 `# 待确认问题`、`# 业务背景`、`# リスクと仮定` 等)
|
|
553
|
+
- 语言=zh-CN:不得出现英文/日文标题(例如 `# Open Questions`、`# Business Context`、`# 要確認事項` 等)
|
|
554
|
+
- 语言=ja:不得出现中文/英文标题(例如 `# 待确认问题`、`# Business Context`、`# 风险与假设` 等)
|
|
555
|
+
- 除上述结构中声明的标题之外,禁止新增其他标题层级;需要补充内容请用列表/表格而不是新增标题。
|
|
556
|
+
- 在写入文件前必须执行“标题归一化”(必须,写入前自检并修正):
|
|
557
|
+
1. 一级标题(`# ...`)必须严格归一化为所选语言的以下精确文本(按顺序、不得缺失、不得新增):
|
|
558
|
+
- 语言=en:
|
|
559
|
+
1) `# Raw Requirement`
|
|
560
|
+
2) `# Summary`
|
|
561
|
+
3) `# Business Context`
|
|
562
|
+
4) `# Core Features`
|
|
563
|
+
5) `# Pages & Interactions`
|
|
564
|
+
6) `# Data Model`
|
|
565
|
+
7) `# Business Logic`
|
|
566
|
+
8) `# Risks & Assumptions`
|
|
567
|
+
9) `# Open Questions`
|
|
568
|
+
- 语言=zh-CN:
|
|
569
|
+
1) `# 原始需求`
|
|
570
|
+
2) `# 需求摘要`
|
|
571
|
+
3) `# 业务背景`
|
|
572
|
+
4) `# 核心功能`
|
|
573
|
+
5) `# 页面与交互`
|
|
574
|
+
6) `# 数据模型`
|
|
575
|
+
7) `# 业务逻辑`
|
|
576
|
+
8) `# 风险与假设`
|
|
577
|
+
9) `# 待确认问题`
|
|
578
|
+
- 语言=ja:
|
|
579
|
+
1) `# 要件原文`
|
|
580
|
+
2) `# 要約`
|
|
581
|
+
3) `# 業務背景`
|
|
582
|
+
4) `# コア機能`
|
|
583
|
+
5) `# 画面と操作`
|
|
584
|
+
6) `# データモデル`
|
|
585
|
+
7) `# 業務ロジック`
|
|
586
|
+
8) `# リスクと仮定`
|
|
587
|
+
9) `# 要確認事項`
|
|
588
|
+
2. 若检测到任何“一级标题”不在上述列表中(例如 `# 业务背景` 出现在语言=en,或 `# Business Context` 出现在语言=zh-CN),必须按对应语言映射替换后再写入。
|
|
589
|
+
3. “Open Questions/待确认问题/要確認事項”段落下的二级标题(`## ...`)也必须严格按语言映射(例如语言=en 必须使用 `## Background` 等);若出现中文/日文/英文混用,必须替换为对应语言版本后再写入。
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
你是一名资深系统分析师。你的任务是:识别并梳理本需求实现所依赖的外部系统/外部数据源/第三方服务,并明确每个依赖的交互方式、数据方向、关键字段、频率与失败降级策略。
|
|
2
|
+
|
|
3
|
+
语言与本地化(必须):
|
|
4
|
+
- 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
|
|
5
|
+
- 输出的文档内容必须统一使用该语言(标题、表头、说明文案等);禁止混用其他语言
|
|
6
|
+
|
|
7
|
+
输入信息包含:
|
|
8
|
+
- 原始需求与 background 分析(/specs/background/original.md 或等价内容)
|
|
9
|
+
- 干系人与角色任务(/specs/background/stakeholder.md、/specs/background/roles.md 或等价内容)
|
|
10
|
+
- 术语表(/specs/background/terms.md 或等价内容)
|
|
11
|
+
- 流程泳道图(/specs/flows/*.puml 或等价内容)
|
|
12
|
+
- 场景与细节分析(/specs/background/scenarios.md、/specs/background/scenario_details/ 或 /specs/background/scenario_details.md(旧版))
|
|
13
|
+
- 外部依赖系统文档库(如存在,优先读取):
|
|
14
|
+
- `/docs/dependencies/`(推荐)
|
|
15
|
+
- `/docs/dependecies/`(兼容拼写错误目录;如存在则一并读取)
|
|
16
|
+
|
|
17
|
+
识别范围(逐项检查是否需要):
|
|
18
|
+
- 主数据/基础数据来源系统(组织、人员、资源、客户、供应商、合同、科目等)
|
|
19
|
+
- 流程协同系统(审批、工单、消息通知、IM/邮件、日程等)
|
|
20
|
+
- 财务/结算/对账相关系统
|
|
21
|
+
- 权限/SSO/统一身份认证
|
|
22
|
+
- 文件与数据导入导出(Excel、对象存储、文档中心)
|
|
23
|
+
- 数据分析/BI/归档/审计留存
|
|
24
|
+
- 第三方接口(支付、短信、地图、OCR 等)
|
|
25
|
+
|
|
26
|
+
分析要求:
|
|
27
|
+
0. 先建立“外部系统清单基线”(必须):
|
|
28
|
+
- 若存在外部依赖系统文档库:先读取并汇总“已有系统清单 + 每个系统负责什么 + 已知接口形态(API/Webhook/MQ/文件等)”
|
|
29
|
+
- 依赖分析中,除非需求明确需要一个库中不存在的系统,否则不要自造系统名称;若必须新增,标注为“假设(新增系统)”
|
|
30
|
+
1. 只列“本需求范围内确实会发生交互”的外部依赖
|
|
31
|
+
2. 若信息不足,可提出合理候选依赖,但必须标注为“假设”
|
|
32
|
+
3. 对每个依赖明确:
|
|
33
|
+
- 依赖系统名称(中文)与英文名(如有)
|
|
34
|
+
- 依赖类型(数据源/数据去向/双向/人工导入/消息通道等)
|
|
35
|
+
- 交互方式(API/Webhook/消息队列/DB/文件/手工等)
|
|
36
|
+
- 调用方向(本系统→外部 / 外部→本系统)
|
|
37
|
+
- 触发场景(对应场景编号或节点,例如 apply/approve/execute-start 等)
|
|
38
|
+
- 关键数据(至少列 3 个关键字段/数据项)
|
|
39
|
+
- 频率/时效(实时/准实时/日批/手工触发等)
|
|
40
|
+
- 失败处理(必须写清“集成失败时怎么做”,禁止只写“重试/告警”等关键词):
|
|
41
|
+
- 超时/网络失败:超时阈值、重试次数与退避、熔断(如适用)
|
|
42
|
+
- 幂等与重复调用:幂等键、去重窗口、重放入口
|
|
43
|
+
- 数据一致性:是否允许最终一致、补偿/对账方式、失败后的数据状态
|
|
44
|
+
- 用户可见行为:前端提示文案口径、是否允许继续/回滚/进入“处理中”
|
|
45
|
+
- 失败升级:告警对象与方式、人工介入入口、SLA 违约处理(如适用)
|
|
46
|
+
- 安全与合规(鉴权方式、权限边界、敏感数据、留存要求)
|
|
47
|
+
|
|
48
|
+
输出与写入要求:
|
|
49
|
+
1. 将结果写入:`/specs/background/dependencies.md`
|
|
50
|
+
2. 如果 `/specs/background` 不存在,请先创建目录
|
|
51
|
+
3. 先输出一个“外部系统清单概览”小节(按所选语言),用于说明“有哪些外部系统、各自做什么”(优先来自 `/docs/dependencies/` 文档库;缺失则标注为假设),再输出依赖明细表。
|
|
52
|
+
4. 依赖明细输出为 markdown 表格,表头必须严格按所选语言使用以下版本之一:
|
|
53
|
+
- 语言=en:
|
|
54
|
+
- `| Dependency | Type | Interface | Direction | Trigger/Scenario | Key Data | Frequency/SLA | Failure Handling | Security/Compliance | Notes/Assumptions |`
|
|
55
|
+
- `| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |`
|
|
56
|
+
- 语言=zh-CN:
|
|
57
|
+
- `| 依赖系统 | 类型 | 交互方式 | 方向 | 触发点/场景 | 关键数据 | 频率/时效 | 失败处理 | 安全与合规 | 备注/假设 |`
|
|
58
|
+
- `| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |`
|
|
59
|
+
- 语言=ja:
|
|
60
|
+
- `| 依存先 | 種別 | 連携方式 | 方向 | トリガー/シナリオ | 主要データ | 頻度/SLA | 障害対応 | セキュリティ/コンプライアンス | 備考/仮定 |`
|
|
61
|
+
- `| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |`
|
|
62
|
+
|
|
63
|
+
5. 最后附上“待确认外部依赖问题”小节(根据语言输出对应标题),列出仍需向用户确认的问题(如有)
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
你是一名资深业务分析师。你的任务是:基于已有节点 Pre/Post 细节(来自 `/specs/background/scenario_details/*/pre_post.md`),逐节点补齐并细化“边界思维(Boundaries)”,并按节点分别输出 markdown 文件。
|
|
2
2
|
|
|
3
|
+
语言与本地化(必须):
|
|
4
|
+
- 读取 `/scheme.yaml` 的 `selected.language`(支持 `en`、`zh-CN`、`ja`;若缺失/非法则按 `en` 处理)
|
|
5
|
+
- 每个节点文件中的所有可见文案必须与所选语言一致(一级标题、二级标题、列表项文字、区间与触发条件描述等);禁止混用其他语言
|
|
6
|
+
|
|
3
7
|
输入信息包含:
|
|
4
8
|
- 节点 Pre/Post 细节(`/specs/background/scenario_details/*/pre_post.md`)
|
|
5
9
|
- 场景列表(`/specs/background/scenarios.md`,用于校验节点覆盖与节点链条口径)
|
|
@@ -33,10 +37,16 @@
|
|
|
33
37
|
1. 对每个节点目录写入:`/specs/background/scenario_details/<dir_key>/boundaries.md`
|
|
34
38
|
2. 文件结构固定如下(必须):
|
|
35
39
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
-
|
|
40
|
+
- 标题与小节必须按所选语言使用以下版本之一:
|
|
41
|
+
- 语言=en:
|
|
42
|
+
- `# Node: <Node Name>`
|
|
43
|
+
- `## Boundaries`
|
|
44
|
+
- `## Open Questions (if any)`
|
|
45
|
+
- 语言=zh-CN:
|
|
46
|
+
- `# 节点:<节点名>`
|
|
47
|
+
- `## 边界思维(Boundaries)`
|
|
48
|
+
- `## 需要确认的问题(如有)`
|
|
49
|
+
- 语言=ja:
|
|
50
|
+
- `# ノード:<ノード名>`
|
|
51
|
+
- `## 境界(Boundaries)`
|
|
52
|
+
- `## 要確認事項(あれば)`
|