ccjk 16.0.6 → 16.3.0

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.
Files changed (69) hide show
  1. package/README.md +72 -316
  2. package/dist/chunks/claude-code-config-manager.mjs +28 -7
  3. package/dist/chunks/claude-code-incremental-manager.mjs +2 -2
  4. package/dist/chunks/codex-config-switch.mjs +3 -3
  5. package/dist/chunks/codex-presets.mjs +98 -0
  6. package/dist/chunks/codex-provider-manager.mjs +4 -4
  7. package/dist/chunks/codex-runtime.mjs +246 -0
  8. package/dist/chunks/codex-uninstaller.mjs +2 -2
  9. package/dist/chunks/commands.mjs +1 -1
  10. package/dist/chunks/features.mjs +35 -15
  11. package/dist/chunks/simple-config.mjs +659 -148
  12. package/dist/cli.mjs +1700 -908
  13. package/dist/i18n/locales/en/clean.json +24 -0
  14. package/dist/i18n/locales/en/codex.json +24 -1
  15. package/dist/i18n/locales/en/configuration.json +27 -12
  16. package/dist/i18n/locales/en/hub.json +30 -0
  17. package/dist/i18n/locales/en/menu.json +32 -8
  18. package/dist/i18n/locales/en/workflow.json +13 -1
  19. package/dist/i18n/locales/zh-CN/clean.json +24 -0
  20. package/dist/i18n/locales/zh-CN/codex.json +24 -1
  21. package/dist/i18n/locales/zh-CN/configuration.json +27 -12
  22. package/dist/i18n/locales/zh-CN/hub.json +30 -0
  23. package/dist/i18n/locales/zh-CN/menu.json +32 -8
  24. package/dist/i18n/locales/zh-CN/workflow.json +13 -1
  25. package/dist/index.d.mts +3 -1
  26. package/dist/index.d.ts +3 -1
  27. package/dist/index.mjs +1 -1
  28. package/dist/shared/{ccjk.BSLlI-JL.mjs → ccjk.TC1_-qhV.mjs} +1 -1
  29. package/package.json +1 -1
  30. package/templates/common/output-styles/en/agents-md-baseline.md +28 -0
  31. package/templates/common/output-styles/en/plan-first.md +30 -0
  32. package/templates/common/output-styles/en/surgical-diff.md +27 -0
  33. package/templates/common/output-styles/en/verify-and-ship.md +31 -0
  34. package/templates/common/output-styles/zh-CN/agents-md-baseline.md +28 -0
  35. package/templates/common/output-styles/zh-CN/plan-first.md +30 -0
  36. package/templates/common/output-styles/zh-CN/surgical-diff.md +27 -0
  37. package/templates/common/output-styles/zh-CN/verify-and-ship.md +31 -0
  38. package/templates/common/workflow/bmad/en/bmad-init.md +275 -0
  39. package/templates/common/workflow/bmad/zh-CN/bmad-init.md +275 -0
  40. package/templates/common/workflow/codeReview/en/code-review.md +34 -0
  41. package/templates/common/workflow/codeReview/zh-CN/code-review.md +34 -0
  42. package/templates/common/workflow/continuousDelivery/en/continuous-delivery.md +628 -0
  43. package/templates/common/workflow/continuousDelivery/zh-CN/continuous-delivery.md +628 -0
  44. package/templates/common/workflow/essential/en/agents/ccjk-config-agent.md +187 -0
  45. package/templates/common/workflow/essential/en/agents/ccjk-mcp-agent.md +191 -0
  46. package/templates/common/workflow/essential/en/agents/ccjk-skill-agent.md +249 -0
  47. package/templates/common/workflow/essential/en/agents/ccjk-workflow-agent.md +277 -0
  48. package/templates/common/workflow/essential/en/agents/get-current-datetime.md +29 -0
  49. package/templates/common/workflow/essential/en/agents/init-architect.md +115 -0
  50. package/templates/common/workflow/essential/en/agents/planner.md +116 -0
  51. package/templates/common/workflow/essential/en/agents/teamagent.md +102 -0
  52. package/templates/common/workflow/essential/en/agents/ui-ux-designer.md +91 -0
  53. package/templates/common/workflow/essential/en/feat.md +92 -0
  54. package/templates/common/workflow/essential/en/init-project.md +53 -0
  55. package/templates/common/workflow/essential/zh-CN/agents/get-current-datetime.md +29 -0
  56. package/templates/common/workflow/essential/zh-CN/agents/init-architect.md +115 -0
  57. package/templates/common/workflow/essential/zh-CN/agents/planner.md +116 -0
  58. package/templates/common/workflow/essential/zh-CN/agents/teamagent.md +102 -0
  59. package/templates/common/workflow/essential/zh-CN/agents/ui-ux-designer.md +91 -0
  60. package/templates/common/workflow/essential/zh-CN/feat.md +315 -0
  61. package/templates/common/workflow/essential/zh-CN/init-project.md +53 -0
  62. package/templates/common/workflow/interview/en/interview.md +67 -0
  63. package/templates/common/workflow/interview/zh-CN/interview.md +67 -0
  64. package/templates/common/workflow/linearMethod/en/linear-method.md +651 -0
  65. package/templates/common/workflow/linearMethod/zh-CN/linear-method.md +750 -0
  66. package/templates/common/workflow/refactoringMaster/en/refactoring-master.md +516 -0
  67. package/templates/common/workflow/refactoringMaster/zh-CN/refactoring-master.md +810 -0
  68. package/templates/common/workflow/specFirstTDD/en/spec-first-tdd.md +364 -0
  69. package/templates/common/workflow/specFirstTDD/zh-CN/spec-first-tdd.md +364 -0
