cc-devflow 4.2.0 → 4.4.1

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 (559) hide show
  1. package/.claude/skills/cc-act/CHANGELOG.md +64 -0
  2. package/.claude/skills/cc-act/PLAYBOOK.md +212 -0
  3. package/.claude/skills/cc-act/SKILL.md +322 -0
  4. package/.claude/skills/cc-act/assets/PR_BRIEF_TEMPLATE.md +64 -0
  5. package/.claude/skills/cc-act/assets/RELEASE_NOTE_TEMPLATE.md +25 -0
  6. package/.claude/skills/cc-act/references/closure-contract.md +49 -0
  7. package/.claude/skills/cc-act/references/git-commit-guidelines.md +83 -0
  8. package/.claude/skills/cc-act/scripts/archive-requirement.sh +49 -0
  9. package/.claude/skills/cc-act/scripts/cc-act-common.sh +240 -0
  10. package/.claude/skills/cc-act/scripts/detect-ship-target.sh +82 -0
  11. package/.claude/skills/cc-act/scripts/generate-status-report.sh +83 -0
  12. package/.claude/skills/cc-act/scripts/render-pr-brief.sh +195 -0
  13. package/.claude/skills/cc-act/scripts/sync-act-docs.sh +315 -0
  14. package/.claude/skills/cc-act/scripts/verify-act-gate.sh +63 -0
  15. package/.claude/skills/cc-check/CHANGELOG.md +73 -0
  16. package/.claude/skills/cc-check/PLAYBOOK.md +153 -0
  17. package/.claude/skills/cc-check/SKILL.md +345 -0
  18. package/.claude/skills/cc-check/assets/REPORT_CARD_TEMPLATE.json +50 -0
  19. package/.claude/skills/cc-check/references/gate-contract.md +29 -0
  20. package/.claude/skills/cc-check/references/review-contract.md +45 -0
  21. package/.claude/skills/cc-check/scripts/render-report-card.js +229 -0
  22. package/.claude/skills/cc-check/scripts/run-quality-gates.sh +86 -0
  23. package/.claude/skills/cc-check/scripts/verify-gate.sh +57 -0
  24. package/.claude/skills/cc-do/CHANGELOG.md +49 -0
  25. package/.claude/skills/cc-do/PLAYBOOK.md +119 -0
  26. package/.claude/skills/cc-do/SKILL.md +216 -0
  27. package/.claude/skills/cc-do/references/execution-recovery.md +86 -0
  28. package/.claude/skills/cc-do/references/parallel-dispatch.md +80 -0
  29. package/.claude/skills/cc-do/scripts/build-task-context.sh +184 -0
  30. package/.claude/skills/cc-do/scripts/cc-do-common.sh +79 -0
  31. package/.claude/skills/cc-do/scripts/check-task-status.sh +92 -0
  32. package/.claude/skills/cc-do/scripts/detect-file-conflicts.sh +87 -0
  33. package/.claude/skills/cc-do/scripts/mark-task-complete.sh +119 -0
  34. package/.claude/skills/cc-do/scripts/record-review-decision.sh +89 -0
  35. package/.claude/skills/cc-do/scripts/recover-workflow.sh +84 -0
  36. package/.claude/skills/cc-do/scripts/run-problem-analysis.sh +70 -0
  37. package/.claude/skills/cc-do/scripts/select-ready-tasks.sh +135 -0
  38. package/.claude/skills/cc-do/scripts/verify-task-gates.sh +94 -0
  39. package/.claude/skills/cc-do/scripts/write-task-checkpoint.sh +102 -0
  40. package/.claude/skills/cc-investigate/CHANGELOG.md +26 -0
  41. package/.claude/skills/cc-investigate/PLAYBOOK.md +49 -0
  42. package/.claude/skills/cc-investigate/SKILL.md +221 -0
  43. package/.claude/skills/cc-investigate/assets/ANALYSIS_TEMPLATE.md +55 -0
  44. package/.claude/skills/cc-investigate/assets/TASKS_TEMPLATE.md +52 -0
  45. package/.claude/skills/cc-investigate/assets/TASK_MANIFEST_TEMPLATE.json +103 -0
  46. package/.claude/skills/cc-investigate/references/investigation-contract.md +28 -0
  47. package/.claude/skills/cc-investigate/scripts/bootstrap-analysis.sh +38 -0
  48. package/.claude/skills/cc-plan/CHANGELOG.md +99 -0
  49. package/.claude/skills/cc-plan/PLAYBOOK.md +106 -0
  50. package/.claude/skills/cc-plan/SKILL.md +325 -0
  51. package/.claude/skills/cc-plan/assets/DESIGN_TEMPLATE.md +155 -0
  52. package/.claude/skills/cc-plan/assets/TASKS_TEMPLATE.md +98 -0
  53. package/.claude/skills/cc-plan/assets/TASK_MANIFEST_TEMPLATE.json +108 -0
  54. package/.claude/skills/cc-plan/assets/TINY_DESIGN_TEMPLATE.md +79 -0
  55. package/.claude/skills/cc-plan/references/planning-contract.md +82 -0
  56. package/.claude/skills/cc-plan/scripts/bump-skill-version.sh +103 -0
  57. package/.claude/skills/cc-plan/scripts/parse-task-dependencies.js +75 -0
  58. package/.claude/skills/cc-plan/scripts/validate-scope.sh +78 -0
  59. package/.claude/skills/cc-roadmap/CHANGELOG.md +114 -0
  60. package/.claude/skills/cc-roadmap/PLAYBOOK.md +136 -0
  61. package/.claude/skills/cc-roadmap/SKILL.md +259 -0
  62. package/.claude/skills/cc-roadmap/assets/BACKLOG_TEMPLATE.md +45 -0
  63. package/.claude/skills/cc-roadmap/assets/ROADMAP_TEMPLATE.md +153 -0
  64. package/.claude/skills/cc-roadmap/assets/TRACKING_TEMPLATE.json +48 -0
  65. package/.claude/skills/cc-roadmap/references/roadmap-dialogue.md +37 -0
  66. package/.claude/skills/cc-roadmap/scripts/bump-skill-version.sh +103 -0
  67. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/markdown.js +604 -0
  68. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/query.js +63 -0
  69. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/schema.js +245 -0
  70. package/.claude/skills/cc-roadmap/scripts/lib/roadmap-tracking/store.js +139 -0
  71. package/.claude/skills/cc-roadmap/scripts/locate-roadmap-item.sh +109 -0
  72. package/.claude/skills/cc-roadmap/scripts/roadmap-tracking.js +153 -0
  73. package/.claude/skills/cc-roadmap/scripts/sync-roadmap-progress.sh +100 -0
  74. package/.claude/skills/cc-simplify/CHANGELOG.md +10 -0
  75. package/.claude/skills/cc-simplify/SKILL.md +55 -0
  76. package/.claude/skills/cc-spec-init/CHANGELOG.md +7 -0
  77. package/.claude/skills/cc-spec-init/PLAYBOOK.md +55 -0
  78. package/.claude/skills/cc-spec-init/SKILL.md +127 -0
  79. package/.claude/skills/cc-spec-init/assets/CAPABILITY_TEMPLATE.md +63 -0
  80. package/.claude/skills/cc-spec-init/assets/CHANGE_META_TEMPLATE.json +25 -0
  81. package/.claude/skills/cc-spec-init/assets/INDEX_TEMPLATE.md +34 -0
  82. package/.claude/skills/cc-spec-init/references/spec-contract.md +22 -0
  83. package/.claude/skills/cc-spec-init/scripts/bootstrap-specs.sh +31 -0
  84. package/.claude/skills/cc-spec-init/scripts/validate-spec-links.sh +45 -0
  85. package/CHANGELOG.md +101 -4
  86. package/README.md +120 -755
  87. package/README.zh-CN.md +119 -755
  88. package/bin/adapt.js +2 -6
  89. package/bin/cc-devflow-cli.js +72 -177
  90. package/config/distributable-skills.json +24 -0
  91. package/docs/CLAUDE.md +10 -6
  92. package/docs/commands/README.md +19 -46
  93. package/docs/commands/README.zh-CN.md +25 -48
  94. package/docs/examples/BY-ARTIFACT.md +7 -0
  95. package/docs/examples/README.md +38 -0
  96. package/docs/examples/START-HERE.md +149 -0
  97. package/docs/examples/example-bindings.json +38 -0
  98. package/docs/examples/full-design-blocked/BACKLOG.md +45 -0
  99. package/docs/examples/full-design-blocked/README.md +55 -0
  100. package/docs/examples/full-design-blocked/ROADMAP.md +53 -0
  101. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/design.md +154 -0
  102. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/task-manifest.json +146 -0
  103. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/planning/tasks.md +78 -0
  104. package/docs/examples/full-design-blocked/changes/REQ-002-bulk-invite-import/review/report-card.json +52 -0
  105. package/docs/examples/full-design-blocked/roadmap-tracking.json +50 -0
  106. package/docs/examples/local-handoff/BACKLOG.md +45 -0
  107. package/docs/examples/local-handoff/README.md +56 -0
  108. package/docs/examples/local-handoff/ROADMAP.md +45 -0
  109. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/resume-index.md +39 -0
  110. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/handoff/status.md +29 -0
  111. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/design.md +71 -0
  112. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/task-manifest.json +98 -0
  113. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/planning/tasks.md +59 -0
  114. package/docs/examples/local-handoff/changes/REQ-003-audit-log-export/review/report-card.json +44 -0
  115. package/docs/examples/local-handoff/roadmap-tracking.json +48 -0
  116. package/docs/examples/pdca-loop/BACKLOG.md +46 -0
  117. package/docs/examples/pdca-loop/README.md +58 -0
  118. package/docs/examples/pdca-loop/ROADMAP.md +133 -0
  119. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/pr-brief.md +72 -0
  120. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/handoff/status.md +29 -0
  121. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/design.md +72 -0
  122. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/task-manifest.json +201 -0
  123. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/planning/tasks.md +73 -0
  124. package/docs/examples/pdca-loop/changes/REQ-001-copy-invite-link/review/report-card.json +44 -0
  125. package/docs/examples/pdca-loop/roadmap-tracking.json +114 -0
  126. package/docs/examples/scripts/check-example-bindings.sh +116 -0
  127. package/docs/guides/getting-started.md +94 -129
  128. package/docs/guides/getting-started.zh-CN.md +103 -84
  129. package/docs/skill-runtime-migration.md +46 -0
  130. package/docs/v4.3.0-migration-guide.md +111 -0
  131. package/lib/compiler/CLAUDE.md +55 -84
  132. package/lib/compiler/__tests__/drift.test.js +1 -1
  133. package/lib/compiler/__tests__/errors.test.js +0 -1
  134. package/lib/compiler/__tests__/integration.test.js +49 -3
  135. package/lib/compiler/__tests__/manifest.test.js +0 -156
  136. package/lib/compiler/__tests__/parser.test.js +33 -104
  137. package/lib/compiler/__tests__/schemas.test.js +30 -34
  138. package/lib/compiler/__tests__/skills-registry.test.js +114 -0
  139. package/lib/compiler/__tests__/transformer.test.js +5 -9
  140. package/lib/compiler/emitters/antigravity-emitter.js +5 -213
  141. package/lib/compiler/emitters/base-emitter.js +3 -298
  142. package/lib/compiler/emitters/codex-emitter.js +4 -202
  143. package/lib/compiler/emitters/cursor-emitter.js +3 -287
  144. package/lib/compiler/emitters/qwen-emitter.js +4 -176
  145. package/lib/compiler/index.js +65 -345
  146. package/lib/compiler/manifest.js +6 -68
  147. package/lib/compiler/parser.js +31 -63
  148. package/lib/compiler/platforms.js +32 -277
  149. package/lib/compiler/resource-copier.js +176 -6
  150. package/lib/compiler/rules-emitters/__tests__/antigravity-rules-emitter.test.js +3 -3
  151. package/lib/compiler/rules-emitters/__tests__/cursor-rules-emitter.test.js +14 -4
  152. package/lib/compiler/rules-emitters/__tests__/qwen-rules-emitter.test.js +16 -7
  153. package/lib/compiler/rules-emitters/antigravity-rules-emitter.js +10 -15
  154. package/lib/compiler/rules-emitters/base-rules-emitter.js +5 -5
  155. package/lib/compiler/rules-emitters/cursor-rules-emitter.js +7 -12
  156. package/lib/compiler/rules-emitters/index.js +6 -3
  157. package/lib/compiler/rules-emitters/qwen-rules-emitter.js +7 -7
  158. package/lib/compiler/schemas.js +8 -4
  159. package/lib/compiler/skills-registry.js +213 -15
  160. package/lib/compiler/transformer.js +1 -1
  161. package/lib/skill-runtime/CLAUDE.md +19 -0
  162. package/lib/skill-runtime/__tests__/autopilot.test.js +210 -0
  163. package/lib/skill-runtime/__tests__/cli-bootstrap.integration.test.js +181 -0
  164. package/lib/skill-runtime/__tests__/delegation.test.js +97 -0
  165. package/lib/skill-runtime/__tests__/dispatch.test.js +267 -0
  166. package/lib/skill-runtime/__tests__/intent.test.js +219 -0
  167. package/lib/skill-runtime/__tests__/lifecycle.test.js +169 -0
  168. package/lib/skill-runtime/__tests__/paths.test.js +42 -0
  169. package/lib/skill-runtime/__tests__/planner.tdd.test.js +250 -0
  170. package/lib/skill-runtime/__tests__/prepare-pr.test.js +139 -0
  171. package/lib/skill-runtime/__tests__/query.test.js +284 -0
  172. package/lib/skill-runtime/__tests__/runtime.integration.test.js +279 -0
  173. package/lib/skill-runtime/__tests__/schemas.test.js +207 -0
  174. package/lib/skill-runtime/__tests__/team-state.test.js +51 -0
  175. package/lib/skill-runtime/__tests__/worker-run.test.js +253 -0
  176. package/lib/skill-runtime/__tests__/worker.test.js +56 -0
  177. package/lib/skill-runtime/artifacts.js +93 -0
  178. package/lib/skill-runtime/delegation.js +533 -0
  179. package/lib/skill-runtime/index.js +34 -0
  180. package/lib/skill-runtime/intent.js +333 -0
  181. package/lib/skill-runtime/lifecycle.js +294 -0
  182. package/lib/skill-runtime/operations/CLAUDE.md +19 -0
  183. package/lib/skill-runtime/operations/approve.js +66 -0
  184. package/lib/skill-runtime/operations/autopilot-core.js +337 -0
  185. package/lib/skill-runtime/operations/autopilot-execution.js +307 -0
  186. package/lib/skill-runtime/operations/autopilot-shared.js +48 -0
  187. package/lib/skill-runtime/operations/autopilot.js +163 -0
  188. package/lib/skill-runtime/operations/dispatch.js +454 -0
  189. package/lib/skill-runtime/operations/init.js +64 -0
  190. package/lib/{harness → skill-runtime}/operations/janitor.js +9 -6
  191. package/lib/skill-runtime/operations/plan.js +59 -0
  192. package/lib/skill-runtime/operations/prepare-pr.js +25 -0
  193. package/lib/{harness → skill-runtime}/operations/release.js +18 -5
  194. package/lib/skill-runtime/operations/resume.js +143 -0
  195. package/lib/skill-runtime/operations/snapshot.js +45 -0
  196. package/lib/skill-runtime/operations/verify.js +170 -0
  197. package/lib/skill-runtime/operations/worker-run.js +529 -0
  198. package/lib/skill-runtime/operations/worker.js +33 -0
  199. package/lib/skill-runtime/paths.js +213 -0
  200. package/lib/skill-runtime/planner.js +519 -0
  201. package/lib/skill-runtime/query.js +157 -0
  202. package/lib/skill-runtime/review.js +557 -0
  203. package/lib/skill-runtime/schemas.js +400 -0
  204. package/lib/{harness → skill-runtime}/store.js +45 -30
  205. package/lib/skill-runtime/team-state.js +122 -0
  206. package/package.json +13 -11
  207. package/.claude/CLAUDE.md +0 -125
  208. package/.claude/agents/architecture-designer.md +0 -443
  209. package/.claude/agents/bug-analyzer.md +0 -381
  210. package/.claude/agents/checklist-agent.md +0 -175
  211. package/.claude/agents/clarify-analyst.md +0 -50
  212. package/.claude/agents/code-quality-reviewer.md +0 -205
  213. package/.claude/agents/code-reviewer.md +0 -71
  214. package/.claude/agents/codex-analyzer.md +0 -39
  215. package/.claude/agents/compatibility-checker.md +0 -579
  216. package/.claude/agents/consistency-checker.md +0 -532
  217. package/.claude/agents/dev-implementer.md +0 -195
  218. package/.claude/agents/flow-researcher.md +0 -132
  219. package/.claude/agents/impact-analyzer.md +0 -440
  220. package/.claude/agents/planner.md +0 -230
  221. package/.claude/agents/prd-writer.md +0 -320
  222. package/.claude/agents/project-guidelines-generator.md +0 -1329
  223. package/.claude/agents/qa-tester.md +0 -313
  224. package/.claude/agents/release-manager.md +0 -295
  225. package/.claude/agents/security-reviewer.md +0 -314
  226. package/.claude/agents/spec-reviewer.md +0 -221
  227. package/.claude/agents/style-guide-generator.md +0 -458
  228. package/.claude/agents/tech-architect.md +0 -516
  229. package/.claude/agents/ui-designer.md +0 -485
  230. package/.claude/commands/core/architecture.md +0 -459
  231. package/.claude/commands/core/guidelines.md +0 -511
  232. package/.claude/commands/core/roadmap.md +0 -468
  233. package/.claude/commands/core/style.md +0 -83
  234. package/.claude/commands/flow/CLAUDE.md +0 -28
  235. package/.claude/commands/flow/archive.md +0 -280
  236. package/.claude/commands/flow/checklist.md +0 -18
  237. package/.claude/commands/flow/clarify.md +0 -18
  238. package/.claude/commands/flow/constitution.md +0 -82
  239. package/.claude/commands/flow/context.md +0 -150
  240. package/.claude/commands/flow/delta.md +0 -245
  241. package/.claude/commands/flow/dev.md +0 -40
  242. package/.claude/commands/flow/fix.md +0 -217
  243. package/.claude/commands/flow/ideate.md +0 -214
  244. package/.claude/commands/flow/init.md +0 -38
  245. package/.claude/commands/flow/new.md +0 -23
  246. package/.claude/commands/flow/quality.md +0 -21
  247. package/.claude/commands/flow/release.md +0 -36
  248. package/.claude/commands/flow/restart.md +0 -97
  249. package/.claude/commands/flow/spec.md +0 -36
  250. package/.claude/commands/flow/status.md +0 -64
  251. package/.claude/commands/flow/update.md +0 -111
  252. package/.claude/commands/flow/upgrade.md +0 -115
  253. package/.claude/commands/flow/verify.md +0 -37
  254. package/.claude/commands/flow/workspace.md +0 -155
  255. package/.claude/commands/util/cancel-ralph.md +0 -60
  256. package/.claude/commands/util/code-review.md +0 -58
  257. package/.claude/commands/util/git-commit.md +0 -422
  258. package/.claude/commands/util/problem-analyzer.md +0 -60
  259. package/.claude/config/quality-gates.yml +0 -305
  260. package/.claude/config/quality-rules.yml +0 -161
  261. package/.claude/docs/SPEC_KIT_CONSTITUTION_ANALYSIS.md +0 -426
  262. package/.claude/docs/design/consistency-conflict-detection-algorithms.md +0 -658
  263. package/.claude/docs/design/intent-driven-input-design.md +0 -380
  264. package/.claude/docs/design/prd-version-management-design.md +0 -437
  265. package/.claude/docs/guides/INIT_TROUBLESHOOTING.md +0 -117
  266. package/.claude/docs/guides/NEW_TROUBLESHOOTING.md +0 -99
  267. package/.claude/docs/guides/ROADMAP_TROUBLESHOOTING.md +0 -188
  268. package/.claude/docs/guides/TASK_COMPLETION_MARKING.md +0 -338
  269. package/.claude/docs/guides/TEAM_MODE_GUIDE.md +0 -312
  270. package/.claude/docs/templates/ARCHITECTURE_TEMPLATE.md +0 -633
  271. package/.claude/docs/templates/ATTEMPT_TEMPLATE.md +0 -156
  272. package/.claude/docs/templates/BACKLOG_TEMPLATE.md +0 -261
  273. package/.claude/docs/templates/BRAINSTORM_TEMPLATE.md +0 -148
  274. package/.claude/docs/templates/CHECKLIST_TEMPLATE.md +0 -52
  275. package/.claude/docs/templates/CLARIFICATION_REPORT_TEMPLATE.md +0 -206
  276. package/.claude/docs/templates/CODE_REVIEW_TEMPLATE.md +0 -71
  277. package/.claude/docs/templates/DELTA_SPEC_TEMPLATE.md +0 -91
  278. package/.claude/docs/templates/DESIGN_DECISIONS_TEMPLATE.md +0 -151
  279. package/.claude/docs/templates/EPIC_TEMPLATE.md +0 -805
  280. package/.claude/docs/templates/ERROR_LOG_TEMPLATE.md +0 -80
  281. package/.claude/docs/templates/INIT_FLOW_TEMPLATE.md +0 -198
  282. package/.claude/docs/templates/INTENT_CLARIFICATION_TEMPLATE.md +0 -57
  283. package/.claude/docs/templates/JOURNAL_TEMPLATE.md +0 -75
  284. package/.claude/docs/templates/NEW_ORCHESTRATION_TEMPLATE.md +0 -76
  285. package/.claude/docs/templates/PRD_TEMPLATE.md +0 -562
  286. package/.claude/docs/templates/RESEARCH_TEMPLATE.md +0 -276
  287. package/.claude/docs/templates/REVIEW-HIGH.md +0 -57
  288. package/.claude/docs/templates/ROADMAP_DIALOGUE_TEMPLATE.md +0 -198
  289. package/.claude/docs/templates/ROADMAP_TEMPLATE.md +0 -310
  290. package/.claude/docs/templates/STYLE_TEMPLATE.md +0 -1266
  291. package/.claude/docs/templates/TASKS_TEMPLATE.md +0 -523
  292. package/.claude/docs/templates/TECH_DESIGN_TEMPLATE.md +0 -1019
  293. package/.claude/docs/templates/UI_PROTOTYPE_TEMPLATE.md +0 -1435
  294. package/.claude/docs/templates/_shared/CLAUDE.md +0 -36
  295. package/.claude/docs/templates/_shared/CONSTITUTION_CHECK.md +0 -125
  296. package/.claude/docs/templates/_shared/VALIDATION_CHECKLIST.md +0 -187
  297. package/.claude/docs/templates/_shared/YAML_FRONTMATTER.md +0 -164
  298. package/.claude/docs/templates/context/dev.jsonl.template +0 -6
  299. package/.claude/docs/templates/context/epic.jsonl.template +0 -5
  300. package/.claude/docs/templates/context/prd.jsonl.template +0 -4
  301. package/.claude/docs/templates/context/research.jsonl.template +0 -4
  302. package/.claude/docs/templates/context/review.jsonl.template +0 -5
  303. package/.claude/docs/templates/context/tech.jsonl.template +0 -5
  304. package/.claude/guides/agent-guides/agent-coordination-guide.md +0 -459
  305. package/.claude/guides/project-guidelines-system.md +0 -463
  306. package/.claude/guides/technical-guides/datetime-handling-guide.md +0 -563
  307. package/.claude/guides/technical-guides/git-github-guide.md +0 -642
  308. package/.claude/guides/technical-guides/test-execution-guide.md +0 -618
  309. package/.claude/guides/workflow-guides/bug-fix-orchestrator.md +0 -217
  310. package/.claude/guides/workflow-guides/flow-orchestrator.md +0 -48
  311. package/.claude/hooks/CLAUDE.md +0 -342
  312. package/.claude/hooks/checklist-gate.js +0 -397
  313. package/.claude/hooks/error-handling-reminder.sh +0 -12
  314. package/.claude/hooks/error-handling-reminder.ts +0 -459
  315. package/.claude/hooks/hooks.json +0 -15
  316. package/.claude/hooks/inject-agent-context.ts +0 -480
  317. package/.claude/hooks/inject-skill-context.ts +0 -359
  318. package/.claude/hooks/post-tool-use-tracker.sh +0 -280
  319. package/.claude/hooks/pre-tool-use-guardrail.sh +0 -36
  320. package/.claude/hooks/pre-tool-use-guardrail.ts +0 -342
  321. package/.claude/hooks/ralph-loop.ts +0 -931
  322. package/.claude/hooks/ralph-stop-hook.sh +0 -190
  323. package/.claude/hooks/skill-activation-prompt.sh +0 -36
  324. package/.claude/hooks/skill-activation-prompt.ts +0 -214
  325. package/.claude/hooks/state/skills-used-test-guard.json +0 -3
  326. package/.claude/hooks/task-completed-hook.ts +0 -593
  327. package/.claude/hooks/teammate-idle-hook.ts +0 -690
  328. package/.claude/hooks/types/team-types.d.ts +0 -238
  329. package/.claude/rules/devflow-conventions.md +0 -286
  330. package/.claude/rules/project-constitution.md +0 -1002
  331. package/.claude/rules/rationalization-library.md +0 -282
  332. package/.claude/schemas/constitution.schema.json +0 -43
  333. package/.claude/scripts/CLAUDE.md +0 -76
  334. package/.claude/scripts/analyze-upgrade-impact.sh +0 -200
  335. package/.claude/scripts/archive-requirement.sh +0 -394
  336. package/.claude/scripts/calculate-checklist-completion.sh +0 -243
  337. package/.claude/scripts/calculate-quarter.sh +0 -206
  338. package/.claude/scripts/check-dependencies.sh +0 -409
  339. package/.claude/scripts/check-prerequisites.sh +0 -232
  340. package/.claude/scripts/check-task-status.sh +0 -288
  341. package/.claude/scripts/checklist-errors.sh +0 -131
  342. package/.claude/scripts/common.sh +0 -1102
  343. package/.claude/scripts/consolidate-research.sh +0 -182
  344. package/.claude/scripts/create-requirement.sh +0 -451
  345. package/.claude/scripts/delta-parser.ts +0 -527
  346. package/.claude/scripts/detect-file-conflicts.sh +0 -151
  347. package/.claude/scripts/export-contracts.sh +0 -117
  348. package/.claude/scripts/extract-data-model.sh +0 -78
  349. package/.claude/scripts/flow-context-add.sh +0 -134
  350. package/.claude/scripts/flow-context-init.sh +0 -133
  351. package/.claude/scripts/flow-context-validate.sh +0 -144
  352. package/.claude/scripts/flow-delta-apply.sh +0 -297
  353. package/.claude/scripts/flow-delta-archive.sh +0 -71
  354. package/.claude/scripts/flow-delta-create.sh +0 -202
  355. package/.claude/scripts/flow-delta-list.sh +0 -142
  356. package/.claude/scripts/flow-delta-status.sh +0 -235
  357. package/.claude/scripts/flow-quality-full.sh +0 -215
  358. package/.claude/scripts/flow-quality-quick.sh +0 -119
  359. package/.claude/scripts/flow-workspace-init.sh +0 -117
  360. package/.claude/scripts/flow-workspace-record.sh +0 -164
  361. package/.claude/scripts/generate-clarification-questions.sh +0 -377
  362. package/.claude/scripts/generate-clarification-report.sh +0 -463
  363. package/.claude/scripts/generate-quickstart.sh +0 -146
  364. package/.claude/scripts/generate-research-tasks.sh +0 -157
  365. package/.claude/scripts/generate-status-report.sh +0 -523
  366. package/.claude/scripts/generate-tech-analysis.sh +0 -46
  367. package/.claude/scripts/get-workflow-status.sh +0 -415
  368. package/.claude/scripts/locate-requirement-in-roadmap.sh +0 -233
  369. package/.claude/scripts/manage-constitution.sh +0 -602
  370. package/.claude/scripts/mark-task-complete.sh +0 -198
  371. package/.claude/scripts/parse-task-dependencies.js +0 -334
  372. package/.claude/scripts/populate-research-tasks.sh +0 -284
  373. package/.claude/scripts/record-quality-error.sh +0 -165
  374. package/.claude/scripts/recover-workflow.sh +0 -463
  375. package/.claude/scripts/run-clarify-scan.sh +0 -601
  376. package/.claude/scripts/run-high-review.sh +0 -62
  377. package/.claude/scripts/run-problem-analysis.sh +0 -68
  378. package/.claude/scripts/run-quality-gates.sh +0 -242
  379. package/.claude/scripts/setup-epic.sh +0 -173
  380. package/.claude/scripts/setup-ralph-loop.sh +0 -155
  381. package/.claude/scripts/sync-roadmap-progress.sh +0 -300
  382. package/.claude/scripts/sync-task-marks.sh +0 -199
  383. package/.claude/scripts/team-dev-init.sh +0 -319
  384. package/.claude/scripts/team-state-recovery.sh +0 -229
  385. package/.claude/scripts/test-clarify-scan.sh +0 -515
  386. package/.claude/scripts/update-agent-context.sh +0 -806
  387. package/.claude/scripts/validate-constitution.sh +0 -567
  388. package/.claude/scripts/validate-hooks.sh +0 -487
  389. package/.claude/scripts/validate-research.sh +0 -332
  390. package/.claude/scripts/validate-scope-boundary.sh +0 -493
  391. package/.claude/scripts/verify-gate.sh +0 -269
  392. package/.claude/scripts/verify-setup.sh +0 -37
  393. package/.claude/scripts/workflow-status.ts +0 -433
  394. package/.claude/settings.json +0 -95
  395. package/.claude/skills/_reference-implementations/README.md +0 -96
  396. package/.claude/skills/_reference-implementations/backend-express-prisma/SKILL.md +0 -302
  397. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/architecture-overview.md +0 -451
  398. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/async-and-errors.md +0 -307
  399. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/complete-examples.md +0 -638
  400. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/configuration.md +0 -275
  401. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/database-patterns.md +0 -224
  402. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/middleware-guide.md +0 -213
  403. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/routing-and-controllers.md +0 -756
  404. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/sentry-and-monitoring.md +0 -336
  405. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/services-and-repositories.md +0 -789
  406. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/testing-guide.md +0 -235
  407. package/.claude/skills/_reference-implementations/backend-express-prisma/resources/validation-patterns.md +0 -754
  408. package/.claude/skills/_reference-implementations/frontend-react-mui/SKILL.md +0 -399
  409. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/common-patterns.md +0 -331
  410. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/complete-examples.md +0 -872
  411. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/component-patterns.md +0 -502
  412. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/data-fetching.md +0 -767
  413. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/file-organization.md +0 -502
  414. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/loading-and-error-states.md +0 -501
  415. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/performance.md +0 -406
  416. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/routing-guide.md +0 -364
  417. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/styling-guide.md +0 -428
  418. package/.claude/skills/_reference-implementations/frontend-react-mui/resources/typescript-standards.md +0 -418
  419. package/.claude/skills/cc-devflow-orchestrator/SKILL.md +0 -169
  420. package/.claude/skills/domain/attention-refresh/SKILL.md +0 -170
  421. package/.claude/skills/domain/brainstorming/SKILL.md +0 -161
  422. package/.claude/skills/domain/debugging/SKILL.md +0 -221
  423. package/.claude/skills/domain/finishing-branch/SKILL.md +0 -189
  424. package/.claude/skills/domain/receiving-review/SKILL.md +0 -153
  425. package/.claude/skills/domain/tdd/SKILL.md +0 -218
  426. package/.claude/skills/domain/verification/SKILL.md +0 -158
  427. package/.claude/skills/guardrail/constitution-guardian/SKILL.md +0 -306
  428. package/.claude/skills/guardrail/tdd-enforcer/SKILL.md +0 -192
  429. package/.claude/skills/skill-rules.json +0 -359
  430. package/.claude/skills/utility/constitution-quick-ref/SKILL.md +0 -374
  431. package/.claude/skills/utility/file-standards/SKILL.md +0 -353
  432. package/.claude/skills/utility/fractal-docs/SKILL.md +0 -45
  433. package/.claude/skills/utility/journey-checker/SKILL.md +0 -199
  434. package/.claude/skills/utility/journey-checker/pressure-scenarios.md +0 -164
  435. package/.claude/skills/utility/npm-release/SKILL.md +0 -314
  436. package/.claude/skills/utility/skill-creator/LICENSE.txt +0 -202
  437. package/.claude/skills/utility/skill-creator/SKILL.md +0 -356
  438. package/.claude/skills/utility/skill-creator/references/output-patterns.md +0 -82
  439. package/.claude/skills/utility/skill-creator/references/workflows.md +0 -28
  440. package/.claude/skills/utility/skill-creator/scripts/init_skill.py +0 -303
  441. package/.claude/skills/utility/skill-creator/scripts/package_skill.py +0 -110
  442. package/.claude/skills/utility/skill-creator/scripts/quick_validate.py +0 -95
  443. package/.claude/skills/workflow/CLAUDE.md +0 -24
  444. package/.claude/skills/workflow/flow-dev/CLAUDE.md +0 -16
  445. package/.claude/skills/workflow/flow-dev/SKILL.md +0 -94
  446. package/.claude/skills/workflow/flow-dev/assets/IMPLEMENTATION_PLAN_TEMPLATE.md +0 -71
  447. package/.claude/skills/workflow/flow-dev/context.jsonl +0 -4
  448. package/.claude/skills/workflow/flow-dev/dev-implementer.jsonl +0 -8
  449. package/.claude/skills/workflow/flow-dev/scripts/entry-gate.sh +0 -116
  450. package/.claude/skills/workflow/flow-dev/scripts/exit-gate.sh +0 -101
  451. package/.claude/skills/workflow/flow-dev/scripts/task-orchestrator.sh +0 -106
  452. package/.claude/skills/workflow/flow-fix/SKILL.md +0 -105
  453. package/.claude/skills/workflow/flow-fix/context.jsonl +0 -6
  454. package/.claude/skills/workflow/flow-fix/references/bug-analyzer.md +0 -381
  455. package/.claude/skills/workflow/flow-init/SKILL.md +0 -84
  456. package/.claude/skills/workflow/flow-init/assets/BRAINSTORM_TEMPLATE.md +0 -148
  457. package/.claude/skills/workflow/flow-init/assets/INIT_FLOW_TEMPLATE.md +0 -198
  458. package/.claude/skills/workflow/flow-init/assets/RESEARCH_TEMPLATE.md +0 -276
  459. package/.claude/skills/workflow/flow-init/context.jsonl +0 -5
  460. package/.claude/skills/workflow/flow-init/references/flow-researcher.md +0 -132
  461. package/.claude/skills/workflow/flow-init/scripts/check-prerequisites.sh +0 -240
  462. package/.claude/skills/workflow/flow-init/scripts/consolidate-research.sh +0 -182
  463. package/.claude/skills/workflow/flow-init/scripts/create-requirement.sh +0 -404
  464. package/.claude/skills/workflow/flow-init/scripts/generate-research-tasks.sh +0 -157
  465. package/.claude/skills/workflow/flow-init/scripts/populate-research-tasks.sh +0 -284
  466. package/.claude/skills/workflow/flow-init/scripts/validate-research.sh +0 -340
  467. package/.claude/skills/workflow/flow-quality/SKILL.md +0 -98
  468. package/.claude/skills/workflow/flow-quality/context.jsonl +0 -6
  469. package/.claude/skills/workflow/flow-quality/references/code-quality-reviewer.md +0 -205
  470. package/.claude/skills/workflow/flow-quality/references/qa-tester.md +0 -313
  471. package/.claude/skills/workflow/flow-quality/references/security-reviewer.md +0 -314
  472. package/.claude/skills/workflow/flow-quality/references/spec-reviewer.md +0 -221
  473. package/.claude/skills/workflow/flow-release/SKILL.md +0 -49
  474. package/.claude/skills/workflow/flow-release/context.jsonl +0 -5
  475. package/.claude/skills/workflow/flow-release/references/release-manager.md +0 -295
  476. package/.claude/skills/workflow/flow-spec/CLAUDE.md +0 -17
  477. package/.claude/skills/workflow/flow-spec/SKILL.md +0 -74
  478. package/.claude/skills/workflow/flow-spec/context.jsonl +0 -5
  479. package/.claude/skills/workflow/flow-spec/scripts/entry-gate.sh +0 -194
  480. package/.claude/skills/workflow/flow-spec/scripts/exit-gate.sh +0 -244
  481. package/.claude/skills/workflow/flow-spec/scripts/parallel-orchestrator.sh +0 -205
  482. package/.claude/skills/workflow/flow-spec/scripts/team-communication.sh +0 -353
  483. package/.claude/skills/workflow/flow-spec/scripts/team-init.sh +0 -195
  484. package/.claude/skills/workflow/flow-spec/scripts/test-team-mode.sh +0 -496
  485. package/.claude/skills/workflow/flow-spec/team-config.json +0 -165
  486. package/.claude/skills/workflow/flow-verify/CLAUDE.md +0 -10
  487. package/.claude/skills/workflow/flow-verify/SKILL.md +0 -53
  488. package/.claude/skills/workflow/flow-verify/context.jsonl +0 -5
  489. package/.claude/skills/workflow.yaml +0 -219
  490. package/.claude/tests/README.md +0 -300
  491. package/.claude/tests/TODO.md +0 -69
  492. package/.claude/tests/__pycache__/test_analyze_upgrade_impact.cpython-311-pytest-7.2.2.pyc +0 -0
  493. package/.claude/tests/__pycache__/test_consolidate_research.cpython-311-pytest-7.2.2.pyc +0 -0
  494. package/.claude/tests/__pycache__/test_export_contracts.cpython-311-pytest-7.2.2.pyc +0 -0
  495. package/.claude/tests/__pycache__/test_extract_data_model.cpython-311-pytest-7.2.2.pyc +0 -0
  496. package/.claude/tests/__pycache__/test_generate_quickstart.cpython-311-pytest-7.2.2.pyc +0 -0
  497. package/.claude/tests/__pycache__/test_generate_research_tasks.cpython-311-pytest-7.2.2.pyc +0 -0
  498. package/.claude/tests/constitution/run_all_constitution_tests.sh +0 -111
  499. package/.claude/tests/constitution/test_agent_assignment.sh +0 -207
  500. package/.claude/tests/constitution/test_article_coverage.sh +0 -201
  501. package/.claude/tests/constitution/test_template_completeness.sh +0 -150
  502. package/.claude/tests/constitution/test_version_consistency.sh +0 -120
  503. package/.claude/tests/fixtures/spec_delta_full.md +0 -16
  504. package/.claude/tests/fixtures/tasks_progress_sample.md +0 -5
  505. package/.claude/tests/run-all-tests.sh +0 -229
  506. package/.claude/tests/scripts/run.sh +0 -30
  507. package/.claude/tests/scripts/test-framework.sh +0 -128
  508. package/.claude/tests/scripts/test_check_prerequisites.sh +0 -511
  509. package/.claude/tests/scripts/test_check_prerequisites.sh.bak +0 -504
  510. package/.claude/tests/scripts/test_check_prerequisites.sh.bak2 +0 -505
  511. package/.claude/tests/scripts/test_check_prerequisites.sh.bak3 +0 -506
  512. package/.claude/tests/scripts/test_check_prerequisites.sh.bak4 +0 -507
  513. package/.claude/tests/scripts/test_check_prerequisites.sh.bak5 +0 -508
  514. package/.claude/tests/scripts/test_check_task_status.sh +0 -499
  515. package/.claude/tests/scripts/test_common.sh +0 -244
  516. package/.claude/tests/scripts/test_generate_status_report.sh +0 -71
  517. package/.claude/tests/scripts/test_mark_task_complete.sh +0 -441
  518. package/.claude/tests/scripts/test_mark_task_complete.sh.backup +0 -410
  519. package/.claude/tests/scripts/test_recover_workflow.sh +0 -304
  520. package/.claude/tests/scripts/test_setup_epic.sh +0 -437
  521. package/.claude/tests/scripts/test_sync_task_marks.sh +0 -196
  522. package/.claude/tests/scripts/test_validate_constitution.sh +0 -74
  523. package/.claude/tests/scripts/test_validate_research.sh +0 -462
  524. package/.claude/tests/slugify.bats +0 -82
  525. package/.claude/tests/test-framework.sh +0 -732
  526. package/.claude/tests/test_analyze_upgrade_impact.py +0 -34
  527. package/.claude/tests/test_consolidate_research.py +0 -48
  528. package/.claude/tests/test_export_contracts.py +0 -43
  529. package/.claude/tests/test_extract_data_model.py +0 -33
  530. package/.claude/tests/test_generate_quickstart.py +0 -50
  531. package/.claude/tests/test_generate_research_tasks.py +0 -52
  532. package/bin/harness.js +0 -22
  533. package/docs/commands/core-roadmap.md +0 -106
  534. package/docs/commands/core-roadmap.zh-CN.md +0 -102
  535. package/docs/commands/core-style.md +0 -53
  536. package/docs/commands/core-style.zh-CN.md +0 -53
  537. package/docs/commands/flow-init.md +0 -140
  538. package/docs/commands/flow-init.zh-CN.md +0 -169
  539. package/docs/commands/flow-new.md +0 -39
  540. package/docs/commands/flow-new.zh-CN.md +0 -39
  541. package/lib/compiler/__tests__/compile-regression.test.js +0 -103
  542. package/lib/compiler/__tests__/multi-module-emitters.test.js +0 -534
  543. package/lib/compiler/__tests__/resource-copier.test.js +0 -26
  544. package/lib/compiler/__tests__/skill-discovery.test.js +0 -72
  545. package/lib/compiler/context-expander.js +0 -179
  546. package/lib/compiler/rules-emitters/__tests__/codex-rules-emitter.test.js +0 -109
  547. package/lib/compiler/rules-emitters/codex-rules-emitter.js +0 -116
  548. package/lib/compiler/skill-discovery.js +0 -68
  549. package/lib/harness/CLAUDE.md +0 -21
  550. package/lib/harness/cli.js +0 -208
  551. package/lib/harness/index.js +0 -16
  552. package/lib/harness/operations/dispatch.js +0 -285
  553. package/lib/harness/operations/init.js +0 -48
  554. package/lib/harness/operations/pack.js +0 -100
  555. package/lib/harness/operations/plan.js +0 -29
  556. package/lib/harness/operations/resume.js +0 -44
  557. package/lib/harness/operations/verify.js +0 -163
  558. package/lib/harness/planner.js +0 -141
  559. package/lib/harness/schemas.js +0 -108
