create-project-init 1.0.0__tar.gz

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.
@@ -0,0 +1,39 @@
1
+ Metadata-Version: 2.4
2
+ Name: create-project-init
3
+ Version: 1.0.0
4
+ Summary: 一键安装 project-init skill — 互动式项目架构生成器,通过对话引导从零生成完整 PRD
5
+ License-Expression: MIT
6
+ Keywords: claude,skill,prd,project-init,claude-code
7
+ Requires-Python: >=3.7
8
+ Description-Content-Type: text/markdown
9
+
10
+ # create-project-init
11
+
12
+ 一键安装 `project-init` skill 到任意 Claude Code 项目。
13
+
14
+ 通过 23 个阶段的互动式对话引导,从零生成完整的产品需求文档(PRD),涵盖市场调研、需求分析、技术选型、页面设计、支付系统、AI 功能集成、测试方案、埋点监控、部署运维、推广获客、法律合规等。
15
+
16
+ ## 安装
17
+
18
+ ```bash
19
+ npx create-project-init # 安装到当前目录
20
+ npx create-project-init ./my-app # 安装到指定目录
21
+ ```
22
+
23
+ ## 安装后会做什么
24
+
25
+ - 复制 `.claude/skills/project-init.md` 到目标项目
26
+ - 创建或追加 `CLAUDE.md` 中的 skill 描述
27
+ - 创建或更新 `.claude/settings.local.json` 添加权限
28
+
29
+ 重复执行会自动跳过已有内容,安全幂等。
30
+
31
+ ## 使用
32
+
33
+ 安装完成后,在目标项目中启动 Claude Code,输入:
34
+
35
+ ```
36
+ /project-init
37
+ ```
38
+
39
+ 即可开始互动式 PRD 生成流程。
@@ -0,0 +1,30 @@
1
+ # create-project-init
2
+
3
+ 一键安装 `project-init` skill 到任意 Claude Code 项目。
4
+
5
+ 通过 23 个阶段的互动式对话引导,从零生成完整的产品需求文档(PRD),涵盖市场调研、需求分析、技术选型、页面设计、支付系统、AI 功能集成、测试方案、埋点监控、部署运维、推广获客、法律合规等。
6
+
7
+ ## 安装
8
+
9
+ ```bash
10
+ npx create-project-init # 安装到当前目录
11
+ npx create-project-init ./my-app # 安装到指定目录
12
+ ```
13
+
14
+ ## 安装后会做什么
15
+
16
+ - 复制 `.claude/skills/project-init.md` 到目标项目
17
+ - 创建或追加 `CLAUDE.md` 中的 skill 描述
18
+ - 创建或更新 `.claude/settings.local.json` 添加权限
19
+
20
+ 重复执行会自动跳过已有内容,安全幂等。
21
+
22
+ ## 使用
23
+
24
+ 安装完成后,在目标项目中启动 Claude Code,输入:
25
+
26
+ ```
27
+ /project-init
28
+ ```
29
+
30
+ 即可开始互动式 PRD 生成流程。
@@ -0,0 +1,86 @@
1
+ """create-project-init CLI — 安装 project-init skill 到任意 Claude Code 项目"""
2
+
3
+ import json
4
+ import os
5
+ import shutil
6
+ import sys
7
+
8
+ SKILL_DESC = (
9
+ "- `/project-init` — 互动式项目架构生成器,通过 23 个阶段的对话引导,"
10
+ "从零生成完整的产品需求文档(PRD),涵盖市场调研、需求分析、技术选型、"
11
+ "页面设计、支付系统、AI 功能集成、测试方案、埋点监控、部署运维、推广获客、"
12
+ "法律合规等。输出至 `docs/PRD.md`。"
13
+ )
14
+
15
+ DATA_DIR = os.path.join(os.path.dirname(__file__), "data")
16
+
17
+ # Windows GBK 终端不支持 emoji,自动降级
18
+ try:
19
+ "📦🎉⏭✅⚠️".encode(sys.stdout.encoding or "utf-8")
20
+ _E = {"pkg": "📦 ", "done": "🎉 ", "skip": "⏭ ", "ok": "✅ ", "warn": "⚠️ "}
21
+ except (UnicodeEncodeError, LookupError):
22
+ _E = {"pkg": "[*] ", "done": "[*] ", "skip": "[-] ", "ok": "[+] ", "warn": "[!] "}
23
+
24
+
25
+ def green(s):
26
+ return "\033[32m" + s + "\033[0m"
27
+
28
+ def yellow(s):
29
+ return "\033[33m" + s + "\033[0m"
30
+
31
+
32
+ def main():
33
+ target_dir = os.path.abspath(sys.argv[1] if len(sys.argv) > 1 else ".")
34
+ skill_src = os.path.join(DATA_DIR, ".claude", "skills", "project-init.md")
35
+
36
+ print(green(_E["pkg"] + "安装 project-init skill 到: " + target_dir))
37
+
38
+ # 1. 复制 skill 文件
39
+ skill_dest = os.path.join(target_dir, ".claude", "skills", "project-init.md")
40
+ os.makedirs(os.path.dirname(skill_dest), exist_ok=True)
41
+ shutil.copy2(skill_src, skill_dest)
42
+ print(" " + _E["ok"] + ".claude/skills/project-init.md")
43
+
44
+ # 2. 创建或追加 CLAUDE.md
45
+ claude_md = os.path.join(target_dir, "CLAUDE.md")
46
+ if os.path.exists(claude_md):
47
+ content = open(claude_md, "r", encoding="utf-8").read()
48
+ if "project-init" in content:
49
+ print(yellow(" " + _E["skip"] + "CLAUDE.md 已包含 project-init 描述,跳过"))
50
+ else:
51
+ with open(claude_md, "a", encoding="utf-8") as f:
52
+ f.write("\n## 可用 Skills\n\n" + SKILL_DESC + "\n")
53
+ print(" " + _E["ok"] + "CLAUDE.md 已追加 skill 描述")
54
+ else:
55
+ with open(claude_md, "w", encoding="utf-8") as f:
56
+ f.write("# CLAUDE.md\n\n## 可用 Skills\n\n" + SKILL_DESC + "\n")
57
+ print(" " + _E["ok"] + "CLAUDE.md 已创建")
58
+
59
+ # 3. 更新 settings.local.json
60
+ settings_file = os.path.join(target_dir, ".claude", "settings.local.json")
61
+ permission = "Skill(project-init)"
62
+
63
+ if os.path.exists(settings_file):
64
+ raw = open(settings_file, "r", encoding="utf-8").read()
65
+ if "project-init" in raw:
66
+ print(yellow(" " + _E["skip"] + "settings.local.json 已包含权限,跳过"))
67
+ else:
68
+ data = json.loads(raw)
69
+ data.setdefault("permissions", {}).setdefault("allow", []).append(permission)
70
+ with open(settings_file, "w", encoding="utf-8") as f:
71
+ json.dump(data, f, indent=2, ensure_ascii=False)
72
+ f.write("\n")
73
+ print(" " + _E["ok"] + "settings.local.json 已添加 " + permission + " 权限")
74
+ else:
75
+ os.makedirs(os.path.dirname(settings_file), exist_ok=True)
76
+ data = {"permissions": {"allow": [permission]}}
77
+ with open(settings_file, "w", encoding="utf-8") as f:
78
+ json.dump(data, f, indent=2, ensure_ascii=False)
79
+ f.write("\n")
80
+ print(" " + _E["ok"] + "settings.local.json 已创建")
81
+
82
+ print(green("\n" + _E["done"] + "安装完成!在目标项目中使用 /project-init 即可启动。"))
83
+
84
+
85
+ if __name__ == "__main__":
86
+ main()
@@ -0,0 +1,784 @@
1
+ # Project Init Skill
2
+
3
+ 通过互动式对话,从零开始生成一个完整的项目需求文档和初始架构设计。整个过程分为多个阶段,每个阶段都会与用户充分沟通确认后再进入下一阶段。
4
+
5
+ ## 前置准备
6
+
7
+ 1. 检查当前目录下是否存在参考文档(如 `docs/`、`reference/`、`README.md` 或用户指定的文件)
8
+ 2. 如果有参考文档,先阅读并理解其内容作为后续分析的基础
9
+ 3. 如果没有参考文档,直接进入互动阶段
10
+ 4. 创建临时工作目录 `docs/.draft/`,用于保存各阶段中间产物
11
+ 5. 检查 `docs/.draft/` 下是否有之前的中间产物,如果有则询问用户是否继续上次未完成的流程
12
+
13
+ ## 阶段选择
14
+
15
+ 在正式开始前,向用户展示全部 23 个阶段的清单,让用户选择需要执行的阶段:
16
+
17
+ - 默认全选
18
+ - 用户可以取消不需要的阶段(如纯前端项目可跳过"数据接口设计"、"支付系统设计"、"AI 功能集成")
19
+ - 用户也可以选择"快速模式",只执行核心阶段(阶段一、四、五、六、七、十四、十六)
20
+ - 确认后按选定的阶段顺序执行
21
+
22
+ ## 进度提示
23
+
24
+ 每个阶段开始时,显示当前进度,格式如:
25
+
26
+ ```
27
+ 📍 阶段三:目标用户分析(3/23)
28
+ ━━━━━━━━━━━━━━━━━━━━ 13% 完成
29
+ ```
30
+
31
+ 每个阶段结束时显示:
32
+
33
+ ```
34
+ ✅ 阶段三完成 → 结论已保存至 docs/.draft/03-目标用户.md
35
+ 📍 下一阶段:阶段四 - 核心功能与需求分析
36
+ ```
37
+
38
+ ## 阶段一:项目愿景收集
39
+
40
+ 通过提问收集项目的基本信息,每次最多问 3 个问题,等用户回答后再继续:
41
+
42
+ - 项目名称和一句话描述
43
+ - 项目的核心动机(为什么要做这个项目?解决什么痛点?)
44
+ - 项目类型(Web 应用 / 移动端 / 桌面端 / CLI 工具 / 库/SDK / 其他)
45
+ - 是否有参考产品或竞品(提供链接或名称)
46
+
47
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/01-项目愿景.md`
48
+
49
+ ## 阶段二:市场调研与竞品分析
50
+
51
+ 基于用户提供的信息,使用 WebSearch 进行市场调研:
52
+
53
+ 1. 搜索同类产品的市场现状、用户规模、主要功能
54
+ 2. 分析 2-3 个主要竞品的优劣势
55
+ 3. 识别市场空白和差异化机会
56
+ 4. 将调研结果整理后展示给用户,询问用户的看法和补充
57
+ 5. 与用户确认项目的差异化定位
58
+
59
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/02-市场调研.md`
60
+
61
+ ## 阶段三:目标用户分析
62
+
63
+ 与用户讨论并确定:
64
+
65
+ - 主要目标用户画像(年龄、职业、技术水平、使用场景)
66
+ - 次要目标用户群体
67
+ - 用户核心需求和痛点排序
68
+ - 用户使用场景和典型用户旅程
69
+
70
+ 每确定一项都与用户确认,确保理解一致。
71
+
72
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/03-目标用户.md`
73
+
74
+ ## 阶段四:核心功能与需求分析
75
+
76
+ 基于前面的调研和用户输入,与用户共同梳理:
77
+
78
+ 1. 核心功能列表(MVP 范围),按优先级 P0/P1/P2 分级
79
+ 2. 每个功能的简要描述和用户故事
80
+ 3. 功能之间的依赖关系
81
+ 4. 明确哪些功能属于 MVP,哪些属于后续迭代
82
+ 5. 与用户逐一确认功能列表
83
+
84
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/04-功能需求.md`
85
+
86
+ ## 阶段五:技术栈选型
87
+
88
+ 根据项目类型和需求,向用户推荐技术栈并讨论:
89
+
90
+ - 前端框架(React / Vue / Next.js / Nuxt / Svelte 等)
91
+ - UI 组件库(Ant Design / Element Plus / Shadcn / Tailwind 等)
92
+ - 后端框架(Node.js / Python / Go / Java 等,如需要)
93
+ - 数据库选型(MySQL / PostgreSQL / MongoDB / SQLite 等,如需要)
94
+ - 状态管理方案
95
+ - 构建工具和包管理器
96
+ - 部署方案
97
+ - 其他关键依赖
98
+
99
+ 给出推荐理由,让用户做最终决定。
100
+
101
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/05-技术栈.md`
102
+
103
+ ## 阶段六:整体功能架构设计
104
+
105
+ 设计并与用户确认:
106
+
107
+ 1. 系统整体架构图(用文字描述模块关系)
108
+ 2. 前端架构分层(页面层 / 组件层 / 服务层 / 工具层)
109
+ 3. 后端架构分层(如适用:路由层 / 控制层 / 服务层 / 数据层)
110
+ 4. 核心模块划分和职责说明
111
+ 5. 模块间的通信和数据流
112
+
113
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/06-功能架构.md`
114
+
115
+ ## 阶段七:页面设计与布局
116
+
117
+ 逐页与用户讨论:
118
+
119
+ 1. 页面清单和导航结构(站点地图)
120
+ 2. 整体布局框架(Header / Sidebar / Content / Footer)
121
+ 3. 每个页面的:
122
+ - 页面用途和入口
123
+ - 页面布局草图(用 ASCII art 或文字描述)
124
+ - 包含的功能组件
125
+ - 页面间的跳转关系
126
+ - 关键交互行为
127
+ 4. 与用户逐页确认设计
128
+
129
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/07-页面设计.md`
130
+
131
+ ## 阶段八:UI/UX 设计规范
132
+
133
+ 与用户确定设计规范:
134
+
135
+ 1. 设计风格(简约 / 拟物 / 玻璃态 / Material / 其他)
136
+ 2. 色彩体系(主色、辅色、中性色、语义色)
137
+ 3. 字体规范(字体族、字号层级、行高)
138
+ 4. 间距系统(基础间距单位、常用间距值)
139
+ 5. 圆角和阴影规范
140
+ 6. 图标风格(线性 / 填充 / 双色)
141
+ 7. 动效规范(过渡时长、缓动函数、常用动画)
142
+ 8. 暗色模式支持(如需要)
143
+
144
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/08-UI设计规范.md`
145
+
146
+ ## 阶段九:通用组件设计
147
+
148
+ 梳理项目需要的通用组件:
149
+
150
+ 1. 基础组件(Button / Input / Modal / Toast / Table 等)
151
+ 2. 业务组件(根据项目需求定制)
152
+ 3. 布局组件(Container / Grid / Flex 等)
153
+ 4. 每个组件的 Props 接口设计
154
+ 5. 组件的变体和状态
155
+
156
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/09-通用组件.md`
157
+
158
+ ## 阶段十:响应式与交互设计
159
+
160
+ 1. 断点定义(移动端 / 平板 / 桌面 / 大屏)
161
+ 2. 各断点下的布局适配策略
162
+ 3. 触摸端特殊交互处理
163
+ 4. 关键交互流程设计:
164
+ - 表单提交流程
165
+ - 加载状态处理
166
+ - 错误状态处理
167
+ - 空状态设计
168
+ - 骨架屏设计
169
+
170
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/10-响应式与交互.md`
171
+
172
+ ## 阶段十一:数据接口设计
173
+
174
+ 设计前后端数据接口(如适用):
175
+
176
+ 1. API 风格(RESTful / GraphQL / tRPC)
177
+ 2. 接口分模块列出:
178
+ - 接口路径和方法
179
+ - 请求参数和类型
180
+ - 响应数据结构
181
+ - 错误码定义
182
+ 3. 认证和鉴权方案
183
+ 4. 数据模型 / 数据库表结构设计
184
+ 5. 前端数据状态管理方案
185
+ 6. 接口 Mock 方案
186
+
187
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/11-数据接口.md`
188
+
189
+ ## 阶段十二:支付系统设计
190
+
191
+ 与用户讨论项目的商业化和支付需求,确定支付方案:
192
+
193
+ ### 12.1 商业模式确认
194
+
195
+ - 付费模式(一次性买断 / 订阅制 / 按量计费 / 免费增值 Freemium)
196
+ - 定价策略和套餐设计
197
+ - 是否需要试用期 / 免费额度
198
+ - 目标市场(国内 / 海外 / 全球)
199
+
200
+ ### 12.2 支付渠道选型
201
+
202
+ 根据目标市场,与用户讨论需要接入的支付渠道:
203
+
204
+ **国内支付:**
205
+ - 支付宝(Alipay)— 扫码支付 / H5 支付 / APP 支付 / 小程序支付
206
+ - 微信支付(WeChat Pay)— JSAPI / Native / H5 / 小程序支付
207
+ - 聚合支付平台(如虎皮椒等轻量方案,适合个人开发者)
208
+
209
+ **海外支付:**
210
+ - Stripe — 信用卡 / Apple Pay / Google Pay / 订阅管理
211
+ - Creem — 面向 SaaS 的支付方案,内置订阅和 License 管理
212
+ - PayPal — 海外用户覆盖广
213
+ - Paddle / Lemon Squeezy — MoR 模式,自动处理税务
214
+
215
+ **卡密 / 兑换码系统:**
216
+ - 卡密生成规则(长度、字符集、前缀、有效期)
217
+ - 卡密类型(时长卡 / 次数卡 / 额度卡 / 永久卡)
218
+ - 卡密发放渠道(自有平台 / 发卡平台如独角数卡)
219
+ - 卡密核销和防重放机制
220
+
221
+ ### 12.3 支付架构设计
222
+
223
+ 1. 统一支付抽象层设计(PaymentProvider 接口):
224
+ - 统一的下单 / 查询 / 退款 / 回调接口
225
+ - 各支付渠道的适配器实现
226
+ - 支付渠道可插拔,便于后续扩展新渠道
227
+ 2. 订单系统设计:
228
+ - 订单状态机(待支付 → 支付中 → 已支付 → 已退款 / 已取消)
229
+ - 订单号生成策略
230
+ - 订单超时自动关闭
231
+ 3. 回调通知处理:
232
+ - 异步回调验签机制
233
+ - 幂等性保证(防止重复通知)
234
+ - 回调重试和补偿机制
235
+ 4. 对账机制:
236
+ - 定时对账任务
237
+ - 差异处理流程
238
+
239
+ ### 12.4 支付安全
240
+
241
+ 1. 通信安全(HTTPS、签名验证、证书管理)
242
+ 2. 防刷和风控(频率限制、金额校验、IP 风控)
243
+ 3. 敏感数据处理(密钥存储、支付信息脱敏)
244
+ 4. 卡密安全(加密存储、防暴力破解、使用日志审计)
245
+ 5. PCI DSS 合规考量(如直接处理信用卡信息)
246
+
247
+ ### 12.5 订阅与会员管理(如适用)
248
+
249
+ 1. 订阅生命周期管理(创建 / 续费 / 升降级 / 取消 / 过期)
250
+ 2. 会员等级和权益体系
251
+ 3. 到期提醒和自动续费
252
+ 4. 优惠券 / 促销码系统
253
+
254
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/12-支付系统.md`
255
+
256
+ ## 阶段十三:AI 功能集成(如适用)
257
+
258
+ 与用户讨论项目中的 AI/LLM 能力接入方案:
259
+
260
+ ### 13.1 AI 能力需求梳理
261
+
262
+ - 需要哪些 AI 能力(对话 / 文本生成 / 图像生成 / 语音识别 / 翻译 / 代码生成 / 知识问答等)
263
+ - 每个 AI 能力的使用场景和触发方式
264
+ - 对响应速度和质量的要求
265
+
266
+ ### 13.2 LLM 选型
267
+
268
+ - 模型提供商选择(OpenAI / Anthropic Claude / Google Gemini / 国内模型如通义千问、文心一言、DeepSeek 等)
269
+ - 模型版本选择(按能力、速度、成本权衡)
270
+ - 是否需要多模型支持和动态切换
271
+ - 开源模型自部署 vs API 调用
272
+
273
+ ### 13.3 接入架构设计
274
+
275
+ 1. 统一 AI 服务抽象层(AIProvider 接口):
276
+ - 统一的请求 / 响应 / 流式输出接口
277
+ - 各模型提供商的适配器实现
278
+ - 模型可插拔,便于切换和扩展
279
+ 2. Prompt 管理:
280
+ - Prompt 模板化和版本管理
281
+ - System Prompt / User Prompt 分离
282
+ - Prompt 变量注入机制
283
+ - Few-shot 示例管理
284
+ 3. 上下文管理:
285
+ - 对话历史存储和截断策略
286
+ - Token 计数和上下文窗口管理
287
+ - RAG(检索增强生成)方案(如需要知识库)
288
+
289
+ ### 13.4 成本控制
290
+
291
+ 1. Token 用量监控和预算告警
292
+ 2. 请求频率限制(按用户 / 按套餐)
293
+ 3. 缓存策略(相同请求结果缓存)
294
+ 4. 模型降级策略(高峰期自动切换低成本模型)
295
+ 5. 用户配额管理(免费额度 / 付费额度)
296
+
297
+ ### 13.5 流式输出与体验优化
298
+
299
+ 1. SSE / WebSocket 流式传输方案
300
+ 2. 打字机效果实现
301
+ 3. 中断和重试机制
302
+ 4. 加载状态和占位设计
303
+ 5. 错误处理和用户提示
304
+
305
+ ### 13.6 安全与合规
306
+
307
+ 1. 内容审核(输入过滤 / 输出过滤)
308
+ 2. 用户隐私保护(敏感信息脱敏后再发送给 LLM)
309
+ 3. API Key 安全管理(服务端代理,不暴露给前端)
310
+ 4. 日志审计(记录 AI 交互日志用于问题排查)
311
+
312
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/13-AI功能集成.md`
313
+
314
+ ## 阶段十四:项目目录结构
315
+
316
+ 根据技术栈和架构设计,生成项目目录结构:
317
+
318
+ 1. 顶层目录划分
319
+ 2. 源码目录详细结构(pages / components / services / utils / hooks / stores / types / assets / styles 等)
320
+ 3. 配置文件清单
321
+ 4. 测试目录结构
322
+ 5. 文档目录结构
323
+ 6. 与用户确认目录结构
324
+
325
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/14-目录结构.md`
326
+
327
+ ## 阶段十五:代码规范与工程化
328
+
329
+ 与用户讨论并确定项目的工程化标准和开发规范:
330
+
331
+ ### 15.1 编码风格规范
332
+
333
+ - 代码格式化工具选型(Prettier / Biome / dprint)
334
+ - 代码检查工具选型(ESLint / Biome / StyleLint)
335
+ - 规则集选择(Airbnb / Standard / 自定义)
336
+ - 编辑器配置统一(.editorconfig / VS Code settings)
337
+ - 自动格式化时机(保存时 / 提交时 / CI 中)
338
+
339
+ ### 15.2 命名规范
340
+
341
+ - 文件命名规范(kebab-case / camelCase / PascalCase,按文件类型区分)
342
+ - 组件命名规范
343
+ - 变量和函数命名规范
344
+ - CSS 类名命名规范(BEM / CSS Modules / Tailwind)
345
+ - 常量和枚举命名规范
346
+ - API 路由命名规范
347
+
348
+ ### 15.3 Git 工作流规范
349
+
350
+ - 分支策略(Git Flow / GitHub Flow / Trunk Based)
351
+ - 分支命名规范(feature/ / bugfix/ / hotfix/ / release/)
352
+ - Commit Message 规范(Conventional Commits / Angular / 自定义)
353
+ - Commit 粒度要求
354
+ - Tag 和版本号规范(Semantic Versioning)
355
+
356
+ ### 15.4 代码审查规范
357
+
358
+ - Code Review 流程(PR 模板、审查清单)
359
+ - 审查标准和关注点
360
+ - 合并策略(Squash / Merge / Rebase)
361
+ - 审查响应时间要求
362
+
363
+ ### 15.5 文档规范
364
+
365
+ - 代码注释规范(JSDoc / TSDoc / 行内注释标准)
366
+ - README 模板
367
+ - 变更日志维护(CHANGELOG)
368
+ - API 文档生成方案
369
+
370
+ ### 15.6 CI/CD 流程设计
371
+
372
+ - 代码提交触发的自动化检查(lint / type-check / test)
373
+ - Pre-commit hooks 配置(husky / lint-staged)
374
+ - 构建流水线设计
375
+ - 自动化发布流程
376
+
377
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/15-代码规范与工程化.md`
378
+
379
+ ## 阶段十六:测试方案
380
+
381
+ 与用户讨论并设计项目的测试体系:
382
+
383
+ ### 16.1 测试策略与分层
384
+
385
+ - 测试金字塔规划(单元测试 / 集成测试 / E2E 测试的比例)
386
+ - 各层测试的职责边界和覆盖范围
387
+ - 性能测试需求(负载测试 / 压力测试 / 基准测试)
388
+ - 安全测试需求(渗透测试 / 依赖漏洞扫描)
389
+
390
+ ### 16.2 测试框架选型
391
+
392
+ - 单元测试框架(Jest / Vitest / Mocha / pytest 等)
393
+ - 集成测试方案
394
+ - E2E 测试框架(Playwright / Cypress / Selenium)
395
+ - API 测试工具(如适用)
396
+ - 性能测试工具(如适用)
397
+
398
+ ### 16.3 测试覆盖率目标
399
+
400
+ - 整体覆盖率目标(行覆盖 / 分支覆盖 / 函数覆盖)
401
+ - 核心模块的最低覆盖率要求
402
+ - 覆盖率报告生成和可视化
403
+ - 覆盖率门禁(CI 中的最低覆盖率检查)
404
+
405
+ ### 16.4 测试数据管理
406
+
407
+ - 测试数据生成策略(工厂函数 / Faker / Fixture)
408
+ - Mock 和 Stub 策略
409
+ - 测试数据库管理(内存数据库 / 测试容器)
410
+ - 测试数据隔离和清理
411
+
412
+ ### 16.5 自动化测试与 CI 集成
413
+
414
+ - 测试在 CI 流水线中的执行时机
415
+ - 测试并行化策略
416
+ - 测试失败的阻断策略
417
+ - 测试报告和通知
418
+
419
+ ### 16.6 测试环境管理
420
+
421
+ - 测试环境与开发 / 生产环境的差异
422
+ - 环境变量和配置管理
423
+ - 外部服务的 Mock 方案
424
+ - 测试环境的搭建和销毁自动化
425
+
426
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/16-测试方案.md`
427
+
428
+ ## 阶段十七:数据埋点与监控
429
+
430
+ 设计项目的数据采集和监控体系:
431
+
432
+ ### 17.1 用户行为埋点
433
+
434
+ - 埋点方案选型(Google Analytics / Mixpanel / Umami / 自建)
435
+ - 关键事件定义(页面浏览、按钮点击、功能使用、转化漏斗)
436
+ - 埋点规范(事件命名、属性定义、埋点文档模板)
437
+ - 埋点实现方式(手动埋点 / 自动埋点 / 可视化埋点)
438
+
439
+ ### 17.2 错误监控
440
+
441
+ - 错误追踪平台(Sentry / LogRocket / 自建)
442
+ - 前端错误捕获(JS 异常、资源加载失败、接口错误)
443
+ - 后端错误告警(如适用)
444
+ - 错误分级和告警策略
445
+
446
+ ### 17.3 性能监控
447
+
448
+ - 核心 Web Vitals 监控(LCP / FID / CLS)
449
+ - 接口响应时间监控
450
+ - 自定义性能指标
451
+ - 性能劣化告警阈值
452
+
453
+ ### 17.4 业务数据看板
454
+
455
+ - 关键业务指标(DAU / 留存率 / 转化率 / 收入等)
456
+ - 数据可视化方案
457
+ - 数据导出和报表需求
458
+
459
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/17-埋点与监控.md`
460
+
461
+ ## 阶段十八:部署与运维
462
+
463
+ ### 18.1 部署架构
464
+
465
+ - 服务器选型(Vercel / Netlify / AWS / 阿里云 / 自建服务器)
466
+ - 域名和 DNS 配置
467
+ - SSL 证书方案
468
+ - CDN 加速策略
469
+
470
+ ### 18.2 环境管理
471
+
472
+ - 环境划分(开发 / 测试 / 预发 / 生产)
473
+ - 环境变量管理方案
474
+ - 配置中心(如适用)
475
+
476
+ ### 18.3 CI/CD 流水线
477
+
478
+ - 构建流程(lint → test → build → deploy)
479
+ - 自动化部署触发条件
480
+ - 回滚策略
481
+ - 灰度发布方案(如适用)
482
+
483
+ ### 18.4 运维保障
484
+
485
+ - 日志收集和查询方案
486
+ - 服务健康检查
487
+ - 备份策略(数据库 / 文件存储)
488
+ - 灾备和容灾方案(如适用)
489
+
490
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/18-部署与运维.md`
491
+
492
+ ## 阶段十九:非功能性需求
493
+
494
+ 与用户确认各项非功能性需求:
495
+
496
+ 1. 性能要求(首屏加载时间、交互响应时间、Lighthouse 评分目标)
497
+ 2. 兼容性要求(浏览器版本、设备类型、操作系统)
498
+ 3. 安全要求(XSS 防护、CSRF 防护、数据加密、权限控制)
499
+ 4. 可访问性要求(WCAG 等级、键盘导航、屏幕阅读器支持)
500
+ 5. 国际化需求(多语言支持、RTL 布局)
501
+ 6. SEO 需求(如适用)
502
+ 7. 法律合规:
503
+ - 隐私政策和用户协议(必备)
504
+ - 个人信息保护法 / GDPR / CCPA 合规(根据目标市场)
505
+ - Cookie 同意管理
506
+ - 数据存储地域要求
507
+ - 支付相关资质和备案(如适用)
508
+ - 内容审核要求(如适用)
509
+
510
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/19-非功能性需求.md`
511
+
512
+ ## 阶段二十:开发里程碑规划
513
+
514
+ 与用户讨论项目的整体开发节奏和关键里程碑:
515
+
516
+ 1. 开发阶段划分(基础搭建 / MVP / 迭代优化 / 上线)
517
+ 2. 每个阶段的目标和交付物
518
+ 3. 关键里程碑时间节点
519
+ 4. 阶段间的依赖关系和衔接方式
520
+
521
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/20-开发里程碑.md`
522
+
523
+ ## 阶段二十一:推广获客方案
524
+
525
+ 与用户讨论产品的推广策略和用户获取方案:
526
+
527
+ ### 21.1 获客渠道策略
528
+
529
+ - SEO 优化策略(关键词规划、内容优化、技术 SEO)
530
+ - 内容营销(博客、教程、案例分享、视频内容)
531
+ - 社交媒体运营(平台选择、内容策略、发布节奏)
532
+ - 社区运营(技术社区、论坛、Discord/Slack 群组)
533
+ - 付费投放(Google Ads / 社交媒体广告 / KOL 合作)
534
+
535
+ ### 21.2 增长黑客策略
536
+
537
+ - 病毒传播机制(分享激励、社交裂变)
538
+ - 邀请机制设计(邀请码、推荐奖励)
539
+ - 产品驱动增长 PLG(免费试用、Freemium 转化漏斗)
540
+ - 口碑传播策略
541
+
542
+ ### 21.3 用户留存与激活
543
+
544
+ - 新用户引导流程(Onboarding)
545
+ - 用户激活指标定义
546
+ - 留存策略(邮件/推送触达、功能引导、用户教育)
547
+ - 流失预警和召回机制
548
+
549
+ ### 21.4 数据驱动的获客优化
550
+
551
+ - 获客漏斗定义和监控
552
+ - A/B 测试框架
553
+ - 渠道效果归因分析
554
+ - 关键获客指标(CAC / LTV / 转化率 / 留存率)
555
+
556
+ ### 21.5 预算规划与 ROI 评估
557
+
558
+ - 各渠道预算分配
559
+ - 获客成本目标
560
+ - ROI 评估模型
561
+ - 预算调整策略
562
+
563
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/21-推广获客.md`
564
+
565
+ ## 阶段二十二:详细开发计划与执行
566
+
567
+ 基于里程碑规划,与用户制定详细的开发执行方案:
568
+
569
+ ### 22.1 任务拆解与工时估算
570
+
571
+ - 将各里程碑拆解为具体开发任务
572
+ - 任务粒度标准(建议不超过 2 天 / 人)
573
+ - 工时估算方法(故事点 / 人天)
574
+ - 任务优先级排序
575
+
576
+ ### 22.2 团队分工与协作流程
577
+
578
+ - 团队角色和职责划分
579
+ - 协作工具选型(Jira / Linear / GitHub Projects / Notion)
580
+ - 沟通机制(站会、周会、评审会)
581
+ - 文档协作和知识共享
582
+
583
+ ### 22.3 迭代节奏(Sprint 规划)
584
+
585
+ - Sprint 周期设定(1 周 / 2 周)
586
+ - Sprint 计划会和回顾会
587
+ - 需求变更管理流程
588
+ - 版本发布节奏
589
+
590
+ ### 22.4 技术债务管理
591
+
592
+ - 技术债务识别和记录机制
593
+ - 技术债务优先级评估
594
+ - 每个 Sprint 的技术债务处理比例
595
+ - 重构策略和时机
596
+
597
+ ### 22.5 风险评估与应急预案
598
+
599
+ - 技术风险识别(技术选型风险、性能瓶颈、第三方依赖)
600
+ - 人员风险(关键人员依赖、知识孤岛)
601
+ - 进度风险(需求变更、估算偏差)
602
+ - 各风险的应对策略和应急预案
603
+
604
+ ### 22.6 上线 Checklist
605
+
606
+ - 上线前检查清单(功能验证、性能测试、安全审查)
607
+ - 数据迁移方案(如适用)
608
+ - 灰度发布计划
609
+ - 回滚方案
610
+ - 上线后监控和值班安排
611
+
612
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/22-开发计划.md`
613
+
614
+ ## 阶段二十三:后续扩展规划
615
+
616
+ 1. 短期扩展计划(MVP 后的下一步)
617
+ 2. 中期功能路线图
618
+ 3. 长期愿景和可能的技术演进
619
+ 4. 可扩展性设计考量(插件化 / 微前端 / 模块化)
620
+
621
+ > 📝 阶段结束后,将结论保存至 `docs/.draft/23-扩展规划.md`
622
+
623
+ ## 输出物
624
+
625
+ 所有阶段完成后,读取 `docs/.draft/` 下的所有中间产物文件,整合为一份完整的项目需求文档:
626
+
627
+ **文件:`docs/PRD.md`**(产品需求文档)
628
+
629
+ 合并完成后询问用户是否删除 `docs/.draft/` 临时目录。
630
+
631
+ 文档结构:
632
+
633
+ ```markdown
634
+ # {项目名称} - 产品需求文档
635
+
636
+ ## 1. 项目概述
637
+ ### 1.1 项目简介
638
+ ### 1.2 项目背景与动机
639
+ ### 1.3 核心价值主张
640
+
641
+ ## 2. 市场分析
642
+ ### 2.1 市场现状
643
+ ### 2.2 竞品分析
644
+ ### 2.3 差异化定位
645
+
646
+ ## 3. 目标用户
647
+ ### 3.1 用户画像
648
+ ### 3.2 用户需求与痛点
649
+ ### 3.3 用户场景与旅程
650
+
651
+ ## 4. 功能需求
652
+ ### 4.1 功能全景图
653
+ ### 4.2 MVP 功能清单(P0)
654
+ ### 4.3 二期功能清单(P1)
655
+ ### 4.4 远期功能清单(P2)
656
+ ### 4.5 功能详细描述与用户故事
657
+
658
+ ## 5. 技术方案
659
+ ### 5.1 技术栈选型
660
+ ### 5.2 整体架构设计
661
+ ### 5.3 核心模块划分
662
+ ### 5.4 数据流设计
663
+
664
+ ## 6. 页面设计
665
+ ### 6.1 站点地图与导航结构
666
+ ### 6.2 整体布局框架
667
+ ### 6.3 各页面详细设计
668
+
669
+ ## 7. UI/UX 设计规范
670
+ ### 7.1 设计风格
671
+ ### 7.2 色彩体系
672
+ ### 7.3 字体规范
673
+ ### 7.4 间距与布局系统
674
+ ### 7.5 组件样式规范
675
+ ### 7.6 动效规范
676
+
677
+ ## 8. 通用组件设计
678
+ ### 8.1 基础组件
679
+ ### 8.2 业务组件
680
+ ### 8.3 布局组件
681
+
682
+ ## 9. 响应式设计
683
+ ### 9.1 断点定义
684
+ ### 9.2 适配策略
685
+
686
+ ## 10. 交互设计
687
+ ### 10.1 关键交互流程
688
+ ### 10.2 状态处理规范
689
+
690
+ ## 11. 数据接口设计
691
+ ### 11.1 接口规范
692
+ ### 11.2 接口清单
693
+ ### 11.3 数据模型
694
+ ### 11.4 认证鉴权方案
695
+
696
+ ## 12. 支付系统设计
697
+ ### 12.1 商业模式与定价
698
+ ### 12.2 支付渠道(支付宝 / 微信 / Stripe / Creem / 卡密)
699
+ ### 12.3 统一支付架构
700
+ ### 12.4 订单系统
701
+ ### 12.5 支付安全与风控
702
+ ### 12.6 订阅与会员管理
703
+
704
+ ## 13. AI 功能集成
705
+ ### 13.1 AI 能力需求
706
+ ### 13.2 LLM 选型
707
+ ### 13.3 接入架构
708
+ ### 13.4 成本控制
709
+ ### 13.5 流式输出与体验
710
+ ### 13.6 安全与合规
711
+
712
+ ## 14. 项目目录结构
713
+
714
+ ## 15. 代码规范与工程化
715
+ ### 15.1 编码风格规范
716
+ ### 15.2 命名规范
717
+ ### 15.3 Git 工作流规范
718
+ ### 15.4 代码审查规范
719
+ ### 15.5 文档规范
720
+ ### 15.6 CI/CD 流程
721
+
722
+ ## 16. 测试方案
723
+ ### 16.1 测试策略与分层
724
+ ### 16.2 测试框架选型
725
+ ### 16.3 测试覆盖率目标
726
+ ### 16.4 测试数据管理
727
+ ### 16.5 自动化测试与 CI 集成
728
+ ### 16.6 测试环境管理
729
+
730
+ ## 17. 数据埋点与监控
731
+ ### 17.1 用户行为埋点
732
+ ### 17.2 错误监控
733
+ ### 17.3 性能监控
734
+ ### 17.4 业务数据看板
735
+
736
+ ## 18. 部署与运维
737
+ ### 18.1 部署架构
738
+ ### 18.2 环境管理
739
+ ### 18.3 CI/CD 流水线
740
+ ### 18.4 运维保障
741
+
742
+ ## 19. 非功能性需求
743
+ ### 19.1 性能要求
744
+ ### 19.2 兼容性要求
745
+ ### 19.3 安全要求
746
+ ### 19.4 可访问性要求
747
+ ### 19.5 国际化需求
748
+ ### 19.6 法律合规
749
+
750
+ ## 20. 开发里程碑规划
751
+ ### 20.1 阶段划分与交付物
752
+ ### 20.2 关键里程碑
753
+
754
+ ## 21. 推广获客方案
755
+ ### 21.1 获客渠道策略
756
+ ### 21.2 增长黑客策略
757
+ ### 21.3 用户留存与激活
758
+ ### 21.4 数据驱动的获客优化
759
+ ### 21.5 预算规划与 ROI
760
+
761
+ ## 22. 详细开发计划
762
+ ### 22.1 任务拆解与工时估算
763
+ ### 22.2 团队分工与协作
764
+ ### 22.3 迭代节奏
765
+ ### 22.4 技术债务管理
766
+ ### 22.5 风险评估与应急预案
767
+ ### 22.6 上线 Checklist
768
+
769
+ ## 23. 后续扩展规划
770
+ ### 23.1 短期计划
771
+ ### 23.2 中期路线图
772
+ ### 23.3 长期愿景
773
+ ```
774
+
775
+ ## 工作原则
776
+
777
+ 1. **互动优先**:每个阶段都必须与用户充分沟通,不要自行假设,不确定的地方一定要问
778
+ 2. **逐步推进**:一个阶段确认完成后再进入下一阶段,不要跳跃
779
+ 3. **每次提问不超过 3 个问题**,避免信息过载
780
+ 4. **及时总结**:每个阶段结束时简要总结该阶段的结论,让用户确认
781
+ 5. **灵活调整**:根据项目类型灵活裁剪阶段,比如纯前端项目可以简化后端相关内容
782
+ 6. **使用 WebSearch 进行市场调研**,确保信息的时效性和准确性
783
+ 7. **保持专业但易懂**:技术方案要专业,但描述要让非技术人员也能理解
784
+ 8. **最终文档要完整可执行**:输出的 PRD 文档应该足够详细,可以直接作为开发依据
@@ -0,0 +1,39 @@
1
+ Metadata-Version: 2.4
2
+ Name: create-project-init
3
+ Version: 1.0.0
4
+ Summary: 一键安装 project-init skill — 互动式项目架构生成器,通过对话引导从零生成完整 PRD
5
+ License-Expression: MIT
6
+ Keywords: claude,skill,prd,project-init,claude-code
7
+ Requires-Python: >=3.7
8
+ Description-Content-Type: text/markdown
9
+
10
+ # create-project-init
11
+
12
+ 一键安装 `project-init` skill 到任意 Claude Code 项目。
13
+
14
+ 通过 23 个阶段的互动式对话引导,从零生成完整的产品需求文档(PRD),涵盖市场调研、需求分析、技术选型、页面设计、支付系统、AI 功能集成、测试方案、埋点监控、部署运维、推广获客、法律合规等。
15
+
16
+ ## 安装
17
+
18
+ ```bash
19
+ npx create-project-init # 安装到当前目录
20
+ npx create-project-init ./my-app # 安装到指定目录
21
+ ```
22
+
23
+ ## 安装后会做什么
24
+
25
+ - 复制 `.claude/skills/project-init.md` 到目标项目
26
+ - 创建或追加 `CLAUDE.md` 中的 skill 描述
27
+ - 创建或更新 `.claude/settings.local.json` 添加权限
28
+
29
+ 重复执行会自动跳过已有内容,安全幂等。
30
+
31
+ ## 使用
32
+
33
+ 安装完成后,在目标项目中启动 Claude Code,输入:
34
+
35
+ ```
36
+ /project-init
37
+ ```
38
+
39
+ 即可开始互动式 PRD 生成流程。
@@ -0,0 +1,10 @@
1
+ README.md
2
+ pyproject.toml
3
+ create_project_init/__init__.py
4
+ create_project_init/cli.py
5
+ create_project_init.egg-info/PKG-INFO
6
+ create_project_init.egg-info/SOURCES.txt
7
+ create_project_init.egg-info/dependency_links.txt
8
+ create_project_init.egg-info/entry_points.txt
9
+ create_project_init.egg-info/top_level.txt
10
+ create_project_init/data/.claude/skills/project-init.md
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ create-project-init = create_project_init.cli:main
@@ -0,0 +1 @@
1
+ create_project_init
@@ -0,0 +1,18 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68.0"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "create-project-init"
7
+ version = "1.0.0"
8
+ description = "一键安装 project-init skill — 互动式项目架构生成器,通过对话引导从零生成完整 PRD"
9
+ readme = "README.md"
10
+ license = "MIT"
11
+ requires-python = ">=3.7"
12
+ keywords = ["claude", "skill", "prd", "project-init", "claude-code"]
13
+
14
+ [project.scripts]
15
+ create-project-init = "create_project_init.cli:main"
16
+
17
+ [tool.setuptools.package-data]
18
+ create_project_init = ["data/.claude/skills/project-init.md"]
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+