@@ -0,0 +1,750 @@
1
+ ---
2
+ description: Linear 高质量方法 - 问题验证→优先级排序→专注构建,Linear 团队的产品质量哲学
3
+ allowed-tools: Read(**), Write(**), Exec(npm run dev, npm test)
4
+ argument-hint: [--validate] [--prioritize] [--focus-mode]
5
+ # examples:
6
+ # - /linear-method # 启动 Linear 工作流
7
+ # - /linear-method --validate # 问题验证阶段
8
+ # - /linear-method --prioritize # 优先级排序
9
+ # - /linear-method --focus-mode # 专注构建模式
10
+ ---
11
+
12
+ # Linear Quality Method
13
+
14
+ 基于 Linear 团队的产品开发哲学,通过严格的问题验证、优先级排序和专注构建,打造高质量软件产品。
15
+
16
+ ---
17
+
18
+ ## 核心理念
19
+
20
+ Linear 是一个以速度和质量著称的项目管理工具,其团队的开发方法论强调:
21
+
22
+ **1. 问题优先(Problem-First)**
23
+ - 先理解问题,再考虑解决方案
24
+ - 验证问题是否真实存在
25
+ - 评估问题的影响范围
26
+
27
+ **2. 质量至上(Quality Over Speed)**
28
+ - 宁可慢一点,也要做对
29
+ - 技术债务是最大的敌人
30
+ - 每个功能都要经过深思熟虑
31
+
32
+ **3. 专注构建(Focus on Building)**
33
+ - 减少会议和干扰
34
+ - 长时间的深度工作
35
+ - 一次只做一件事
36
+
37
+ **4. 用户体验(User Experience)**
38
+ - 每个细节都重要
39
+ - 性能是功能的一部分
40
+ - 简洁胜于复杂
41
+
42
+ ---
43
+
44
+ ## Linear Workflow
45
+
46
+ ### Phase 1: Problem Validation(问题验证)
47
+
48
+ **目标**:确保我们在解决真实且重要的问题
49
+
50
+ #### 1.1 问题陈述
51
+
52
+ 使用 Linear 的问题模板:
53
+
54
+ ```markdown
55
+ ## Problem Statement
56
+
57
+ ### What is the problem?
58
+ [清晰描述问题是什么]
59
+
60
+ ### Who is affected?
61
+ - [ ] All users
62
+ - [ ] Specific user segment: [describe]
63
+ - [ ] Internal team
64
+ - [ ] External partners
65
+
66
+ ### How often does this occur?
67
+ - [ ] Every time
68
+ - [ ] Frequently (daily)
69
+ - [ ] Occasionally (weekly)
70
+ - [ ] Rarely (monthly)
71
+
72
+ ### What is the impact?
73
+ - [ ] Blocker (prevents work)
74
+ - [ ] Major (significant friction)
75
+ - [ ] Minor (small annoyance)
76
+ - [ ] Nice to have
77
+
78
+ ### Evidence
79
+ - User feedback: [links]
80
+ - Analytics data: [metrics]
81
+ - Support tickets: [count]
82
+ - Team observations: [notes]
83
+ ```
84
+
85
+ #### 1.2 问题验证清单
86
+
87
+ ```markdown
88
+ ## Validation Checklist
89
+
90
+ - [ ] 问题描述清晰具体(不是解决方案)
91
+ - [ ] 有真实用户反馈或数据支持
92
+ - [ ] 影响范围已量化
93
+ - [ ] 不解决的后果已评估
94
+ - [ ] 与产品愿景一致
95
+ - [ ] 不是 XY 问题(用户要 X,我们误以为要 Y)
96
+ ```
97
+
98
+ #### 1.3 反例:伪问题
99
+
100
+ ```markdown
101
+ ❌ Bad: "我们需要添加一个新的设置页面"
102
+ → 这是解决方案,不是问题
103
+
104
+ ✅ Good: "用户无法自定义通知偏好,导致收到过多不相关通知,
105
+ 每天有 50+ 用户在支持渠道抱怨此问题"
106
+
107
+ ❌ Bad: "代码需要重构"
108
+ → 没有说明为什么需要重构
109
+
110
+ ✅ Good: "当前认证模块的复杂度导致每次添加新功能需要 3 天,
111
+ 而竞品只需要半天,影响我们的迭代速度"
112
+ ```
113
+
114
+ ---
115
+
116
+ ### Phase 2: Prioritization(优先级排序)
117
+
118
+ **目标**:在有限的时间内做最重要的事
119
+
120
+ #### 2.1 RICE 评分框架
121
+
122
+ Linear 使用 RICE 框架评估优先级:
123
+
124
+ ```
125
+ RICE Score = (Reach × Impact × Confidence) / Effort
126
+
127
+ Reach (触达):影响多少用户?
128
+ - 1000+ users = 10
129
+ - 100-1000 users = 5
130
+ - 10-100 users = 2
131
+ - < 10 users = 1
132
+
133
+ Impact (影响):对用户的影响有多大?
134
+ - Massive (3.0): 核心功能,显著改善体验
135
+ - High (2.0): 重要功能,明显改善体验
136
+ - Medium (1.0): 有用功能,适度改善体验
137
+ - Low (0.5): 小改进
138
+ - Minimal (0.25): 微小改进
139
+
140
+ Confidence (信心):我们有多确定?
141
+ - High (100%): 有数据支持
142
+ - Medium (80%): 有一些证据
143
+ - Low (50%): 基于假设
144
+
145
+ Effort (工作量):需要多少人月?
146
+ - 以人月为单位(1 人月 = 1 人工作 1 个月)
147
+ ```
148
+
149
+ #### 2.2 优先级示例
150
+
151
+ ```markdown
152
+ ## Feature: 键盘快捷键
153
+
154
+ Reach: 8 (80% 的活跃用户)
155
+ Impact: 2.0 (High - 显著提升效率)
156
+ Confidence: 100% (用户强烈要求)
157
+ Effort: 2 人月
158
+
159
+ RICE Score = (8 × 2.0 × 1.0) / 2 = 8.0
160
+
161
+ ---
162
+
163
+ ## Feature: 深色模式
164
+
165
+ Reach: 10 (所有用户)
166
+ Impact: 1.0 (Medium - 改善体验)
167
+ Confidence: 80% (部分用户要求)
168
+ Effort: 3 人月
169
+
170
+ RICE Score = (10 × 1.0 × 0.8) / 3 = 2.67
171
+
172
+ ---
173
+
174
+ ## Bug: 搜索结果不准确
175
+
176
+ Reach: 9 (90% 用户使用搜索)
177
+ Impact: 3.0 (Massive - 核心功能损坏)
178
+ Confidence: 100% (有明确复现步骤)
179
+ Effort: 1 人月
180
+
181
+ RICE Score = (9 × 3.0 × 1.0) / 1 = 27.0 ← 最高优先级
182
+ ```
183
+
184
+ #### 2.3 优先级矩阵
185
+
186
+ ```
187
+ 高影响 │ 🔥 立即做 │ 📅 计划做
188
+ │ (Quick Wins) │ (Major Projects)
189
+ │ │
190
+ ──────┼────────────────┼──────────────────
191
+ │ │
192
+ 低影响 │ 🤔 考虑做 │ ❌ 不做
193
+ │ (Fill-ins) │ (Time Sinks)
194
+ │ │
195
+ 低工作量 高工作量
196
+ ```
197
+
198
+ #### 2.4 说不的艺术
199
+
200
+ Linear 团队以「说不」著称:
201
+
202
+ ```markdown
203
+ ## 何时说不
204
+
205
+ ❌ 功能请求来自单个用户(除非是关键客户)
206
+ ❌ 解决方案复杂但影响小
207
+ ❌ 与产品愿景不符
208
+ ❌ 有更简单的替代方案
209
+ ❌ 维护成本高于价值
210
+
211
+ ## 如何说不
212
+
213
+ ✅ "感谢反馈!我们理解这个需求,但目前优先级较低,
214
+ 因为只有 2% 的用户会用到。我们会持续关注。"
215
+
216
+ ✅ "这是个好想法,但实现成本很高(3 个月),
217
+ 而我们有更高优先级的问题需要解决。"
218
+
219
+ ✅ "我们考虑过这个方案,但它会增加产品复杂度,
220
+ 与我们'保持简洁'的理念不符。"
221
+ ```
222
+
223
+ ---
224
+
225
+ ### Phase 3: Spec Writing(规格编写)
226
+
227
+ **目标**:在编码前明确所有细节
228
+
229
+ #### 3.1 Linear Spec 模板
230
+
231
+ ```markdown
232
+ # [Feature Name]
233
+
234
+ ## Problem
235
+ [从 Phase 1 复制问题陈述]
236
+
237
+ ## Goals
238
+ - Primary goal: [核心目标]
239
+ - Secondary goals: [次要目标]
240
+ - Non-goals: [明确不做什么]
241
+
242
+ ## User Stories
243
+
244
+ As a [role], I want to [action] so that [benefit].
245
+
246
+ ### Example
247
+ As a developer, I want to use keyboard shortcuts
248
+ so that I can navigate the app without using the mouse.
249
+
250
+ ## Solution
251
+
252
+ ### Overview
253
+ [高层次的解决方案描述]
254
+
255
+ ### User Flow
256
+ 1. User presses `Cmd+K`
257
+ 2. Command palette opens
258
+ 3. User types "create issue"
259
+ 4. Matching commands are filtered
260
+ 5. User presses Enter
261
+ 6. Issue creation dialog opens
262
+
263
+ ### UI/UX Design
264
+ [Figma 链接或截图]
265
+
266
+ ### Technical Approach
267
+
268
+ #### Architecture
269
+ ```typescript
270
+ // 核心接口设计
271
+ interface KeyboardShortcut {
272
+ key: string
273
+ modifiers: Modifier[]
274
+ action: () => void
275
+ description: string
276
+ }
277
+
278
+ class ShortcutManager {
279
+ register(shortcut: KeyboardShortcut): void
280
+ unregister(key: string): void
281
+ execute(event: KeyboardEvent): void
282
+ }
283
+ ```
284
+
285
+ #### Data Model
286
+ [数据库 schema 或状态结构]
287
+
288
+ #### API Changes
289
+ [新增或修改的 API]
290
+
291
+ ### Edge Cases
292
+ - What if user presses conflicting shortcuts?
293
+ - What if shortcut is already used by browser?
294
+ - What if user is in an input field?
295
+
296
+ ### Performance Considerations
297
+ - Shortcut registration: O(1)
298
+ - Shortcut lookup: O(1) using Map
299
+ - No impact on initial load time
300
+
301
+ ### Accessibility
302
+ - All shortcuts must have mouse alternatives
303
+ - Shortcuts must be discoverable (help menu)
304
+ - Support for screen readers
305
+
306
+ ### Security
307
+ - No security implications
308
+
309
+ ## Success Metrics
310
+
311
+ - 30% of users adopt keyboard shortcuts within 1 month
312
+ - Average task completion time reduces by 20%
313
+ - NPS score increases by 5 points
314
+
315
+ ## Rollout Plan
316
+
317
+ ### Phase 1: Internal Beta (Week 1)
318
+ - Deploy to team
319
+ - Gather feedback
320
+ - Fix critical bugs
321
+
322
+ ### Phase 2: Public Beta (Week 2-3)
323
+ - Deploy to 10% of users
324
+ - Monitor metrics
325
+ - Iterate based on feedback
326
+
327
+ ### Phase 3: General Availability (Week 4)
328
+ - Deploy to all users
329
+ - Announce in changelog
330
+ - Create help documentation
331
+
332
+ ## Open Questions
333
+
334
+ - [ ] Should shortcuts be customizable?
335
+ - [ ] Which shortcuts should be enabled by default?
336
+ - [ ] How to handle conflicts with browser shortcuts?
337
+
338
+ ## Timeline
339
+
340
+ - Spec review: 2 days
341
+ - Implementation: 1.5 weeks
342
+ - Testing: 2 days
343
+ - Beta: 1 week
344
+ - GA: Week 4
345
+
346
+ Total: 4 weeks
347
+ ```
348
+
349
+ #### 3.2 Spec Review 清单
350
+
351
+ ```markdown
352
+ ## Review Checklist
353
+
354
+ ### Clarity
355
+ - [ ] 问题陈述清晰
356
+ - [ ] 解决方案明确
357
+ - [ ] 所有术语都有定义
358
+
359
+ ### Completeness
360
+ - [ ] 覆盖所有用户场景
361
+ - [ ] 考虑了边界情况
362
+ - [ ] 定义了成功指标
363
+
364
+ ### Feasibility
365
+ - [ ] 技术方案可行
366
+ - [ ] 时间估算合理
367
+ - [ ] 资源充足
368
+
369
+ ### Quality
370
+ - [ ] 性能影响已评估
371
+ - [ ] 可访问性已考虑
372
+ - [ ] 安全性已审查
373
+
374
+ ### Alignment
375
+ - [ ] 与产品愿景一致
376
+ - [ ] 与设计系统一致
377
+ - [ ] 与技术架构一致
378
+ ```
379
+
380
+ ---
381
+
382
+ ### Phase 4: Focused Building(专注构建)
383
+
384
+ **目标**:高质量、高效率地实现功能
385
+
386
+ #### 4.1 深度工作原则
387
+
388
+ Linear 团队推崇深度工作:
389
+
390
+ ```markdown
391
+ ## Deep Work Principles
392
+
393
+ ### 1. 长时间专注块
394
+ - 最少 2 小时不间断工作
395
+ - 关闭所有通知
396
+ - 使用番茄工作法(可选)
397
+
398
+ ### 2. 减少会议
399
+ - 每周最多 5 小时会议
400
+ - 异步沟通优先
401
+ - 会议必须有明确议程
402
+
403
+ ### 3. 批处理沟通
404
+ - 固定时间查看消息(如 10am, 3pm)
405
+ - 不立即回复非紧急消息
406
+ - 使用状态指示器(专注中/可打扰)
407
+
408
+ ### 4. 单任务模式
409
+ - 一次只做一个 issue
410
+ - 完成后再开始下一个
411
+ - 避免上下文切换
412
+ ```
413
+
414
+ #### 4.2 代码质量标准
415
+
416
+ ```typescript
417
+ // Linear 的代码质量标准
418
+
419
+ // ✅ Good: 清晰的命名
420
+ function calculateMonthlyRecurringRevenue(subscriptions: Subscription[]): number {
421
+ return subscriptions
422
+ .filter(sub => sub.status === 'active')
423
+ .reduce((sum, sub) => sum + sub.monthlyPrice, 0)
424
+ }
425
+
426
+ // ❌ Bad: 模糊的命名
427
+ function calc(data: any[]): number {
428
+ return data.filter(d => d.s === 'a').reduce((s, d) => s + d.p, 0)
429
+ }
430
+
431
+ // ✅ Good: 小函数,单一职责
432
+ function validateEmail(email: string): boolean {
433
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)
434
+ }
435
+
436
+ function validatePassword(password: string): boolean {
437
+ return password.length >= 8
438
+ }
439
+
440
+ function validateUser(user: User): ValidationResult {
441
+ const errors: string[] = []
442
+ if (!validateEmail(user.email)) errors.push('Invalid email')
443
+ if (!validatePassword(user.password)) errors.push('Password too short')
444
+ return { valid: errors.length === 0, errors }
445
+ }
446
+
447
+ // ❌ Bad: 大函数,多个职责
448
+ function validate(user: any): any {
449
+ // 100 行验证逻辑
450
+ }
451
+ ```
452
+
453
+ #### 4.3 性能优先
454
+
455
+ ```typescript
456
+ // Linear 对性能的极致追求
457
+
458
+ // ✅ Good: 优化的列表渲染
459
+ function IssueList({ issues }: { issues: Issue[] }) {
460
+ return (
461
+ <VirtualList
462
+ items={issues}
463
+ itemHeight={48}
464
+ renderItem={(issue) => <IssueRow issue={issue} />}
465
+ />
466
+ )
467
+ }
468
+
469
+ // ❌ Bad: 渲染所有项目
470
+ function IssueList({ issues }: { issues: Issue[] }) {
471
+ return (
472
+ <div>
473
+ {issues.map(issue => <IssueRow key={issue.id} issue={issue} />)}
474
+ </div>
475
+ )
476
+ }
477
+
478
+ // ✅ Good: 防抖搜索
479
+ const debouncedSearch = useMemo(
480
+ () => debounce((query: string) => {
481
+ searchIssues(query)
482
+ }, 300),
483
+ []
484
+ )
485
+
486
+ // ✅ Good: 乐观更新
487
+ function updateIssue(id: string, data: Partial<Issue>) {
488
+ // 立即更新 UI
489
+ setIssues(prev => prev.map(issue =>
490
+ issue.id === id ? { ...issue, ...data } : issue
491
+ ))
492
+
493
+ // 后台同步
494
+ api.updateIssue(id, data).catch(() => {
495
+ // 失败时回滚
496
+ revertIssue(id)
497
+ })
498
+ }
499
+ ```
500
+
501
+ #### 4.4 渐进式交付
502
+
503
+ ```markdown
504
+ ## Progressive Delivery
505
+
506
+ ### Week 1: Core Functionality
507
+ - [ ] 基础功能实现
508
+ - [ ] 单元测试
509
+ - [ ] 内部测试
510
+
511
+ ### Week 2: Polish
512
+ - [ ] UI 细节优化
513
+ - [ ] 性能优化
514
+ - [ ] 边界情况处理
515
+
516
+ ### Week 3: Beta
517
+ - [ ] 部署到 10% 用户
518
+ - [ ] 收集反馈
519
+ - [ ] 修复问题
520
+
521
+ ### Week 4: GA
522
+ - [ ] 全量发布
523
+ - [ ] 文档更新
524
+ - [ ] 公告发布
525
+ ```
526
+
527
+ ---
528
+
529
+ ### Phase 5: Quality Assurance(质量保证)
530
+
531
+ **目标**:确保发布的功能达到 Linear 的质量标准
532
+
533
+ #### 5.1 测试清单
534
+
535
+ ```markdown
536
+ ## Testing Checklist
537
+
538
+ ### Functional Testing
539
+ - [ ] 所有用户场景都能正常工作
540
+ - [ ] 边界情况已测试
541
+ - [ ] 错误处理正确
542
+
543
+ ### Performance Testing
544
+ - [ ] 页面加载时间 < 1s
545
+ - [ ] 交互响应时间 < 100ms
546
+ - [ ] 无内存泄漏
547
+
548
+ ### Accessibility Testing
549
+ - [ ] 键盘导航正常
550
+ - [ ] 屏幕阅读器兼容
551
+ - [ ] 颜色对比度达标
552
+
553
+ ### Cross-browser Testing
554
+ - [ ] Chrome (latest)
555
+ - [ ] Firefox (latest)
556
+ - [ ] Safari (latest)
557
+ - [ ] Edge (latest)
558
+
559
+ ### Mobile Testing
560
+ - [ ] iOS Safari
561
+ - [ ] Android Chrome
562
+ - [ ] 响应式布局正确
563
+ ```
564
+
565
+ #### 5.2 代码审查标准
566
+
567
+ ```markdown
568
+ ## Code Review Standards
569
+
570
+ ### Must Have
571
+ - [ ] 代码符合风格指南
572
+ - [ ] 所有测试通过
573
+ - [ ] 无 TypeScript 错误
574
+ - [ ] 无 ESLint 警告
575
+
576
+ ### Should Have
577
+ - [ ] 代码易于理解
578
+ - [ ] 函数长度合理(< 50 行)
579
+ - [ ] 复杂度可控(圈复杂度 < 10)
580
+ - [ ] 有必要的注释
581
+
582
+ ### Nice to Have
583
+ - [ ] 性能优化
584
+ - [ ] 可复用性
585
+ - [ ] 扩展性
586
+ ```
587
+
588
+ ---
589
+
590
+ ### Phase 6: Launch & Iterate(发布与迭代)
591
+
592
+ **目标**:成功发布并持续改进
593
+
594
+ #### 6.1 发布清单
595
+
596
+ ```markdown
597
+ ## Launch Checklist
598
+
599
+ ### Pre-launch
600
+ - [ ] 所有测试通过
601
+ - [ ] 性能指标达标
602
+ - [ ] 文档已更新
603
+ - [ ] 团队已培训
604
+
605
+ ### Launch
606
+ - [ ] 部署到生产环境
607
+ - [ ] 监控关键指标
608
+ - [ ] 准备回滚方案
609
+
610
+ ### Post-launch
611
+ - [ ] 发布公告
612
+ - [ ] 收集用户反馈
613
+ - [ ] 监控错误率
614
+ - [ ] 分析使用数据
615
+ ```
616
+
617
+ #### 6.2 成功指标追踪
618
+
619
+ ```typescript
620
+ // 追踪关键指标
621
+ const metrics = {
622
+ // 使用指标
623
+ adoptionRate: 0.30, // 30% 用户使用新功能
624
+ dailyActiveUsers: 1250,
625
+ featureUsagePerUser: 8.5,
626
+
627
+ // 性能指标
628
+ p50Latency: 45, // ms
629
+ p95Latency: 120, // ms
630
+ errorRate: 0.001, // 0.1%
631
+
632
+ // 业务指标
633
+ userSatisfaction: 4.8, // 5 分制
634
+ supportTickets: -15, // 减少 15%
635
+ taskCompletionTime: -20 // 减少 20%
636
+ }
637
+ ```
638
+
639
+ #### 6.3 迭代计划
640
+
641
+ ```markdown
642
+ ## Iteration Plan
643
+
644
+ ### Week 1 Post-launch
645
+ - 修复关键 bug
646
+ - 优化性能瓶颈
647
+ - 回应用户反馈
648
+
649
+ ### Week 2-4
650
+ - 添加用户要求的小改进
651
+ - 优化 UI 细节
652
+ - 完善文档
653
+
654
+ ### Month 2+
655
+ - 评估是否达到成功指标
656
+ - 决定下一步方向
657
+ - 规划相关功能
658
+ ```
659
+
660
+ ---
661
+
662
+ ## Linear Principles
663
+
664
+ ### 1. 速度源于质量
665
+
666
+ ```
667
+ 低质量 → 技术债务 → 开发变慢 → 更多债务 → 恶性循环
668
+ 高质量 → 易于修改 → 开发加速 → 更高质量 → 良性循环
669
+ ```
670
+
671
+ ### 2. 简洁胜于复杂
672
+
673
+ ```markdown
674
+ ❌ 添加配置选项让用户选择
675
+ ✅ 选择最佳默认值
676
+
677
+ ❌ 支持所有可能的用例
678
+ ✅ 专注核心用例
679
+
680
+ ❌ 功能越多越好
681
+ ✅ 功能恰到好处
682
+ ```
683
+
684
+ ### 3. 细节决定成败
685
+
686
+ ```typescript
687
+ // Linear 对细节的关注
688
+
689
+ // 动画时长精确到毫秒
690
+ const ANIMATION_DURATION = 150 // ms
691
+
692
+ // 间距使用 4px 网格系统
693
+ const SPACING = {
694
+ xs: 4,
695
+ sm: 8,
696
+ md: 16,
697
+ lg: 24,
698
+ xl: 32
699
+ }
700
+
701
+ // 颜色有明确的语义
702
+ const COLORS = {
703
+ primary: '#5E6AD2',
704
+ success: '#0FA958',
705
+ warning: '#F2994A',
706
+ error: '#E5484D'
707
+ }
708
+ ```
709
+
710
+ ### 4. 用户体验无处不在
711
+
712
+ ```markdown
713
+ ## UX Checklist
714
+
715
+ - [ ] 加载状态(不让用户等待)
716
+ - [ ] 错误提示(清晰的错误信息)
717
+ - [ ] 空状态(引导用户开始使用)
718
+ - [ ] 快捷键(提升效率)
719
+ - [ ] 撤销操作(允许犯错)
720
+ - [ ] 乐观更新(即时反馈)
721
+ - [ ] 渐进增强(基础功能优先)
722
+ ```
723
+
724
+ ---
725
+
726
+ ## Command Options
727
+
728
+ - `--validate`:运行问题验证流程
729
+ - `--prioritize`:使用 RICE 框架排序
730
+ - `--focus-mode`:启动专注构建模式
731
+ - `--quality-check`:运行质量检查
732
+
733
+ ---
734
+
735
+ ## Success Metrics
736
+
737
+ - ✅ 功能采用率 > 30%
738
+ - ✅ 用户满意度 > 4.5/5
739
+ - ✅ 性能 P95 < 200ms
740
+ - ✅ 错误率 < 0.1%
741
+ - ✅ 技术债务保持低水平
742
+
743
+ ---
744
+
745
+ ## References
746
+
747
+ - Linear Blog: "How we build Linear"
748
+ - Linear Method: Product development philosophy
749
+ - Cal Newport - *Deep Work*
750
+ - Basecamp - *Shape Up*