@@ -1,1266 +0,0 @@
1
- ---
2
- template_name: STYLE_TEMPLATE
3
- version: 1.0.0
4
- description: Template for generating project-level design style guide (STYLE.md)
5
- last_updated: 2025-11-09 北京时间
6
- ---
7
-
8
- # Design Style Guide - {Project Name}
9
-
10
- > 项目设计风格指南 - 视觉一致性的唯一真理源(SSOT)
11
-
12
- ---
13
-
14
- ## 📋 Overview
15
-
16
- ### 设计系统信息
17
- - **名称**: {Design System Name}
18
- - **版本**: {Version, e.g., 1.0.0}
19
- - **创建时间**: {YYYY-MM-DD 北京时间}
20
- - **最后更新**: {YYYY-MM-DD 北京时间}
21
-
22
- ### 设计理念
23
- {简要描述设计系统的核心价值和设计理念,2-3 句话}
24
-
25
- 例如:
26
- > 我们的设计系统以"简洁、高效、可访问"为核心,追求极致的用户体验和开发者体验。所有组件遵循一致的视觉语言,确保产品的专业度和易用性。
27
-
28
- ### 适用范围
29
- - ✅ 所有 Web 应用界面(Desktop, Tablet, Mobile)
30
- - ✅ 所有前端组件库
31
- - ✅ 所有 UI 原型设计
32
- - ❌ 营销材料(使用独立的品牌指南)
33
-
34
- ### 更新历史
35
- - **v1.0.0** (YYYY-MM-DD): 初始版本,建立核心设计系统
36
- - **v1.1.0** (YYYY-MM-DD): 新增暗色模式支持
37
- - (记录每次更新的版本号、日期、变更内容)
38
-
39
- ---
40
-
41
- ## 🎨 Color Palette
42
-
43
- ### 主色(Primary)
44
- 主色用于主要操作、品牌强调、关键 CTA 等。
45
-
46
- | 等级 | Hex | RGB | HSL | 使用场景 |
47
- |------|-----|-----|-----|----------|
48
- | Primary 50 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 主色浅背景 |
49
- | Primary 100 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | Hover 状态 |
50
- | Primary 500 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 主色(默认) |
51
- | Primary 600 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | Active 状态 |
52
- | Primary 900 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 主色深背景 |
53
-
54
- **CSS Variables**:
55
- ```css
56
- :root {
57
- --color-primary-50: {#XXXXXX};
58
- --color-primary-100: {#XXXXXX};
59
- --color-primary-500: {#XXXXXX};
60
- --color-primary-600: {#XXXXXX};
61
- --color-primary-900: {#XXXXXX};
62
-
63
- /* 语义化别名 */
64
- --color-primary: var(--color-primary-500);
65
- --color-primary-hover: var(--color-primary-600);
66
- --color-primary-active: var(--color-primary-700);
67
- }
68
- ```
69
-
70
- **Tailwind Config** (如适用):
71
- ```js
72
- module.exports = {
73
- theme: {
74
- extend: {
75
- colors: {
76
- primary: {
77
- 50: '{#XXXXXX}',
78
- 100: '{#XXXXXX}',
79
- 500: '{#XXXXXX}',
80
- 600: '{#XXXXXX}',
81
- 900: '{#XXXXXX}',
82
- DEFAULT: '{#XXXXXX}', // primary-500
83
- },
84
- },
85
- },
86
- },
87
- }
88
- ```
89
-
90
- ### 辅色(Secondary)
91
- 辅色用于次要操作、辅助信息、背景变化等。
92
-
93
- | 等级 | Hex | RGB | HSL | 使用场景 |
94
- |------|-----|-----|-----|----------|
95
- | Secondary 50 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 辅色浅背景 |
96
- | Secondary 500 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 辅色(默认) |
97
- | Secondary 900 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 辅色深背景 |
98
-
99
- (CSS Variables 和 Tailwind Config 同上)
100
-
101
- ### 语义色(Semantic Colors)
102
-
103
- #### 成功色(Success)
104
- | Hex | RGB | HSL | 使用场景 |
105
- |-----|-----|-----|----------|
106
- | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 成功提示、完成状态、正向反馈 |
107
-
108
- #### 警告色(Warning)
109
- | Hex | RGB | HSL | 使用场景 |
110
- |-----|-----|-----|----------|
111
- | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 警告提示、需要注意的信息 |
112
-
113
- #### 错误色(Error)
114
- | Hex | RGB | HSL | 使用场景 |
115
- |-----|-----|-----|----------|
116
- | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 错误提示、失败状态、危险操作 |
117
-
118
- #### 信息色(Info)
119
- | Hex | RGB | HSL | 使用场景 |
120
- |-----|-----|-----|----------|
121
- | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 信息提示、帮助文本 |
122
-
123
- ### 中性色(Neutrals / Grayscale)
124
- 中性色用于文本、边框、背景、禁用状态等。
125
-
126
- | 等级 | Hex | RGB | HSL | 使用场景 |
127
- |------|-----|-----|-----|----------|
128
- | Gray 50 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 浅背景 |
129
- | Gray 100 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | Hover 背景 |
130
- | Gray 200 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 边框、分隔线 |
131
- | Gray 300 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 禁用状态边框 |
132
- | Gray 400 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 占位符文本 |
133
- | Gray 500 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 次要文本 |
134
- | Gray 600 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 正文文本 |
135
- | Gray 700 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 标题文本 |
136
- | Gray 800 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 深色文本 |
137
- | Gray 900 | {#XXXXXX} | rgb({R}, {G}, {B}) | hsl({H}, {S}%, {L}%) | 最深文本 |
138
-
139
- ### 色彩对比度(Accessibility)
140
- 所有颜色组合必须通过 **WCAG AA** 对比度测试:
141
- - **正文文本(16px+)**: 对比度 ≥ 4.5:1
142
- - **大文本(18px+ 或 14px+ bold)**: 对比度 ≥ 3:1
143
- - **UI 组件**: 对比度 ≥ 3:1
144
-
145
- **已验证的颜色组合**:
146
- - ✅ Primary 500 on White: 对比度 {X.XX:1} (WCAG AA ✓)
147
- - ✅ Gray 700 on White: 对比度 {X.XX:1} (WCAG AA ✓)
148
- - (列出所有常用组合)
149
-
150
- ---
151
-
152
- ## ✍️ Typography
153
-
154
- ### 字体族(Font Families)
155
-
156
- #### 标题字体(Headings)
157
- ```css
158
- --font-heading: "{Font Name}", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
159
- ```
160
- - **用途**: H1-H6, 页面标题, Section 标题
161
- - **特点**: {简要描述字体特点,如:现代、易读、几何感}
162
-
163
- #### 正文字体(Body)
164
- ```css
165
- --font-body: "{Font Name}", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
166
- ```
167
- - **用途**: 正文、段落、列表、标签
168
- - **特点**: {简要描述字体特点,如:清晰、易读、舒适}
169
-
170
- #### 代码字体(Monospace)
171
- ```css
172
- --font-mono: "Fira Code", "Monaco", "Consolas", monospace;
173
- ```
174
- - **用途**: 代码块、内联代码、技术信息
175
- - **特点**: 等宽、支持连字(ligatures)
176
-
177
- ### 字阶系统(Type Scale)
178
-
179
- | 类型 | Font Size | Line Height | Font Weight | Letter Spacing | 用途 |
180
- |------|-----------|-------------|-------------|----------------|------|
181
- | **H1** | {XXpx / X.XXrem} | {X.XX} | {XXX / bold} | {X.XXem} | 页面主标题 |
182
- | **H2** | {XXpx / X.XXrem} | {X.XX} | {XXX / semibold} | {X.XXem} | Section 标题 |
183
- | **H3** | {XXpx / X.XXrem} | {X.XX} | {XXX / semibold} | {X.XXem} | 子标题 |
184
- | **H4** | {XXpx / X.XXrem} | {X.XX} | {XXX / medium} | {X.XXem} | 组件标题 |
185
- | **H5** | {XXpx / X.XXrem} | {X.XX} | {XXX / medium} | {X.XXem} | 小标题 |
186
- | **H6** | {XXpx / X.XXrem} | {X.XX} | {XXX / medium} | {X.XXem} | 最小标题 |
187
- | **Body Large** | {XXpx / X.XXrem} | {X.XX} | {XXX / normal} | {X.XXem} | 重要正文 |
188
- | **Body** | {XXpx / X.XXrem} | {X.XX} | {XXX / normal} | {X.XXem} | 默认正文 |
189
- | **Body Small** | {XXpx / X.XXrem} | {X.XX} | {XXX / normal} | {X.XXem} | 次要正文 |
190
- | **Caption** | {XXpx / X.XXrem} | {X.XX} | {XXX / normal} | {X.XXem} | 说明文字 |
191
- | **Label** | {XXpx / X.XXrem} | {X.XX} | {XXX / medium} | {X.XXem} | 标签、按钮文本 |
192
-
193
- **CSS Variables**:
194
- ```css
195
- :root {
196
- /* Font Families */
197
- --font-heading: "{Font Name}", sans-serif;
198
- --font-body: "{Font Name}", sans-serif;
199
- --font-mono: "Fira Code", monospace;
200
-
201
- /* Font Sizes */
202
- --text-h1: {XXpx};
203
- --text-h2: {XXpx};
204
- --text-h3: {XXpx};
205
- --text-h4: {XXpx};
206
- --text-h5: {XXpx};
207
- --text-h6: {XXpx};
208
- --text-body-lg: {XXpx};
209
- --text-body: {XXpx};
210
- --text-body-sm: {XXpx};
211
- --text-caption: {XXpx};
212
- --text-label: {XXpx};
213
-
214
- /* Line Heights */
215
- --leading-tight: {X.XX};
216
- --leading-normal: {X.XX};
217
- --leading-relaxed: {X.XX};
218
-
219
- /* Font Weights */
220
- --font-normal: 400;
221
- --font-medium: 500;
222
- --font-semibold: 600;
223
- --font-bold: 700;
224
- }
225
- ```
226
-
227
- ### 响应式字体(Responsive Typography)
228
-
229
- | 类型 | Desktop (≥1024px) | Tablet (768-1023px) | Mobile (<768px) |
230
- |------|-------------------|---------------------|-----------------|
231
- | H1 | {XXpx} | {XXpx} | {XXpx} |
232
- | H2 | {XXpx} | {XXpx} | {XXpx} |
233
- | Body | {XXpx} | {XXpx} | {XXpx} |
234
-
235
- **响应式实现**:
236
- ```css
237
- /* Mobile First */
238
- h1 {
239
- font-size: {XXpx}; /* Mobile */
240
- line-height: {X.XX};
241
- }
242
-
243
- @media (min-width: 768px) {
244
- h1 {
245
- font-size: {XXpx}; /* Tablet */
246
- }
247
- }
248
-
249
- @media (min-width: 1024px) {
250
- h1 {
251
- font-size: {XXpx}; /* Desktop */
252
- }
253
- }
254
- ```
255
-
256
- ### 字体组合规律
257
- 1. **标题 + 正文**: {Heading Font} + {Body Font}
258
- 2. **强调**: 使用 font-weight(不是颜色)来强调层级
259
- 3. **避免**: 同一视图中超过 3 种字体大小
260
- 4. **行高**: 标题使用紧凑行高(1.2-1.4),正文使用舒适行高(1.5-1.8)
261
-
262
- ---
263
-
264
- ## 📐 Spacing System
265
-
266
- ### 基础单位(Base Unit)
267
- ```css
268
- --spacing-base: {4px / 8px / 16px};
269
- ```
270
-
271
- ### 间距等级(Spacing Scale)
272
-
273
- | 等级 | 值 | rem | 使用场景 |
274
- |------|-----|-----|----------|
275
- | 0 | 0px | 0rem | 无间距 |
276
- | 1 | {XXpx} | {X.XXrem} | 极小间距(图标与文本) |
277
- | 2 | {XXpx} | {X.XXrem} | 小间距(按钮内部 padding) |
278
- | 3 | {XXpx} | {X.XXrem} | 默认间距(输入框 padding) |
279
- | 4 | {XXpx} | {X.XXrem} | 中等间距(卡片 padding) |
280
- | 5 | {XXpx} | {X.XXrem} | 大间距(组件之间) |
281
- | 6 | {XXpx} | {X.XXrem} | 更大间距(Section 之间) |
282
- | 8 | {XXpx} | {X.XXrem} | 布局间距 |
283
- | 10 | {XXpx} | {X.XXrem} | 页面级间距 |
284
- | 12 | {XXpx} | {X.XXrem} | 超大间距 |
285
-
286
- **CSS Variables**:
287
- ```css
288
- :root {
289
- --spacing-0: 0;
290
- --spacing-1: {XXpx};
291
- --spacing-2: {XXpx};
292
- --spacing-3: {XXpx};
293
- --spacing-4: {XXpx};
294
- --spacing-5: {XXpx};
295
- --spacing-6: {XXpx};
296
- --spacing-8: {XXpx};
297
- --spacing-10: {XXpx};
298
- --spacing-12: {XXpx};
299
-
300
- /* 语义化别名 */
301
- --spacing-xs: var(--spacing-1);
302
- --spacing-sm: var(--spacing-2);
303
- --spacing-md: var(--spacing-3);
304
- --spacing-lg: var(--spacing-4);
305
- --spacing-xl: var(--spacing-6);
306
- --spacing-2xl: var(--spacing-8);
307
- }
308
- ```
309
-
310
- ### 使用场景
311
-
312
- #### 组件内部间距(Padding)
313
- - **按钮**: padding: var(--spacing-2) var(--spacing-4);
314
- - **输入框**: padding: var(--spacing-3) var(--spacing-4);
315
- - **卡片**: padding: var(--spacing-4) var(--spacing-5);
316
-
317
- #### 组件之间间距(Margin / Gap)
318
- - **垂直间距**: margin-bottom: var(--spacing-4);
319
- - **Grid gap**: gap: var(--spacing-4);
320
- - **Flex gap**: gap: var(--spacing-3);
321
-
322
- #### 布局间距(Layout)
323
- - **Section 间距**: margin-bottom: var(--spacing-8);
324
- - **页面 padding**: padding: var(--spacing-6) var(--spacing-4);
325
-
326
- ---
327
-
328
- ## 🧩 Component Styles
329
-
330
- 以下为核心组件的详细样式定义。每个组件包含:基础样式、变体、尺寸、状态。
331
-
332
- ### Button
333
-
334
- #### 基础样式
335
- ```html
336
- <button class="btn">Button</button>
337
- ```
338
-
339
- ```css
340
- .btn {
341
- /* 字体 */
342
- font-family: var(--font-body);
343
- font-size: var(--text-label);
344
- font-weight: var(--font-medium);
345
- line-height: 1;
346
-
347
- /* 间距 */
348
- padding: var(--spacing-2) var(--spacing-4);
349
-
350
- /* 圆角 */
351
- border-radius: var(--radius-md);
352
-
353
- /* 边框 */
354
- border: 1px solid transparent;
355
-
356
- /* 过渡 */
357
- transition: all var(--duration-fast) var(--easing-ease-in-out);
358
-
359
- /* 其他 */
360
- cursor: pointer;
361
- display: inline-flex;
362
- align-items: center;
363
- justify-content: center;
364
- gap: var(--spacing-2);
365
- }
366
- ```
367
-
368
- #### 变体(Variants)
369
-
370
- **Primary**:
371
- ```css
372
- .btn-primary {
373
- background-color: var(--color-primary);
374
- color: white;
375
- }
376
-
377
- .btn-primary:hover {
378
- background-color: var(--color-primary-hover);
379
- }
380
-
381
- .btn-primary:active {
382
- background-color: var(--color-primary-active);
383
- }
384
-
385
- .btn-primary:disabled {
386
- background-color: var(--color-gray-300);
387
- cursor: not-allowed;
388
- }
389
- ```
390
-
391
- **Secondary**:
392
- ```css
393
- .btn-secondary {
394
- background-color: var(--color-secondary);
395
- color: white;
396
- }
397
- /* Hover, Active, Disabled 同上 */
398
- ```
399
-
400
- **Outline**:
401
- ```css
402
- .btn-outline {
403
- background-color: transparent;
404
- color: var(--color-primary);
405
- border-color: var(--color-primary);
406
- }
407
-
408
- .btn-outline:hover {
409
- background-color: var(--color-primary-50);
410
- }
411
- ```
412
-
413
- **Ghost**:
414
- ```css
415
- .btn-ghost {
416
- background-color: transparent;
417
- color: var(--color-gray-700);
418
- }
419
-
420
- .btn-ghost:hover {
421
- background-color: var(--color-gray-100);
422
- }
423
- ```
424
-
425
- #### 尺寸(Sizes)
426
-
427
- | 尺寸 | Padding | Font Size | Height |
428
- |------|---------|-----------|--------|
429
- | **sm** | var(--spacing-1) var(--spacing-3) | {XXpx} | {XXpx} |
430
- | **md** | var(--spacing-2) var(--spacing-4) | {XXpx} | {XXpx} |
431
- | **lg** | var(--spacing-3) var(--spacing-6) | {XXpx} | {XXpx} |
432
-
433
- ```css
434
- .btn-sm { padding: var(--spacing-1) var(--spacing-3); font-size: {XXpx}; }
435
- .btn-md { padding: var(--spacing-2) var(--spacing-4); font-size: {XXpx}; }
436
- .btn-lg { padding: var(--spacing-3) var(--spacing-6); font-size: {XXpx}; }
437
- ```
438
-
439
- #### 完整示例
440
- ```html
441
- <!-- Primary Button (Medium) -->
442
- <button class="btn btn-primary btn-md">
443
- Primary Button
444
- </button>
445
-
446
- <!-- Outline Button (Large) -->
447
- <button class="btn btn-outline btn-lg">
448
- Outline Button
449
- </button>
450
-
451
- <!-- Disabled Button -->
452
- <button class="btn btn-primary btn-md" disabled>
453
- Disabled
454
- </button>
455
- ```
456
-
457
- ---
458
-
459
- ### Input / Textarea
460
-
461
- #### 基础样式
462
- ```html
463
- <input type="text" class="input" placeholder="Enter text..." />
464
- ```
465
-
466
- ```css
467
- .input {
468
- /* 字体 */
469
- font-family: var(--font-body);
470
- font-size: var(--text-body);
471
- line-height: 1.5;
472
-
473
- /* 间距 */
474
- padding: var(--spacing-3) var(--spacing-4);
475
-
476
- /* 圆角 */
477
- border-radius: var(--radius-md);
478
-
479
- /* 边框 */
480
- border: 1px solid var(--color-gray-300);
481
-
482
- /* 背景 */
483
- background-color: white;
484
-
485
- /* 过渡 */
486
- transition: all var(--duration-fast) var(--easing-ease-in-out);
487
-
488
- /* 其他 */
489
- width: 100%;
490
- outline: none;
491
- }
492
-
493
- .input:hover {
494
- border-color: var(--color-gray-400);
495
- }
496
-
497
- .input:focus {
498
- border-color: var(--color-primary);
499
- box-shadow: 0 0 0 3px var(--color-primary-50);
500
- }
501
-
502
- .input:disabled {
503
- background-color: var(--color-gray-100);
504
- cursor: not-allowed;
505
- }
506
-
507
- .input::placeholder {
508
- color: var(--color-gray-400);
509
- }
510
- ```
511
-
512
- #### 状态(States)
513
-
514
- **Error**:
515
- ```css
516
- .input-error {
517
- border-color: var(--color-error);
518
- }
519
-
520
- .input-error:focus {
521
- border-color: var(--color-error);
522
- box-shadow: 0 0 0 3px rgba(var(--color-error-rgb), 0.1);
523
- }
524
- ```
525
-
526
- **Success**:
527
- ```css
528
- .input-success {
529
- border-color: var(--color-success);
530
- }
531
- ```
532
-
533
- ---
534
-
535
- ### Card
536
-
537
- #### 基础样式
538
- ```html
539
- <div class="card">
540
- <h3>Card Title</h3>
541
- <p>Card content goes here...</p>
542
- </div>
543
- ```
544
-
545
- ```css
546
- .card {
547
- /* 背景 */
548
- background-color: white;
549
-
550
- /* 间距 */
551
- padding: var(--spacing-4) var(--spacing-5);
552
-
553
- /* 圆角 */
554
- border-radius: var(--radius-lg);
555
-
556
- /* 阴影 */
557
- box-shadow: var(--shadow-md);
558
-
559
- /* 边框(可选) */
560
- border: 1px solid var(--color-gray-200);
561
-
562
- /* 过渡 */
563
- transition: all var(--duration-base) var(--easing-ease-in-out);
564
- }
565
-
566
- .card:hover {
567
- box-shadow: var(--shadow-lg);
568
- transform: translateY(-2px);
569
- }
570
- ```
571
-
572
- ---
573
-
574
- ### Modal / Dialog
575
-
576
- (类似上述格式,包含基础样式、变体、状态、完整示例代码)
577
-
578
- ---
579
-
580
- ### Alert / Toast
581
-
582
- (类似上述格式,包含基础样式、变体、状态、完整示例代码)
583
-
584
- ---
585
-
586
- (继续其他核心组件:Badge, Avatar, Table, Navigation, Pagination, Tabs, Tooltip 等)
587
-
588
- ---
589
-
590
- ## 🌫️ Shadows & Elevation
591
-
592
- ### 阴影系统(Shadow Scale)
593
-
594
- | 等级 | box-shadow 值 | 使用场景 |
595
- |------|----------------|----------|
596
- | **None** | none | 平面元素(按钮、输入框默认状态) |
597
- | **XS** | 0 1px 2px 0 rgba(0, 0, 0, 0.05) | 轻微层级(边框替代) |
598
- | **SM** | 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) | 小卡片、下拉菜单 |
599
- | **MD** | 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) | 卡片默认状态 |
600
- | **LG** | 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) | 卡片 Hover 状态 |
601
- | **XL** | 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) | Modal、Popup |
602
- | **2XL** | 0 25px 50px -12px rgba(0, 0, 0, 0.25) | 最高层级(全屏 Modal) |
603
-
604
- **CSS Variables**:
605
- ```css
606
- :root {
607
- --shadow-none: none;
608
- --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
609
- --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
610
- --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
611
- --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
612
- --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
613
- --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
614
- }
615
- ```
616
-
617
- ### 层级指南(Elevation Guide)
618
- 1. **Level 0**: 页面背景、平面元素
619
- 2. **Level 1**: 卡片、按钮
620
- 3. **Level 2**: Hover 状态
621
- 4. **Level 3**: Dropdown、Tooltip
622
- 5. **Level 4**: Modal、Drawer
623
- 6. **Level 5**: 全屏 Overlay
624
-
625
- ---
626
-
627
- ## 🎬 Animations & Transitions
628
-
629
- ### 过渡时长(Duration)
630
-
631
- | 名称 | 值 | 使用场景 |
632
- |------|-----|----------|
633
- | **Fast** | {XXXms} | Hover 效果、按钮点击 |
634
- | **Base** | {XXXms} | 默认过渡、卡片展开 |
635
- | **Slow** | {XXXms} | Modal 打开、页面切换 |
636
-
637
- ```css
638
- :root {
639
- --duration-fast: {XXXms};
640
- --duration-base: {XXXms};
641
- --duration-slow: {XXXms};
642
- }
643
- ```
644
-
645
- ### 缓动函数(Easing)
646
-
647
- | 名称 | cubic-bezier 值 | 使用场景 |
648
- |------|----------------|----------|
649
- | **Ease-in** | cubic-bezier(0.4, 0, 1, 1) | 元素退出 |
650
- | **Ease-out** | cubic-bezier(0, 0, 0.2, 1) | 元素进入 |
651
- | **Ease-in-out** | cubic-bezier(0.4, 0, 0.2, 1) | 通用过渡 |
652
-
653
- ```css
654
- :root {
655
- --easing-ease-in: cubic-bezier(0.4, 0, 1, 1);
656
- --easing-ease-out: cubic-bezier(0, 0, 0.2, 1);
657
- --easing-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
658
- }
659
- ```
660
-
661
- ### 常用动画(Keyframes)
662
-
663
- #### Fade In
664
- ```css
665
- @keyframes fadeIn {
666
- from { opacity: 0; }
667
- to { opacity: 1; }
668
- }
669
-
670
- .fade-in {
671
- animation: fadeIn var(--duration-base) var(--easing-ease-out);
672
- }
673
- ```
674
-
675
- #### Slide Up
676
- ```css
677
- @keyframes slideUp {
678
- from {
679
- opacity: 0;
680
- transform: translateY(10px);
681
- }
682
- to {
683
- opacity: 1;
684
- transform: translateY(0);
685
- }
686
- }
687
-
688
- .slide-up {
689
- animation: slideUp var(--duration-base) var(--easing-ease-out);
690
- }
691
- ```
692
-
693
- #### Scale
694
- ```css
695
- @keyframes scale {
696
- from { transform: scale(0.95); }
697
- to { transform: scale(1); }
698
- }
699
-
700
- .scale-in {
701
- animation: scale var(--duration-fast) var(--easing-ease-out);
702
- }
703
- ```
704
-
705
- ---
706
-
707
- ## 🔲 Border Radius
708
-
709
- ### 圆角系统(Radius Scale)
710
-
711
- | 等级 | 值 | 使用场景 |
712
- |------|-----|----------|
713
- | **None** | 0px | 方形元素(Table, 严肃场景) |
714
- | **SM** | {XXpx} | 按钮、输入框 |
715
- | **Base** | {XXpx} | 默认圆角 |
716
- | **MD** | {XXpx} | 卡片 |
717
- | **LG** | {XXpx} | Modal |
718
- | **XL** | {XXpx} | 特殊卡片 |
719
- | **Full** | 9999px | 圆形(Avatar, Badge) |
720
-
721
- ```css
722
- :root {
723
- --radius-none: 0;
724
- --radius-sm: {XXpx};
725
- --radius-base: {XXpx};
726
- --radius-md: {XXpx};
727
- --radius-lg: {XXpx};
728
- --radius-xl: {XXpx};
729
- --radius-full: 9999px;
730
- }
731
- ```
732
-
733
- ---
734
-
735
- ## 🌟 Opacity & Transparency
736
-
737
- ### 透明度等级
738
-
739
- | 等级 | 值 | 使用场景 |
740
- |------|-----|----------|
741
- | **0** | 0 | 完全透明(隐藏元素) |
742
- | **10** | 0.1 | 极浅遮罩 |
743
- | **25** | 0.25 | 浅遮罩 |
744
- | **50** | 0.5 | 半透明(Overlay) |
745
- | **75** | 0.75 | 轻微透明 |
746
- | **90** | 0.9 | 几乎不透明 |
747
- | **100** | 1 | 完全不透明 |
748
-
749
- ```css
750
- :root {
751
- --opacity-0: 0;
752
- --opacity-10: 0.1;
753
- --opacity-25: 0.25;
754
- --opacity-50: 0.5;
755
- --opacity-75: 0.75;
756
- --opacity-90: 0.9;
757
- --opacity-100: 1;
758
- }
759
- ```
760
-
761
- ### 使用场景
762
- - **Disabled 状态**: opacity: var(--opacity-50);
763
- - **Overlay**: background-color: rgba(0, 0, 0, var(--opacity-50));
764
- - **Hover 效果**: opacity: var(--opacity-90);
765
-
766
- ---
767
-
768
- ## 🎨 Common Tailwind CSS Usage
769
-
770
- (仅当项目使用 Tailwind CSS 时包含此部分)
771
-
772
- ### 常用 Utility Classes 组合
773
-
774
- #### Button
775
- ```html
776
- <button class="px-4 py-2 bg-primary text-white rounded-md hover:bg-primary-600 transition-colors duration-200">
777
- Primary Button
778
- </button>
779
- ```
780
-
781
- #### Card
782
- ```html
783
- <div class="p-6 bg-white rounded-lg shadow-md hover:shadow-lg transition-shadow duration-300">
784
- Card content
785
- </div>
786
- ```
787
-
788
- #### Input
789
- ```html
790
- <input
791
- type="text"
792
- class="px-4 py-3 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent"
793
- placeholder="Enter text..."
794
- />
795
- ```
796
-
797
- ### 自定义 Tailwind 配置
798
- ```js
799
- // tailwind.config.js
800
- module.exports = {
801
- theme: {
802
- extend: {
803
- colors: {
804
- primary: {
805
- 50: '{#XXXXXX}',
806
- 500: '{#XXXXXX}',
807
- 600: '{#XXXXXX}',
808
- // ...
809
- },
810
- },
811
- spacing: {
812
- // Custom spacing values
813
- },
814
- borderRadius: {
815
- // Custom border radius values
816
- },
817
- boxShadow: {
818
- // Custom shadows
819
- },
820
- },
821
- },
822
- plugins: [
823
- require('@tailwindcss/typography'),
824
- require('@tailwindcss/forms'),
825
- ],
826
- }
827
- ```
828
-
829
- ---
830
-
831
- ## 📦 Example Component Reference Design Code
832
-
833
- 以下是 3 个完整的组件实现示例,可直接复用。
834
-
835
- ### Example 1: Primary Button with Icon
836
-
837
- ```html
838
- <button class="btn btn-primary btn-md">
839
- <svg class="icon" width="16" height="16" fill="currentColor">
840
- <path d="M12 5l-8 8M4 5l8 8" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
841
- </svg>
842
- Button with Icon
843
- </button>
844
- ```
845
-
846
- ```css
847
- .btn {
848
- /* 字体 */
849
- font-family: var(--font-body);
850
- font-size: var(--text-label);
851
- font-weight: var(--font-medium);
852
- line-height: 1;
853
-
854
- /* 间距 */
855
- padding: var(--spacing-2) var(--spacing-4);
856
-
857
- /* 圆角 */
858
- border-radius: var(--radius-md);
859
-
860
- /* 边框 */
861
- border: 1px solid transparent;
862
-
863
- /* 过渡 */
864
- transition: all var(--duration-fast) var(--easing-ease-in-out);
865
-
866
- /* 布局 */
867
- display: inline-flex;
868
- align-items: center;
869
- justify-content: center;
870
- gap: var(--spacing-2);
871
- cursor: pointer;
872
- }
873
-
874
- .btn-primary {
875
- background-color: var(--color-primary);
876
- color: white;
877
- }
878
-
879
- .btn-primary:hover {
880
- background-color: var(--color-primary-hover);
881
- }
882
-
883
- .btn-primary:active {
884
- transform: scale(0.98);
885
- }
886
-
887
- .btn .icon {
888
- width: 16px;
889
- height: 16px;
890
- }
891
- ```
892
-
893
- **设计决策**:
894
- - 使用 `inline-flex` 和 `gap` 确保图标与文本间距一致
895
- - Hover 使用颜色变化,Active 使用微妙的 scale 效果
896
- - 图标尺寸固定为 16px,确保视觉平衡
897
-
898
- ---
899
-
900
- ### Example 2: Card with Hover Effect
901
-
902
- ```html
903
- <div class="card">
904
- <div class="card-header">
905
- <h3 class="card-title">Card Title</h3>
906
- <span class="badge">New</span>
907
- </div>
908
- <div class="card-body">
909
- <p class="card-description">
910
- This is a card component with hover effect. Hover to see the shadow and transform animation.
911
- </p>
912
- </div>
913
- <div class="card-footer">
914
- <button class="btn btn-outline btn-sm">Learn More</button>
915
- </div>
916
- </div>
917
- ```
918
-
919
- ```css
920
- .card {
921
- /* 背景 */
922
- background-color: white;
923
-
924
- /* 间距 */
925
- padding: 0;
926
-
927
- /* 圆角 */
928
- border-radius: var(--radius-lg);
929
-
930
- /* 阴影 */
931
- box-shadow: var(--shadow-md);
932
-
933
- /* 边框 */
934
- border: 1px solid var(--color-gray-200);
935
-
936
- /* 过渡 */
937
- transition: all var(--duration-base) var(--easing-ease-in-out);
938
-
939
- /* 其他 */
940
- overflow: hidden;
941
- }
942
-
943
- .card:hover {
944
- box-shadow: var(--shadow-lg);
945
- transform: translateY(-4px);
946
- }
947
-
948
- .card-header {
949
- display: flex;
950
- align-items: center;
951
- justify-content: space-between;
952
- padding: var(--spacing-4) var(--spacing-5);
953
- border-bottom: 1px solid var(--color-gray-200);
954
- }
955
-
956
- .card-title {
957
- font-size: var(--text-h4);
958
- font-weight: var(--font-semibold);
959
- margin: 0;
960
- }
961
-
962
- .badge {
963
- padding: var(--spacing-1) var(--spacing-2);
964
- background-color: var(--color-primary-50);
965
- color: var(--color-primary);
966
- font-size: var(--text-caption);
967
- font-weight: var(--font-medium);
968
- border-radius: var(--radius-full);
969
- }
970
-
971
- .card-body {
972
- padding: var(--spacing-4) var(--spacing-5);
973
- }
974
-
975
- .card-description {
976
- color: var(--color-gray-600);
977
- line-height: 1.6;
978
- margin: 0;
979
- }
980
-
981
- .card-footer {
982
- padding: var(--spacing-4) var(--spacing-5);
983
- border-top: 1px solid var(--color-gray-200);
984
- }
985
- ```
986
-
987
- **设计决策**:
988
- - Card 分为 Header, Body, Footer 三个区域,使用 border 分隔
989
- - Hover 效果结合阴影和位移,营造层级感
990
- - Badge 使用主色的浅色背景,确保视觉一致性
991
-
992
- ---
993
-
994
- ### Example 3: Form Input with Error State
995
-
996
- ```html
997
- <div class="form-group">
998
- <label for="email" class="form-label">Email Address</label>
999
- <input
1000
- type="email"
1001
- id="email"
1002
- class="input input-error"
1003
- placeholder="you@example.com"
1004
- aria-invalid="true"
1005
- aria-describedby="email-error"
1006
- />
1007
- <p id="email-error" class="form-error">Please enter a valid email address.</p>
1008
- </div>
1009
- ```
1010
-
1011
- ```css
1012
- .form-group {
1013
- display: flex;
1014
- flex-direction: column;
1015
- gap: var(--spacing-2);
1016
- }
1017
-
1018
- .form-label {
1019
- font-size: var(--text-label);
1020
- font-weight: var(--font-medium);
1021
- color: var(--color-gray-700);
1022
- }
1023
-
1024
- .input {
1025
- /* 字体 */
1026
- font-family: var(--font-body);
1027
- font-size: var(--text-body);
1028
- line-height: 1.5;
1029
-
1030
- /* 间距 */
1031
- padding: var(--spacing-3) var(--spacing-4);
1032
-
1033
- /* 圆角 */
1034
- border-radius: var(--radius-md);
1035
-
1036
- /* 边框 */
1037
- border: 1px solid var(--color-gray-300);
1038
-
1039
- /* 背景 */
1040
- background-color: white;
1041
-
1042
- /* 过渡 */
1043
- transition: all var(--duration-fast) var(--easing-ease-in-out);
1044
-
1045
- /* 其他 */
1046
- width: 100%;
1047
- outline: none;
1048
- }
1049
-
1050
- .input:hover {
1051
- border-color: var(--color-gray-400);
1052
- }
1053
-
1054
- .input:focus {
1055
- border-color: var(--color-primary);
1056
- box-shadow: 0 0 0 3px var(--color-primary-50);
1057
- }
1058
-
1059
- .input-error {
1060
- border-color: var(--color-error);
1061
- }
1062
-
1063
- .input-error:focus {
1064
- border-color: var(--color-error);
1065
- box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1); /* Error color with opacity */
1066
- }
1067
-
1068
- .form-error {
1069
- font-size: var(--text-caption);
1070
- color: var(--color-error);
1071
- margin: 0;
1072
- }
1073
- ```
1074
-
1075
- **设计决策**:
1076
- - 使用 `flex-direction: column` 和 `gap` 确保标签、输入框、错误信息的间距一致
1077
- - Error 状态使用红色边框和 box-shadow,视觉明确
1078
- - 使用 ARIA 属性确保可访问性(`aria-invalid`, `aria-describedby`)
1079
-
1080
- ---
1081
-
1082
- ## 📱 Responsive Design
1083
-
1084
- ### 断点定义(Breakpoints)
1085
-
1086
- | 名称 | 最小宽度 | 目标设备 |
1087
- |------|----------|----------|
1088
- | **Mobile** | 0px | 手机(<768px) |
1089
- | **Tablet** | 768px | 平板(768-1023px) |
1090
- | **Desktop** | 1024px | 桌面(1024-1439px) |
1091
- | **Wide** | 1440px | 宽屏(≥1440px) |
1092
-
1093
- ```css
1094
- :root {
1095
- --breakpoint-mobile: 0px;
1096
- --breakpoint-tablet: 768px;
1097
- --breakpoint-desktop: 1024px;
1098
- --breakpoint-wide: 1440px;
1099
- }
1100
- ```
1101
-
1102
- ### 响应式策略
1103
- - **Mobile-First**: 默认样式为移动端,使用 `@media (min-width: ...)` 添加更大屏幕样式
1104
- - **核心原则**: 确保所有功能在移动端可用,桌面端提供增强体验
1105
-
1106
- ### 响应式组件示例
1107
-
1108
- #### Grid Layout
1109
- ```css
1110
- .grid {
1111
- display: grid;
1112
- gap: var(--spacing-4);
1113
- grid-template-columns: 1fr; /* Mobile: 1 column */
1114
- }
1115
-
1116
- @media (min-width: 768px) {
1117
- .grid {
1118
- grid-template-columns: repeat(2, 1fr); /* Tablet: 2 columns */
1119
- }
1120
- }
1121
-
1122
- @media (min-width: 1024px) {
1123
- .grid {
1124
- grid-template-columns: repeat(3, 1fr); /* Desktop: 3 columns */
1125
- }
1126
- }
1127
- ```
1128
-
1129
- ---
1130
-
1131
- ## ♿ Accessibility
1132
-
1133
- ### 色彩对比度(Color Contrast)
1134
- - ✅ 所有文本与背景的对比度 ≥ 4.5:1(WCAG AA)
1135
- - ✅ 大文本(18px+ 或 14px+ bold)对比度 ≥ 3:1
1136
- - ✅ UI 组件(按钮、输入框)对比度 ≥ 3:1
1137
-
1138
- ### 键盘导航(Keyboard Navigation)
1139
- - ✅ 所有交互元素可通过 Tab 键访问
1140
- - ✅ Focus 状态清晰可见(使用 box-shadow 或 outline)
1141
- - ✅ 支持 Enter/Space 触发按钮和链接
1142
-
1143
- ### ARIA 属性(ARIA Attributes)
1144
- - ✅ 使用 `aria-label` 为无文本的图标按钮添加说明
1145
- - ✅ 使用 `aria-invalid` 和 `aria-describedby` 标记表单错误
1146
- - ✅ 使用 `aria-expanded` 标记可展开/折叠的组件
1147
-
1148
- ### Focus 状态设计
1149
- ```css
1150
- *:focus-visible {
1151
- outline: 2px solid var(--color-primary);
1152
- outline-offset: 2px;
1153
- }
1154
-
1155
- /* 或使用 box-shadow */
1156
- .btn:focus-visible {
1157
- box-shadow: 0 0 0 3px var(--color-primary-50);
1158
- }
1159
- ```
1160
-
1161
- ---
1162
-
1163
- ## 🖼️ Assets
1164
-
1165
- (如适用)
1166
-
1167
- ### Icon 系统
1168
- - **Icon Library**: {Heroicons / Feather / Lucide / Material Icons}
1169
- - **尺寸**: 16px (sm), 20px (md), 24px (lg)
1170
- - **颜色**: 使用 `currentColor` 继承文本颜色
1171
-
1172
- ### Image 规范
1173
- - **格式**: WebP(现代浏览器), PNG/JPG(Fallback)
1174
- - **压缩**: TinyPNG, ImageOptim
1175
- - **尺寸**: 根据显示尺寸提供 1x, 2x, 3x 版本
1176
-
1177
- ### Logo 使用规范
1178
- - **主 Logo**: 用于导航栏、页脚
1179
- - **简化 Logo**: 用于 Favicon, Mobile App Icon
1180
- - **最小尺寸**: 不小于 24px(确保可识别)
1181
-
1182
- ---
1183
-
1184
- ## 🎯 Design Principles
1185
-
1186
- ### 1. 简洁性(Simplicity)
1187
- - 避免不必要的装饰和复杂性
1188
- - 每个组件专注于单一功能
1189
- - 使用留白营造呼吸感
1190
-
1191
- ### 2. 一致性(Consistency)
1192
- - 所有组件遵循统一的视觉语言
1193
- - 颜色、字体、间距、圆角使用一致的系统
1194
- - 交互行为保持一致(如 Hover, Focus 效果)
1195
-
1196
- ### 3. 可访问性(Accessibility)
1197
- - 色彩对比度符合 WCAG AA 标准
1198
- - 支持键盘导航
1199
- - 使用语义化 HTML 和 ARIA 属性
1200
-
1201
- ### 4. 响应式(Responsive)
1202
- - Mobile-First 设计
1203
- - 所有组件在所有设备上可用
1204
- - 根据屏幕尺寸优化布局和字体
1205
-
1206
- ### 5. 性能优先(Performance)
1207
- - 优化资源加载(图片压缩、字体子集化)
1208
- - 避免过度使用动画和阴影
1209
- - 使用 CSS Variables 减少重复代码
1210
-
1211
- ---
1212
-
1213
- ## 📝 Usage Guidelines
1214
-
1215
- ### 如何使用本指南
1216
-
1217
- 1. **开发新组件时**:
1218
- - 查阅对应组件的样式定义
1219
- - 复制示例代码并根据需求调整
1220
- - 确保遵循颜色、字体、间距系统
1221
-
1222
- 2. **修改现有组件时**:
1223
- - 检查是否符合本指南的定义
1224
- - 如有偏差,优先修正为符合指南的样式
1225
- - 如需新增变体,确保与现有变体一致
1226
-
1227
- 3. **生成 UI 原型时**:
1228
- - `/flow:spec` 阶段会自动引用本指南
1229
- - 确保原型中的所有样式符合本指南
1230
-
1231
- 4. **前端开发时**:
1232
- - `/flow:dev` 命令会自动引用本指南
1233
- - 所有组件实现必须遵循本指南的样式定义
1234
-
1235
- ### 更新本指南
1236
-
1237
- - **何时更新**: 新增组件、调整设计系统、发现不一致
1238
- - **如何更新**: 使用 `/core-style --update` 命令
1239
- - **版本控制**: 每次更新增加版本号,记录变更内容
1240
-
1241
- ---
1242
-
1243
- ## 🔗 Related Resources
1244
-
1245
- - **项目 Roadmap**: `devflow/ROADMAP.md`
1246
- - **UI 原型**: `devflow/requirements/{REQ_ID}/UI_PROTOTYPE.html`
1247
- - **组件实现**: `src/components/`
1248
- - **Tailwind Config**: `tailwind.config.js`
1249
-
1250
- ---
1251
-
1252
- ## 📄 License & Credits
1253
-
1254
- (如适用)
1255
-
1256
- - **设计系统**: {Project Name} Design System
1257
- - **设计师**: {Designer Name}
1258
- - **开发者**: {Developer Name}
1259
- - **灵感来源**: {Design References, e.g., Tailwind UI, Material Design}
1260
-
1261
- ---
1262
-
1263
- **最后更新**: {YYYY-MM-DD 北京时间}
1264
- **版本**: {Version}
1265
-
1266
- ---