create-yss-spec 3.4.9 → 3.5.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 (287) hide show
  1. package/README.md +2 -2
  2. package/package.json +1 -1
  3. package/src/api/_sync-service.js +111 -18
  4. package/src/cli/args.js +1 -0
  5. package/src/cli/help.js +10 -1
  6. package/src/cli/index.js +3 -0
  7. package/src/cli/prompts.js +5 -1
  8. package/src/cli/router.js +2 -0
  9. package/src/commands/attach.js +12 -2
  10. package/src/commands/init.js +2 -0
  11. package/src/commands/skills.js +253 -0
  12. package/src/commands/sync.js +3 -0
  13. package/src/family-identity.js +1 -1
  14. package/src/template/asset-runtime.js +220 -0
  15. package/src/template/attach-planner.js +5 -0
  16. package/src/template/distribution-runtime.js +165 -0
  17. package/src/template/instance-runtime.js +76 -29
  18. package/src/template/ownership-policy.js +17 -1
  19. package/src/template/prune-planner.js +6 -1
  20. package/src/template/sync-planner.js +8 -0
  21. package/src/template/verification-runtime.js +56 -1
  22. package/src/validation/metadata.js +24 -1
  23. package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
  24. package/template/.agents/skills/yss-cache/SKILL.md +6 -5
  25. package/template/.agents/skills/yss-cache/references/annotations.md +3 -1
  26. package/template/.agents/skills/yss-cache/references/architecture.md +4 -2
  27. package/template/.agents/skills/yss-cache/references/configuration.md +6 -3
  28. package/template/.agents/skills/yss-cache/references/jetcache.md +21 -0
  29. package/template/.agents/skills/yss-cache/references/redis-fallback.md +5 -3
  30. package/template/.agents/skills/yss-cache/references/verification.md +10 -4
  31. package/template/.agents/skills/yss-cache/scripts/verify-cache-component.sh +26 -20
  32. package/template/.agents/skills/yss-distributed-id/SKILL.md +14 -58
  33. package/template/.agents/skills/yss-distributed-id/agents/openai.yaml +2 -2
  34. package/template/.agents/skills/yss-distributed-id/references/README.md +11 -47
  35. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  36. package/template/.agents/skills/yss-mybatis/SKILL.md +14 -2
  37. package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +2 -0
  38. package/template/.agents/skills/yss-openapi-governance/SKILL.md +4 -0
  39. package/template/.agents/skills/yss-product-lifecycle/SKILL.md +11 -5
  40. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +68 -5
  41. package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  42. package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +8 -8
  43. package/template/.agents/skills/yss-prototype-stage/SKILL.md +4 -2
  44. package/template/.agents/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +2 -2
  45. package/template/.agents/skills/yss-repository/SKILL.md +1 -0
  46. package/template/.agents/skills/yss-stage-decision/SKILL.md +2 -0
  47. package/template/.agents/skills/yss-tactical-design/SKILL.md +2 -0
  48. package/template/.agents/skills/yss-technical-design/SKILL.md +2 -0
  49. package/template/.agents/skills/yss-technical-design/scripts/engineering-design.mjs +1 -1
  50. package/template/.agents/skills/yss-technical-design/scripts/validate-technical-design.mjs +11 -8
  51. package/template/.codex/skills/yss-cache/SKILL.md +6 -5
  52. package/template/.codex/skills/yss-cache/references/annotations.md +3 -1
  53. package/template/.codex/skills/yss-cache/references/architecture.md +4 -2
  54. package/template/.codex/skills/yss-cache/references/configuration.md +6 -3
  55. package/template/.codex/skills/yss-cache/references/jetcache.md +21 -0
  56. package/template/.codex/skills/yss-cache/references/redis-fallback.md +5 -3
  57. package/template/.codex/skills/yss-cache/references/verification.md +10 -4
  58. package/template/.codex/skills/yss-cache/scripts/verify-cache-component.sh +26 -20
  59. package/template/.codex/skills/yss-distributed-id/SKILL.md +14 -58
  60. package/template/.codex/skills/yss-distributed-id/agents/openai.yaml +2 -2
  61. package/template/.codex/skills/yss-distributed-id/references/README.md +11 -47
  62. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  63. package/template/.codex/skills/yss-mybatis/SKILL.md +14 -2
  64. package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +2 -0
  65. package/template/.codex/skills/yss-openapi-governance/SKILL.md +4 -0
  66. package/template/.codex/skills/yss-product-lifecycle/SKILL.md +11 -5
  67. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +68 -5
  68. package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  69. package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +8 -8
  70. package/template/.codex/skills/yss-prototype-stage/SKILL.md +4 -2
  71. package/template/.codex/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +2 -2
  72. package/template/.codex/skills/yss-repository/SKILL.md +1 -0
  73. package/template/.codex/skills/yss-stage-decision/SKILL.md +2 -0
  74. package/template/.codex/skills/yss-tactical-design/SKILL.md +2 -0
  75. package/template/.codex/skills/yss-technical-design/SKILL.md +2 -0
  76. package/template/.codex/skills/yss-technical-design/scripts/engineering-design.mjs +1 -1
  77. package/template/.codex/skills/yss-technical-design/scripts/validate-technical-design.mjs +11 -8
  78. package/template/.cursor/skills/yss-cache/SKILL.md +6 -5
  79. package/template/.cursor/skills/yss-cache/references/annotations.md +3 -1
  80. package/template/.cursor/skills/yss-cache/references/architecture.md +4 -2
  81. package/template/.cursor/skills/yss-cache/references/configuration.md +6 -3
  82. package/template/.cursor/skills/yss-cache/references/jetcache.md +21 -0
  83. package/template/.cursor/skills/yss-cache/references/redis-fallback.md +5 -3
  84. package/template/.cursor/skills/yss-cache/references/verification.md +10 -4
  85. package/template/.cursor/skills/yss-cache/scripts/verify-cache-component.sh +26 -20
  86. package/template/.cursor/skills/yss-distributed-id/SKILL.md +14 -58
  87. package/template/.cursor/skills/yss-distributed-id/agents/openai.yaml +2 -2
  88. package/template/.cursor/skills/yss-distributed-id/references/README.md +11 -47
  89. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  90. package/template/.cursor/skills/yss-mybatis/SKILL.md +14 -2
  91. package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +2 -0
  92. package/template/.cursor/skills/yss-openapi-governance/SKILL.md +4 -0
  93. package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +11 -5
  94. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +68 -5
  95. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  96. package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +8 -8
  97. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +4 -2
  98. package/template/.cursor/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +2 -2
  99. package/template/.cursor/skills/yss-repository/SKILL.md +1 -0
  100. package/template/.cursor/skills/yss-stage-decision/SKILL.md +2 -0
  101. package/template/.cursor/skills/yss-tactical-design/SKILL.md +2 -0
  102. package/template/.cursor/skills/yss-technical-design/SKILL.md +2 -0
  103. package/template/.cursor/skills/yss-technical-design/scripts/engineering-design.mjs +1 -1
  104. package/template/.cursor/skills/yss-technical-design/scripts/validate-technical-design.mjs +11 -8
  105. package/template/.pi/skills/yss-cache/SKILL.md +6 -5
  106. package/template/.pi/skills/yss-cache/references/annotations.md +3 -1
  107. package/template/.pi/skills/yss-cache/references/architecture.md +4 -2
  108. package/template/.pi/skills/yss-cache/references/configuration.md +6 -3
  109. package/template/.pi/skills/yss-cache/references/jetcache.md +21 -0
  110. package/template/.pi/skills/yss-cache/references/redis-fallback.md +5 -3
  111. package/template/.pi/skills/yss-cache/references/verification.md +10 -4
  112. package/template/.pi/skills/yss-cache/scripts/verify-cache-component.sh +26 -20
  113. package/template/.pi/skills/yss-distributed-id/SKILL.md +14 -58
  114. package/template/.pi/skills/yss-distributed-id/agents/openai.yaml +2 -2
  115. package/template/.pi/skills/yss-distributed-id/references/README.md +11 -47
  116. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
  117. package/template/.pi/skills/yss-mybatis/SKILL.md +14 -2
  118. package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +2 -0
  119. package/template/.pi/skills/yss-openapi-governance/SKILL.md +4 -0
  120. package/template/.pi/skills/yss-product-lifecycle/SKILL.md +11 -5
  121. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +68 -5
  122. package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -2
  123. package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +8 -8
  124. package/template/.pi/skills/yss-prototype-stage/SKILL.md +4 -2
  125. package/template/.pi/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +2 -2
  126. package/template/.pi/skills/yss-repository/SKILL.md +1 -0
  127. package/template/.pi/skills/yss-stage-decision/SKILL.md +2 -0
  128. package/template/.pi/skills/yss-tactical-design/SKILL.md +2 -0
  129. package/template/.pi/skills/yss-technical-design/SKILL.md +2 -0
  130. package/template/.pi/skills/yss-technical-design/scripts/engineering-design.mjs +1 -1
  131. package/template/.pi/skills/yss-technical-design/scripts/validate-technical-design.mjs +11 -8
  132. package/template/AGENTS.md +2 -0
  133. package/template/CONTEXT.md +2 -1
  134. package/template/README.md +3 -5
  135. package/template/docs/agents/issue-tracker.md +7 -0
  136. package/template/docs/agents/skill-migrations.md +4 -0
  137. package/template/docs/agents/yss-skill-registry.yaml +7 -6
  138. package/template/docs/design/README.md +0 -1
  139. package/template/docs/design/design.md +2 -2
  140. package/template/docs/design/templates/interaction-spec-template.md +1 -1
  141. package/template/docs/engineering/evidence/aliyun-artifact-resolution.json +446 -0
  142. package/template/docs/process/contract-reading.md +46 -0
  143. package/template/docs/process/lifecycle-artifact-map.md +2 -2
  144. package/template/docs/process/lifecycle-registry-baseline.json +2 -1
  145. package/template/docs/process/lifecycle-registry.yaml +10 -4
  146. package/template/docs/process/schemas/api-contract-decision-v2.schema.json +198 -0
  147. package/template/docs/process/schemas/digital-human-task-package.schema.json +8 -0
  148. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +259 -0
  149. package/template/docs/process/schemas/stage-tracking.schema.json +259 -0
  150. package/template/docs/process/stage-tracking.md +62 -0
  151. package/template/docs/process/strategic-handoff-package.md +8 -0
  152. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +2 -0
  153. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +1 -0
  154. package/template/docs/user-guide//351/230/266/346/256/265/346/216/245/345/205/245/344/270/216/344/272/247/347/211/251/345/244/215/347/224/250/344/275/277/347/224/250/346/211/213/345/206/214.md +243 -0
  155. package/template/scripts/api-contract-decision +16 -0
  156. package/template/scripts/complete-backend-delivery +17 -0
  157. package/template/scripts/contract +13 -0
  158. package/template/scripts/design-md +2 -0
  159. package/template/scripts/dispatch-slice-task +13 -0
  160. package/template/scripts/lib/api-contract-decision.mjs +45 -4
  161. package/template/scripts/lib/approval-record.mjs +1 -1
  162. package/template/scripts/lib/approved-execution-context.mjs +35 -7
  163. package/template/scripts/lib/backend-architecture.mjs +2 -2
  164. package/template/scripts/lib/backend-delivery-terminal.mjs +51 -0
  165. package/template/scripts/lib/backend-platform-provenance.mjs +1 -1
  166. package/template/scripts/lib/backend-platform.mjs +1 -1
  167. package/template/scripts/lib/backend-scaffold-prerequisites.mjs +1 -1
  168. package/template/scripts/lib/context-contract.mjs +1 -1
  169. package/template/scripts/lib/context-reconciliation.mjs +1 -1
  170. package/template/scripts/lib/contract-source.mjs +22 -0
  171. package/template/scripts/lib/contract-views.mjs +109 -0
  172. package/template/scripts/lib/delivery-preflight.mjs +3 -2
  173. package/template/scripts/lib/design-md.mjs +230 -0
  174. package/template/scripts/lib/digital-human-roles.mjs +1 -1
  175. package/template/scripts/lib/existing-backend-architecture.mjs +4 -3
  176. package/template/scripts/lib/existing-ui-baseline.mjs +4 -2
  177. package/template/scripts/lib/frontend-delivery-boundary.mjs +1 -1
  178. package/template/scripts/lib/frontend-delivery.mjs +1 -1
  179. package/template/scripts/lib/harness-execution-scope.mjs +15 -1
  180. package/template/scripts/lib/implementation-contract-compiler.mjs +4 -4
  181. package/template/scripts/lib/json-schema.mjs +19 -4
  182. package/template/scripts/lib/lifecycle-context-query.mjs +5 -1
  183. package/template/scripts/lib/lifecycle-controls.mjs +1 -1
  184. package/template/scripts/lib/lifecycle-execution-scope.mjs +92 -0
  185. package/template/scripts/lib/lifecycle-registry.mjs +2 -1
  186. package/template/scripts/lib/lifecycle-transition.mjs +21 -3
  187. package/template/scripts/lib/openapi-draft-validation.mjs +2 -1
  188. package/template/scripts/lib/skill-registry.mjs +10 -3
  189. package/template/scripts/lib/skill-supply-chain.mjs +33 -14
  190. package/template/scripts/lib/slice-contract-preparation.mjs +16 -14
  191. package/template/scripts/lib/slice-contract-views.mjs +1 -1
  192. package/template/scripts/lib/slice-contract.mjs +18 -3
  193. package/template/scripts/lib/slice-execution-preflight.mjs +7 -3
  194. package/template/scripts/lib/slice-repositories.mjs +1 -1
  195. package/template/scripts/lib/slice-task-package.mjs +3 -2
  196. package/template/scripts/lib/stage-tracking-migration.mjs +176 -0
  197. package/template/scripts/lib/stage-tracking.mjs +184 -0
  198. package/template/scripts/lib/strategic-handoff-consumption.mjs +5 -4
  199. package/template/scripts/lib/strategic-handoff-io.mjs +5 -2
  200. package/template/scripts/lib/strategic-handoff-routing.mjs +31 -0
  201. package/template/scripts/lib/strategic-handoff.mjs +4 -2
  202. package/template/scripts/lib/task-package.mjs +2 -0
  203. package/template/scripts/lib/technical-design-boundary.mjs +4 -2
  204. package/template/scripts/lib/ui-baseline.mjs +1 -1
  205. package/template/scripts/lib/user-decision.mjs +1 -1
  206. package/template/scripts/lib/validation-phase.mjs +72 -0
  207. package/template/scripts/stage-tracking +25 -0
  208. package/template/scripts/strategic-consumer-entry +47 -0
  209. package/template/scripts/verify-context-reconciliation +4 -3
  210. package/template/scripts/verify-lifecycle-checkpoint +10 -0
  211. package/template/scripts/verify-project-instance +11 -10
  212. package/template/skills-lock.json +17 -32
  213. package/template.manifest.json +18 -3
  214. package/template.snapshot.json +5 -5
  215. package/template/.agents/skills/grill-me/SKILL.md +0 -7
  216. package/template/.agents/skills/grill-me/agents/openai.yaml +0 -5
  217. package/template/.agents/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
  218. package/template/.agents/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
  219. package/template/.agents/skills/yss-distributed-id/assets/LeafConf.java +0 -36
  220. package/template/.codex/skills/grill-me/SKILL.md +0 -7
  221. package/template/.codex/skills/grill-me/agents/openai.yaml +0 -5
  222. package/template/.codex/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
  223. package/template/.codex/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
  224. package/template/.codex/skills/yss-distributed-id/assets/LeafConf.java +0 -36
  225. package/template/.cursor/skills/grill-me/SKILL.md +0 -7
  226. package/template/.cursor/skills/grill-me/agents/openai.yaml +0 -5
  227. package/template/.cursor/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
  228. package/template/.cursor/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
  229. package/template/.cursor/skills/yss-distributed-id/assets/LeafConf.java +0 -36
  230. package/template/.pi/skills/grill-me/SKILL.md +0 -7
  231. package/template/.pi/skills/grill-me/agents/openai.yaml +0 -5
  232. package/template/.pi/skills/yss-distributed-id/assets/AutoIdInterceptor.java +0 -246
  233. package/template/.pi/skills/yss-distributed-id/assets/EnableDistributedId.java +0 -25
  234. package/template/.pi/skills/yss-distributed-id/assets/LeafConf.java +0 -36
  235. package/template/docs/agents/yss-plugin-dependency-contract.md +0 -45
  236. package/template/docs/api/.gitkeep +0 -0
  237. package/template/docs/api/specs/.gitkeep +0 -0
  238. package/template/docs/architecture/.gitkeep +0 -0
  239. package/template/docs/design/facts/antdv-next/1.5.2/cli-help.txt +0 -38
  240. package/template/docs/design/facts/antdv-next/1.5.2/component-list.json +0 -434
  241. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/demo-basic.json +0 -7
  242. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/info.json +0 -246
  243. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/semantic.json +0 -40
  244. package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/token.json +0 -32
  245. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/demo-basic.json +0 -7
  246. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/info.json +0 -190
  247. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/semantic.json +0 -20
  248. package/template/docs/design/facts/antdv-next/1.5.2/components/Button/token.json +0 -256
  249. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/demo-basic.json +0 -7
  250. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/info.json +0 -460
  251. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/semantic.json +0 -70
  252. package/template/docs/design/facts/antdv-next/1.5.2/components/Input/token.json +0 -123
  253. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/demo-basic.json +0 -7
  254. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/info.json +0 -646
  255. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/semantic.json +0 -50
  256. package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/token.json +0 -130
  257. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/demo-basic.json +0 -7
  258. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/info.json +0 -640
  259. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/semantic.json +0 -70
  260. package/template/docs/design/facts/antdv-next/1.5.2/components/Select/token.json +0 -172
  261. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/demo-basic.json +0 -7
  262. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/info.json +0 -1010
  263. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/semantic.json +0 -70
  264. package/template/docs/design/facts/antdv-next/1.5.2/components/Table/token.json +0 -263
  265. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/demo-basic.json +0 -7
  266. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/info.json +0 -321
  267. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/semantic.json +0 -25
  268. package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/token.json +0 -25
  269. package/template/docs/design/facts/antdv-next/1.5.2/design-md.json +0 -3
  270. package/template/docs/design/facts/antdv-next/1.5.2/manifest.json +0 -215
  271. package/template/docs/design/facts/antdv-next/1.5.2/resolution-probe.json +0 -5
  272. package/template/docs/design/prototypes/.gitkeep +0 -1
  273. package/template/docs/implementation/.gitkeep +0 -1
  274. package/template/docs/plan/IDEATION.md +0 -96
  275. package/template/docs/process/PDCA-SCRUM.md +0 -10
  276. package/template/docs/process/harness-executive-blueprint.md +0 -10
  277. package/template/docs/releases/.gitkeep +0 -1
  278. package/template/docs/requirements/README.md +0 -85
  279. package/template/docs/requirements/tickets/.gitkeep +0 -1
  280. package/template/docs/templates/agent-brief-template.md +0 -46
  281. package/template/docs/templates/architecture-proposal-template.md +0 -18
  282. package/template/docs/templates/implementation-plan-template.md +0 -16
  283. package/template/docs/templates/implementation-routing-template.md +0 -350
  284. package/template/docs/templates/requirement-freeze-template.md +0 -63
  285. package/template/docs/templates/risk-register-template.md +0 -11
  286. package/template/docs/templates/user-story-template.md +0 -20
  287. package/template/docs/testing/README.md +0 -110
@@ -1,25 +0,0 @@
1
- {
2
- "name": "Tag",
3
- "semanticStructure": [
4
- {
5
- "key": "root",
6
- "description": "Root element with inline-block display, auto height, padding, font size, line height, nowrap, background color, border, border radius, opacity, transition animations, text alignment, relative positioning and other basic tag styles",
7
- "descriptionZh": "根元素,包含行内块布局、自动高度、内边距、字体大小、行高、禁止换行、背景色、边框、圆角、透明度、过渡动画、文本对齐、相对定位等标签的基础样式"
8
- },
9
- {
10
- "key": "icon",
11
- "description": "Icon element with font size, color, cursor style, transition animations and other icon display styles",
12
- "descriptionZh": "图标元素,包含字体大小、颜色、光标样式、过渡动画等图标的显示样式"
13
- },
14
- {
15
- "key": "content",
16
- "description": "Content element with text content color, font styles and other content area styles",
17
- "descriptionZh": "内容元素,包含文本内容的颜色、字体样式等内容区域的样式"
18
- },
19
- {
20
- "key": "close",
21
- "description": "Close element with close button layout, cursor styles, transition animations and other interaction styles",
22
- "descriptionZh": "关闭元素,包含关闭按钮的布局、光标样式、过渡动画等交互样式"
23
- }
24
- ]
25
- }
@@ -1,25 +0,0 @@
1
- {
2
- "token": [
3
- {
4
- "name": "defaultBg",
5
- "type": "string",
6
- "default": "#f5f5f5",
7
- "description": "Default background color",
8
- "descriptionZh": "默认背景色"
9
- },
10
- {
11
- "name": "defaultColor",
12
- "type": "string",
13
- "default": "rgba(0,0,0,0.88)",
14
- "description": "Default text color",
15
- "descriptionZh": "默认文字颜色"
16
- },
17
- {
18
- "name": "solidTextColor",
19
- "type": "string",
20
- "default": "#fff",
21
- "description": "Default text color for solid tag.",
22
- "descriptionZh": "默认实心标签的文本色"
23
- }
24
- ]
25
- }
@@ -1,3 +0,0 @@
1
- {
2
- "doc": "---\nversion: alpha\nname: Antdv Next\ndescription: According to the guidelines of Ant Design, we have developed the Vue UI library antdv-next, with the core values of \"natural, definite, meaningful, and continuous growth\".\ncolors:\n primary: '#1677FF'\n success: '#52C41A'\n warning: '#FAAD14'\n error: '#FF4D4F'\n info: '#1677FF'\n blue: '#1677FF'\n blue-7: '#0958D9'\n purple: '#722ED1'\n cyan: '#13C2C2'\n green: '#52C41A'\n magenta: '#EB2F96'\n red: '#F5222D'\n orange: '#FA8C16'\n yellow: '#FADB14'\n volcano: '#FA541C'\n geekblue: '#2F54EB'\n gold: '#FAAD14'\n lime: '#A0D911'\n surface: '#FFFFFF'\n surface-container: '#FAFAFA'\n surface-layout: '#F5F5F5'\n on-surface: '#1F1F1F'\n on-surface-variant: '#595959'\n on-surface-disabled: '#BFBFBF'\n outline: '#D9D9D9'\n outline-variant: '#F0F0F0'\ntypography:\n display-lg:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 38px\n fontWeight: '600'\n lineHeight: 46px\n headline-lg:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 30px\n fontWeight: '600'\n lineHeight: 38px\n headline-md:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 24px\n fontWeight: '600'\n lineHeight: 32px\n headline-sm:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 20px\n fontWeight: '600'\n lineHeight: 28px\n title-lg:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 16px\n fontWeight: '600'\n lineHeight: 24px\n title-md:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 14px\n fontWeight: '600'\n lineHeight: 22px\n body-lg:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 16px\n fontWeight: '400'\n lineHeight: 24px\n body-md:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 14px\n fontWeight: '400'\n lineHeight: 22px\n body-sm:\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif\"\n fontSize: 12px\n fontWeight: '400'\n lineHeight: 20px\n code:\n fontFamily: \"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace\"\n fontSize: 13px\n fontWeight: '400'\n lineHeight: 20px\nrounded:\n none: 0px\n sm: 2px\n md: 4px\n DEFAULT: 6px\n lg: 8px\n xl: 16px\n full: 9999px\nspacing:\n unit: 4px\n xs: 4px\n sm: 8px\n md: 16px\n lg: 24px\n xl: 32px\n control-height: 32px\ncomponents:\n button-primary:\n backgroundColor: '{colors.primary}'\n textColor: '#FFFFFF'\n typography: '{typography.body-md}'\n rounded: '{rounded.DEFAULT}'\n height: 32px\n padding: 0 15px\n button-primary-hover:\n backgroundColor: '#4096FF'\n button-primary-active:\n backgroundColor: '#0958D9'\n button-default:\n backgroundColor: '{colors.surface}'\n textColor: '{colors.on-surface}'\n typography: '{typography.body-md}'\n rounded: '{rounded.DEFAULT}'\n height: 32px\n padding: 0 15px\n button-default-hover:\n textColor: '#4096FF'\n input-field:\n backgroundColor: '{colors.surface}'\n textColor: '{colors.on-surface}'\n typography: '{typography.body-md}'\n rounded: '{rounded.DEFAULT}'\n height: 32px\n padding: 4px 11px\n input-field-focus:\n backgroundColor: '{colors.surface}'\n select-field:\n backgroundColor: '{colors.surface}'\n textColor: '{colors.on-surface}'\n typography: '{typography.body-md}'\n rounded: '{rounded.DEFAULT}'\n height: 32px\n padding: 0 11px\n card:\n backgroundColor: '{colors.surface}'\n textColor: '{colors.on-surface}'\n rounded: '{rounded.lg}'\n padding: 24px\n modal:\n backgroundColor: '{colors.surface}'\n textColor: '{colors.on-surface}'\n rounded: '{rounded.lg}'\n padding: 20px 24px\n menu-item-selected:\n backgroundColor: '#E6F4FF'\n textColor: '{colors.primary}'\n typography: '{typography.body-md}'\n tabs-tab-active:\n textColor: '{colors.primary}'\n typography: '{typography.body-md}'\n table-header:\n backgroundColor: '{colors.surface-container}'\n textColor: '{colors.on-surface}'\n typography: '{typography.title-md}'\n padding: 16px\n tag:\n backgroundColor: '{colors.surface-container}'\n textColor: '{colors.on-surface}'\n typography: '{typography.body-sm}'\n rounded: '{rounded.md}'\n padding: 0 7px\n tooltip:\n backgroundColor: 'rgba(0, 0, 0, 0.85)'\n textColor: '#FFFFFF'\n typography: '{typography.body-md}'\n rounded: '{rounded.md}'\n padding: 6px 8px\n dropdown-item-hover:\n backgroundColor: '{colors.surface-container}'\n textColor: '{colors.on-surface}'\n alert-success:\n backgroundColor: '#F6FFED'\n textColor: '{colors.on-surface}'\n rounded: '{rounded.lg}'\n padding: 8px 12px\n alert-warning:\n backgroundColor: '#FFFBE6'\n textColor: '{colors.on-surface}'\n rounded: '{rounded.lg}'\n padding: 8px 12px\n alert-error:\n backgroundColor: '#FFF2F0'\n textColor: '{colors.on-surface}'\n rounded: '{rounded.lg}'\n padding: 8px 12px\n alert-info:\n backgroundColor: '#E6F4FF'\n textColor: '{colors.on-surface}'\n rounded: '{rounded.lg}'\n padding: 8px 12px\n badge-status-error:\n backgroundColor: '{colors.error}'\n rounded: '{rounded.full}'\n width: 6px\n height: 6px\n tag-blue:\n backgroundColor: '#E6F4FF'\n textColor: '{colors.blue-7}'\n typography: '{typography.body-sm}'\n rounded: '{rounded.md}'\n padding: 0 7px\n---\n\n## Overview\n\nThis document describes the default light theme of Antdv Next. The system employs semantic versioning: Major versions indicate comprehensive updates to the design language, and are synchronized with the upstream Ant Design in terms of design.\n\nAntdv Next is an open-source project that converts the upstream React Ant Design version into the Vue version. It is mainly applied to the middle and back-end consoles, dashboards, and operation tools. This project was created in 2026 and aims to provide a shared and clearly defined infrastructure for large product teams, enabling them to deliver rich-functionality and data-intensive interfaces without having to redefine the basic design on each page.\n\nFour values guide every decision in the system:\n\n- **Natural.** The interface follows established conventions; nothing surprises a returning user. Patterns that already exist in operating systems and prior generations of enterprise software are preferred over novel inventions.\n- **Certain.** Users always know what state they're in, what their inputs did, and what the next step is. Hover, focus, loading, and error states are explicit and consistent.\n- **Meaningful.** Visual emphasis is reserved for action. Decoration that does not communicate is removed.\n- **Growing.** The system scales from small forms to dense tables to multi-tenant admin consoles without losing coherence.\n\n## Colors\n\nThe palette is built from one **primary** brand seed, four semantic state seeds (`success`, `warning`, `error`, `info`), and neutral base colors for text and surfaces. Color seeds expand automatically through `@ant-design/colors` into gradient steps covering background tint, hover, active, and outline variants — change the seed, and the entire derived palette moves with it.\n\n`#1677FF` was chosen as the primary because blue reads as trustworthy and focused without the corporate flatness of a darker navy or the playfulness of a saturated cyan. It is the default brand color for actions, links, focus rings, selected navigation, and active tabs.\n\nAccessibility note: this file records Antdv Next's default visual tokens. Some brand-color pairs, especially white text on `#1677FF` and primary text on pale selected backgrounds, are below WCAG AA's 4.5:1 contrast threshold for small text. For strict accessibility targets, darken `colorPrimary` through `ConfigProvider` or use component-specific token overrides rather than inventing one-off colors.\n\nNeutral text and overlays in the runtime token system are expressed as `rgba(0, 0, 0, α)` rather than flat grey hex values. The reason is overlay: when text sits above a tinted card or a colored cell highlight, an opaque grey breaks the tint, while a transparent black blends naturally. The four standard alpha steps are `0.88` (primary text, exported here as `#1F1F1F`), `0.65` (secondary text, `#595959`), `0.45` (tertiary / description text), and `0.25` (placeholder / disabled, `#BFBFBF`). The hex values listed in this document are the equivalent composited result on a white surface, suitable for static export targets that require hex; downstream consumers that support alpha should prefer the `rgba()` form from `@antdv-next/cssinjs`.\n\nThe preset colors (`blue`, `purple`, `cyan`, `green`, `magenta`, `red`, `orange`, `yellow`, `volcano`, `geekblue`, `gold`, `lime`; `pink` is a deprecated alias of `magenta` in runtime tokens) are reserved for tags, charts, and categorical visualization — never for primary UI affordances. Use functional colors (`success`/`warning`/`error`/`info`) for status, and reserve `primary` for the single most important action on each screen.\n\n## Typography\n\nThe base font size is **14 px**, not 16. Enterprise consoles trade legibility headroom for information density — a 1440 px-wide window has to comfortably fit a sidebar, a header, a data table with eight columns, and a detail pane. At 14 px, a row of body copy reaches the eye-saccade sweet spot of ~75 characters at the column widths these layouts demand.\n\nThe font stack prioritizes the OS UI font in order: Apple's `-apple-system`, then `BlinkMacSystemFont`, then Windows' `Segoe UI`, then Android/ChromeOS' `Roboto`, then `Helvetica Neue`, then `Arial`, with `Noto Sans` covering Linux. Emoji fallbacks are kept short. The code font uses `SFMono-Regular`, `Consolas`, `Liberation Mono`, `Menlo`, and `Courier` in the same order.\n\nOnly **two font weights** appear in product UI: 400 (body, controls, menu items, tab labels) and 600 (`fontWeightStrong` — headings, table headers, and any title-grade typography). Thin (100–300), bold (700+), and italics are not used in interface chrome — they fight the calm, certain tone the system targets. Italics are acceptable only inside long-form documentation prose. Visual emphasis on selected/active states comes from color and stroke (border, underline), not weight.\n\n## Layout\n\nAll spacing snaps to a **4 px grid**. The six-step spacing scale (`unit`, `xs`, `sm`, `md`, `lg`, `xl` → 4 / 4 / 8 / 16 / 24 / 32 px) covers every gap, gutter, and inset in the system. Magic numbers — `padding: 11px`, `gap: 13px` — do not appear in token-driven code; the input field's 11 px horizontal padding exists only because the design pre-dates the 4 px grid and a one-pixel migration would shift millions of existing screens.\n\nSurfaces use a **three-layer model**:\n\n1. **`bg-layout`** (`#F5F5F5`) — the page background. It surrounds and contains everything else.\n2. **`bg-container`** (`#FFFFFF`) — the surface for cards, panels, tables, and forms. This is where most content lives.\n3. **`bg-elevated`** (`#FFFFFF`, same hex as `bg-container`) — the surface for modals, dropdowns, popovers. Distinguished from `bg-container` not by color but by shadow.\n\nNever hard-code `#FFF` or `#FAFAFA` in product code. Read the token. The three-layer model is what lets a dark-mode algorithm flip the surface ladder without breaking layouts.\n\n## Elevation & Depth\n\nAntdv Next is **flat-first**. Borders and tonal contrast carry hierarchy. Shadows appear only on surfaces that genuinely float above their context.\n\nShadow tokens are generated from `colorShadow`, so the same names adapt across light and dark themes. The core tiers are:\n\n- **Tertiary** (`boxShadowTertiary`) — the light raised-surface shadow: `0 1px 2px 0 rgba(0,0,0,0.05), 0 1px 6px -1px rgba(0,0,0,0.03), 0 2px 4px 0 rgba(0,0,0,0.03)`.\n- **Popup** (`boxShadow` and `boxShadowSecondary`) — the standard floating-layer shadow: `0 6px 16px 0 rgba(0,0,0,0.08), 0 3px 6px -4px rgba(0,0,0,0.12), 0 9px 28px 8px rgba(0,0,0,0.05)`.\n- **Card** (`boxShadowCard`) — a card-specific raised shadow with tighter spread, used when cards need separation from the container.\n- **Directional drawer and overflow shadows** (`boxShadowDrawer*`, `boxShadowTabsOverflow*`) — specialized tokens for edge-attached surfaces and scroll affordances.\n- **Popover arrow** (`boxShadowPopoverArrow`) — used only for the small triangular pointer on tooltip and popover arrows.\n\nMotion uses three durations and a small library of cubic-bezier easings, all exposed as tokens:\n\n- `motionDurationFast` — 0.1 s, for state changes (hover, focus, press).\n- `motionDurationMid` — 0.2 s, for component-internal transitions (collapse, fade).\n- `motionDurationSlow` — 0.3 s, for surface-level changes (modal enter, drawer slide).\n\nEasings are pre-defined: `motionEaseInOut`, `motionEaseOut`, `motionEaseIn`, `motionEaseOutBack`, `motionEaseOutCirc`, etc. Do not pick a `transition-timing-function` arbitrarily. If the design need does not match an existing easing, use `motionEaseInOut` and move on.\n\n## Shapes\n\nThe default corner radius is **6 px**. It is round enough to read as modern and friendly, but small enough that a 32-pixel-tall button still presents a clean, almost-rectangular silhouette suitable for dense forms.\n\nBy component class:\n\n- **Controls** (button, input, select, dropdown trigger) — 6 px (`rounded.DEFAULT`).\n- **Surfaces** (card, modal, drawer, notification) — 8 px (`rounded.lg`).\n- **Tags and small chips** — 4 px (`rounded.md`).\n- **Tooltip and popover** — 4 px (`rounded.md`).\n\nFull-pill (`rounded.full`, 9999 px) is reserved for circular avatars, badges, and dots — not for buttons or tags. Square (0 px) is reserved for tables and the inner edges of segmented controls. Mixing radii on adjacent elements is a smell: a card with 8 px corners should not contain a button with 16 px corners.\n\n## Components\n\nComponent archetypes capture the system's most common surfaces and states. Each entry below maps to the token references in the YAML front-matter.\n\n- **Button (primary)** — the single dominant action per screen. Solid `primary` fill, white text, 32 px tall, 6 px radius. Hover lightens the fill to `#4096FF`; active darkens to `#0958D9`. Do not stack two `primary` buttons in one decision.\n- **Button (default)** — secondary actions. Transparent background on a white surface, dark text, 1 px outline border. Hover changes text color to `#4096FF`; the border tints to match.\n- **Input field** — 32 px tall to match buttons. Subtle 1 px outline border; focus state thickens the border to `primary` and adds an inset glow. Placeholder text uses `on-surface-disabled`.\n- **Select** — visually identical to Input. The trigger reads as an input until interacted with.\n- **Card** — the workhorse container. White surface, 8 px radius, optional `boxShadowCard` elevation. Internal padding is 24 px on all sides; nested controls maintain 16 px gaps.\n- **Modal** — same surface and radius as Card, but uses the secondary shadow tier and is centered on a `rgba(0, 0, 0, 0.45)` mask. Body padding is 20 px top/bottom × 24 px left/right.\n- **Menu (selected item)** — `#E6F4FF` background, `primary` text. This is the single visual cue for \"you are here\" in navigation.\n- **Tabs (active tab)** — `primary` text and a 2 px `primary` underline. Inactive tabs are `on-surface-variant`. No background fill on tabs at any state.\n- **Table (header row)** — `surface-container` background, `title-md` typography (14 px / 600). Body rows alternate on hover only, not by default — the system trusts users to read dense data without zebra striping.\n- **Tag** — small categorical label. 4 px radius, 12 px font, low-saturation pastel fills from the preset palette. Never use a tag for a critical state — use Alert or Badge.\n- **Alert** — semantic feedback surface. Success, warning, error, and info alerts use pale semantic backgrounds with normal text color; the status is communicated by icon and tint, not by low-contrast colored body text.\n- **Badge status dot** — compact status indicator. Critical status may use `error` fill, but the dot is not a substitute for text in accessibility-critical flows.\n- **Tooltip** — high-contrast inverse surface: `rgba(0,0,0,0.85)` background, white text. Always positioned by the framework, never manually pinned.\n- **Dropdown menu (item hover)** — `surface-container` fill on hover, no text-color change. The hover affordance is enough.\n\n## Do's and Don'ts\n\n- **Do** use the four design values as a tie-breaker. When two approaches conflict, the one that produces a more certain, more legible state for the user wins.\n- **Don't** stack two `primary`-colored buttons on the same surface. Pick one. Demote the rest to `default`.\n- **Do** read surfaces from `colors.surface`, `colors.surface-container`, and `colors.surface-layout`. They reflect the three-layer model.\n- **Don't** hard-code `#FFFFFF` or `#FAFAFA`. The hex is incidental; the role is what matters.\n- **Do** use `motionDurationMid` (0.2 s) for any component-level transition you cannot find a more specific token for.\n- **Don't** invent custom `cubic-bezier` curves. Use the named easings.\n- **Do** reserve the preset color palette (`blue` through `lime`) for tags, charts, and categorical visualization.\n- **Don't** mint accent colors outside the preset palette for one-off UI surfaces. If a screen seems to need one, the design probably needs a different layout instead.\n- **Do** snap every gap, inset, and gutter to the 4 px grid through the spacing scale.\n- **Don't** use magic numbers in product code. If the scale lacks a step you need, the design needs revisiting, not a one-pixel override.\n\n## Customization\n\nEvery value in the YAML front-matter above is a **default** produced by `defaultAlgorithm` — the light theme. Antdv Next theming is broader than Design Token replacement: it includes algorithmic derivation, component-scoped overrides, dynamic switching, nested theme scopes, CSS variable output, static token consumption, and zero-runtime CSS extraction. See [Customize Theme](https://www.antdv-next.com/docs/vue/customize-theme.md) for the complete runtime API and examples.\n\nThe primary theme configuration entry is `ConfigProvider`'s `theme` prop:\n\n1. **Seed token overrides.** Pass `theme.token` to `ConfigProvider` to replace any seed. The primary and semantic color seeds (`colorPrimary`, `colorSuccess`, `colorWarning`, `colorError`, `colorInfo`) expand into derived gradients, while `colorBgBase` and `colorTextBase` drive neutral surfaces and text. Spacing, radius, and font-size seeds work the same way.\n\n2. **Algorithm switching.** Set `theme.algorithm` to swap the derivation logic. `defaultAlgorithm`, `darkAlgorithm`, and `compactAlgorithm` can be used alone or composed as an array — do not invert colors manually; the algorithms account for non-linear palette, surface, shadow, and size relationships.\n\n3. **Component-level overrides.** `theme.components.Button` (or any component's token namespace) can override a single component's Component Token and consumed Alias Token without affecting others. In component config, `algorithm` can opt that component into token derivation when the override should still follow seed-token relationships.\n\n4. **Runtime scope.** Themes can switch dynamically by changing `ConfigProvider.theme`, and nested `ConfigProvider` instances create local themes that inherit unchanged tokens from their parent. Static APIs such as `message.xxx`, `Modal.xxx`, and `notification.xxx` do not automatically receive the surrounding context; use hook-based APIs, `App`, or explicit context holders when themed static feedback is required.\n\nFor custom theme generation, keep Antdv Next's interaction structure, density, state feedback, and component semantics first. Then change the smallest necessary seed set: usually `colorPrimary`, status colors, `borderRadius`, `fontFamily`, `fontSize`, and neutral surface bases. Brand pages may look distinct, but forms, tables, navigation, overlays, focus states, and validation feedback should still feel like Antdv Next. Avoid generating custom CSS rules that bypass tokens, algorithms, `theme.components`, CSS variables, or extracted static styles; if a theme cannot be expressed through those official layers, treat that as a design-system extension rather than a one-off page style."
3
- }
@@ -1,215 +0,0 @@
1
- {
2
- "schema_version": 1,
3
- "provider_id": "vue-antdv-next",
4
- "maturity": "supported",
5
- "collection_profile": "selected-components",
6
- "generated_at": "2026-09-04T16:34:33.843Z",
7
- "library": {
8
- "package": "antdv-next",
9
- "requested_version": "1.5.2",
10
- "resolved_snapshot_version": "1.5.2",
11
- "integrity": "sha512-IWhjaBteKcUuhtjchWPPcI7C5PngGUmiU++fJ8CEE+lKqisCgT4Yji6CHdTE2MKzIObarXI9FyhgQ+bN8SJEtQ==",
12
- "tarball": "https://registry.npmjs.org/antdv-next/-/antdv-next-1.5.2.tgz",
13
- "observed_dist_tags": {
14
- "rc": "1.0.0-rc.4",
15
- "beta": "1.3.4-beta.1",
16
- "latest": "1.5.3"
17
- }
18
- },
19
- "cli": {
20
- "package": "@antdv-next/cli",
21
- "version": "0.0.0-beta.5",
22
- "integrity": "sha512-m2OUZdBduFNf3UMhgo4+NlYpocQAV7Y22gdZtaWyWNzMT0WMZBkPOtFCBKUHs2vOejrSNgKXrrRHmKlK1VZycw==",
23
- "tarball": "https://registry.npmjs.org/@antdv-next/cli/-/cli-0.0.0-beta.5.tgz",
24
- "observed_dist_tags": {
25
- "latest": "0.0.0-beta.1",
26
- "beta": "0.0.0-beta.5"
27
- },
28
- "invocation": [
29
- "npx",
30
- "-y",
31
- "@antdv-next/cli@0.0.0-beta.5"
32
- ],
33
- "help_ref": "cli-help.txt",
34
- "help_sha256": "7acbc5094a94d2fa81e38479128ae726e595eebfcdf16e54a463f47313247a16"
35
- },
36
- "resolution_probe": {
37
- "command": [
38
- "changelog",
39
- "1.5.2",
40
- "1.5.2",
41
- "--format",
42
- "json"
43
- ],
44
- "from": "1.5.2",
45
- "to": "1.5.2",
46
- "exact_match": true,
47
- "output": {
48
- "ref": "resolution-probe.json",
49
- "sha256": "6c31e5db597974e8c3cdc09c1c2568976e447addf5039aee063f162149da343a"
50
- }
51
- },
52
- "component_list": {
53
- "ref": "component-list.json",
54
- "sha256": "4f5e50bf2c39c78fcab9c95f8c913947db21863b9011d81ddd3abae0f03a2294"
55
- },
56
- "design_baseline": {
57
- "version_scope": "static-alpha-not-exact",
58
- "declared_version": "alpha",
59
- "output": {
60
- "ref": "design-md.json",
61
- "sha256": "5e437c44ab1e8ccc9f745c107380403596a03bd4017cad28226837b0e44b6f73"
62
- }
63
- },
64
- "project_baseline": {
65
- "override_precedence": "project-first",
66
- "canonical_design": {
67
- "ref": "DESIGN.md",
68
- "sha256": "59a9f90f7dd62d5e1d4c398e7b8ab8fae595622d0d5fea7bc0d43fe63802f5d5"
69
- },
70
- "design": {
71
- "ref": "docs/design/design.md",
72
- "sha256": "c66a35c2d0b71c72fa9cdd6a0c5e5cae337b1b31f88ba02cefc3cedb2faf95af"
73
- },
74
- "tokens": {
75
- "ref": "docs/design/tokens/theme.json",
76
- "sha256": "aab648fa655c9d6f6d3932081a035543fd6481902c873dd218b50f9e550bedac"
77
- },
78
- "override_reviewed": false
79
- },
80
- "components": [
81
- {
82
- "name": "Alert",
83
- "info": {
84
- "ref": "components/Alert/info.json",
85
- "sha256": "8a4bd01cc1ac4967933e798f76437d198c3e2e60342d2d51260b76f496d979bc"
86
- },
87
- "demo": {
88
- "ref": "components/Alert/demo-basic.json",
89
- "sha256": "2109f9e018efd41d3ada2f514bde2bd5c21efdf3e1e8c792d5ee30a74a217c02"
90
- },
91
- "token": {
92
- "ref": "components/Alert/token.json",
93
- "sha256": "207dadae492ed766288d3f03094ccad0050c19f962f1b2f80c72f3b06381178a"
94
- },
95
- "semantic": {
96
- "ref": "components/Alert/semantic.json",
97
- "sha256": "802d1aa5bab754a41fc76952b46e31abc95d390658196a4d0fa186ff9e2ff694"
98
- }
99
- },
100
- {
101
- "name": "Button",
102
- "info": {
103
- "ref": "components/Button/info.json",
104
- "sha256": "145221bd782ed4ce98b45af70774e169dc9527eadf81a32c8706aae2b3e9b05d"
105
- },
106
- "demo": {
107
- "ref": "components/Button/demo-basic.json",
108
- "sha256": "3ec6e46e1369864f58fec3fe5afda4860f3758afe93d2c893451f6eebd9dd3d2"
109
- },
110
- "token": {
111
- "ref": "components/Button/token.json",
112
- "sha256": "0305dcb032b087a4b0aa7ce13c0754720c6236e1e7f87547426f9ede22a618b4"
113
- },
114
- "semantic": {
115
- "ref": "components/Button/semantic.json",
116
- "sha256": "75ecccf076d1810aaf71940b132012416e8bd00f1069d506d377f6233a7dcee6"
117
- }
118
- },
119
- {
120
- "name": "Input",
121
- "info": {
122
- "ref": "components/Input/info.json",
123
- "sha256": "0033a88079e02579c99a59d0c009d987e599fba3c95e691f80de8de7a21d4009"
124
- },
125
- "demo": {
126
- "ref": "components/Input/demo-basic.json",
127
- "sha256": "670d57656637b352e7315d14396607744e6882c936b30beebff826c37ddbe259"
128
- },
129
- "token": {
130
- "ref": "components/Input/token.json",
131
- "sha256": "36767a64c302ca2ea86d70492d0c3cd3412f31192932cd824008d88c0f722ea1"
132
- },
133
- "semantic": {
134
- "ref": "components/Input/semantic.json",
135
- "sha256": "c770ddd0ebfce5563c17707085a01eb37794af50007373ee75ec8d7bb980fe0a"
136
- }
137
- },
138
- {
139
- "name": "Modal",
140
- "info": {
141
- "ref": "components/Modal/info.json",
142
- "sha256": "aa50eedeee60806ed6f1c8f8c6798ed8d6cd3221426db72bdb8dff8fb534dd30"
143
- },
144
- "demo": {
145
- "ref": "components/Modal/demo-basic.json",
146
- "sha256": "d1151ffb74350f20cfd4225a531197c3ee575c2107e9a5aa5db30041a4495c37"
147
- },
148
- "token": {
149
- "ref": "components/Modal/token.json",
150
- "sha256": "fd3b851f56c63a6171d521f6ac4f48aea7640652f096b3e77fa5682be5a2f022"
151
- },
152
- "semantic": {
153
- "ref": "components/Modal/semantic.json",
154
- "sha256": "f7f744481801ae49cab710e3027e6f5f41c6fb5984cd2994f9cef57e6208076e"
155
- }
156
- },
157
- {
158
- "name": "Select",
159
- "info": {
160
- "ref": "components/Select/info.json",
161
- "sha256": "880df5a50411cca9d9a06ca7141815a5370617729c5734c65931f4f159683b31"
162
- },
163
- "demo": {
164
- "ref": "components/Select/demo-basic.json",
165
- "sha256": "07bf73b5807886e2da2562440b00ebb976fc1ad87aa1d5c4667878d00a9ca922"
166
- },
167
- "token": {
168
- "ref": "components/Select/token.json",
169
- "sha256": "5f6cc15b8e2abd887e826b71ba98e987217aae05a4fe859b7d0cf6082d28c135"
170
- },
171
- "semantic": {
172
- "ref": "components/Select/semantic.json",
173
- "sha256": "a138dc01999d1d3d972b5d811ba35ec6130e39ec4e956cdb8f14d169d2bfcf97"
174
- }
175
- },
176
- {
177
- "name": "Table",
178
- "info": {
179
- "ref": "components/Table/info.json",
180
- "sha256": "f1e27b0a3357533034664b5237c059e518b49a3973a39e2f9f8599e14b0a1530"
181
- },
182
- "demo": {
183
- "ref": "components/Table/demo-basic.json",
184
- "sha256": "3e6c11f3e43b1056bcfe8b61bd2d2784e5eb752ecaab40a9513ff237c74385a4"
185
- },
186
- "token": {
187
- "ref": "components/Table/token.json",
188
- "sha256": "ca23d66e43faadab6e47d325e8def1e9b2ac57e9ea36d85189ec9010a332c12e"
189
- },
190
- "semantic": {
191
- "ref": "components/Table/semantic.json",
192
- "sha256": "c515d31a76255620572a6449f0bd56d2147bbfb943350cfffd4effb857b9a42c"
193
- }
194
- },
195
- {
196
- "name": "Tag",
197
- "info": {
198
- "ref": "components/Tag/info.json",
199
- "sha256": "40b244a9f069dee377ed052677edb66fcae6daee697e6d0e0a16805773ac9a5b"
200
- },
201
- "demo": {
202
- "ref": "components/Tag/demo-basic.json",
203
- "sha256": "5fe3f1d9dc7b961de928ce7969fa9d2aece8bb8e9e687f9b2b1a9fe5a1397973"
204
- },
205
- "token": {
206
- "ref": "components/Tag/token.json",
207
- "sha256": "03e34c4dc96e403d3e7831a91adae0de0ba145551d70a321af4d71c51af6edea"
208
- },
209
- "semantic": {
210
- "ref": "components/Tag/semantic.json",
211
- "sha256": "d6df74c85da3e6394b5b1b720f41d77e461470ab6cdfdab25a47f035f8bac241"
212
- }
213
- }
214
- ]
215
- }
@@ -1,5 +0,0 @@
1
- {
2
- "from": "1.5.2",
3
- "to": "1.5.2",
4
- "diffs": []
5
- }
@@ -1 +0,0 @@
1
-
@@ -1,96 +0,0 @@
1
- # 机会构想 (Ideation) — 发现与需求之间的假设生成
2
-
3
- > **Plan 内部方法:生成可验证假设,再用 事实核查 事实校准。AI 是发散、挑战和组合机会的加速器。**
4
-
5
- ---
6
-
7
- ## 定位:机会探索环中的假设生成
8
-
9
- Ideation 不等同于 Matt skills `需求澄清`:
10
-
11
- | 项 | 定位 | 输出 |
12
- |---|---|---|
13
- | Ideation Agent | 产品机会探索角色,回答“可能做什么、是否值得探索” | 候选机会、假设、挑战点、组合方案 |
14
- | 事实核查角色 | 事实验证角色,回答“证据支持什么、用户真实痛点是什么” | 市场、竞品、用户洞察、MVP 边界输入 |
15
- | Matt skills `需求澄清` | 方法论 skill,回答“某个已选方向如何形成技术方案” | 设计说明、方案取舍、风险识别、进入计划前的批准点 |
16
-
17
- 推荐关系:
18
-
19
- ```text
20
- 市场 / 竞品 / 用户事实 <-> 机会构想假设 <-> MVP 边界
21
- ```
22
-
23
- 如果只有一个模糊主题,可以先 Ideation 再 事实核查;如果已经有竞品、用户或行业材料,应先 事实核查 再 Ideation。二者循环到 Spec 前,必须收敛用户、痛点、做什么、不做什么和成功标准。
24
-
25
- ---
26
-
27
- ## AI 在机会构想中的四种角色
28
-
29
- ### 1. 发散者 — 产生大量想法
30
-
31
- ```python
32
- delegate_task(
33
- goal="对'[主题]'做机会构想,至少产生 30 个候选机会",
34
- context="""
35
- 不要过滤。不讨论可行性。数量优先。
36
- 思考维度:功能/体验/运营/技术/商业模式
37
- 输出:30+ 个候选机会,每个一句话 + 维度标签
38
- """
39
- )
40
- ```
41
-
42
- ### 2. 挑战者 — 魔鬼代言人
43
-
44
- ```python
45
- delegate_task(
46
- goal="对这 5 个候选机会,站在反对者角度逐一挑战",
47
- context="对每个候选机会:用户为什么不买账?技术上最大的坑?竞品失败过吗?"
48
- )
49
- ```
50
-
51
- ### 3. 连接者 — 发现模式
52
-
53
- ```python
54
- delegate_task(
55
- goal="分析 30 个候选机会,找出隐藏的模式和可组合的机会",
56
- context="归类为 5-7 个主题 / 识别可组合的 / 标注低垂果实 vs 登月计划"
57
- )
58
- ```
59
-
60
- ### 4. 记录者 — 结构化输出
61
-
62
- ```python
63
- delegate_task(
64
- goal="将机会构想输出整理为结构化文档",
65
- context="按主题分类 + 假设-证据-风险矩阵 + Top 5 + Next Steps"
66
- )
67
- ```
68
-
69
- ---
70
-
71
- ## 方法库
72
-
73
- ### How Might We (HMW)
74
- ```
75
- 用户痛点 → "我们如何..." → 针对每个 HMW 产生想法
76
- ```
77
-
78
- ### Crazy 8s
79
- ```
80
- 8 分钟画 8 个方案草图 → 投票选出最佳
81
- ```
82
-
83
- ### SCAMPER
84
- ```
85
- Substitute / Combine / Adapt / Modify / Put to another use / Eliminate / Reverse
86
- ```
87
-
88
- ---
89
-
90
- ## AI-Human Loop
91
-
92
- ```
93
- 人类提主题或 事实核查 事实 → AI 发散候选机会 → 人类选择 Top 10
94
- → AI 挑战者分析 → 事实核查 验证证据 → AI 连接者找模式
95
- → 收敛 MVP 边界 → 确认是否进入 Spec / Ticket 或 Matt skills 需求澄清 技术方案设计
96
- ```
@@ -1,10 +0,0 @@
1
- # PDCA × Scrum × AI
2
-
3
- 模板维护和项目实例研发都采用短反馈循环:Plan 明确范围与门禁,Do 执行一个可验证工作单元,Check 运行 fresh verification,Act 回写权威资产和下一步。Scrum 的迭代节奏只影响协作安排,不改变 YSS 生命周期阶段、条件门禁或 Ticket 状态。
4
-
5
- ## 使用约束
6
-
7
- - 每个工作单元先确认 `yss-project.yaml` 身份和最近可信阶段。
8
- - 以垂直切片和公开测试 seam 交付,不按纯技术层横向堆积未验证代码。
9
- - Check 失败时保留证据并回到最近的阻塞门禁,不以“已执行命令”替代通过结论。
10
- - Act 只修改单一事实来源,再同步技能投影和派生文档。
@@ -1,10 +0,0 @@
1
- # Harness 执行蓝图
2
-
3
- Harness 以仓库身份、影响面、条件门禁和可读证据串联研发流程。执行编排器只推进第一个未阻塞工作单元,并在人工暂停、handoff、实现、合并和发布边界集中回写 checkpoint。
4
-
5
- ## 核心约束
6
-
7
- - `template-source` 只维护流程模板,不生成具体产品资产。
8
- - `project-instance` 必须从最近可信阶段进入,不以目录猜测门禁状态。
9
- - 命中条件的门禁未通过时,状态保持 blocked 或 needs-human。
10
- - 没有 fresh verification 和可解析 evidence refs 时,不宣布完成。
@@ -1 +0,0 @@
1
-
@@ -1,85 +0,0 @@
1
- # 需求定义 (Requirements) — 从想法到可执行定义
2
-
3
- > **Phase: Requirements | 输入: Plan | 输出: Spec + Stories + 验收条件**
4
-
5
- ---
6
-
7
- ## Engineering Skills 流程
8
-
9
- 默认需求链路:
10
-
11
- ```text
12
- grill-with-docs -> to-spec -> API 影响分析 / 契约草案 -> Architecture 反审 -> OpenAPI Freeze -> to-tickets
13
- ```
14
-
15
- 进入开发前必须满足:
16
-
17
- - [ ] Spec 使用 [../templates/spec-template.md](../templates/spec-template.md)。
18
- - [ ] OpenAPI 影响明确为“无”或已产出契约草案 / review-only Draft;进入开发前必须冻结 `docs/.scratch/<feature>/api/<feature>.yaml`。
19
- - [ ] 测试决策明确主要测试 seam。
20
- - [ ] AI / 人工审查点标注风险 / 人工确认项。
21
- - [ ] 后续 Ticket 使用 [../templates/vertical-slice-ticket-template.md](../templates/vertical-slice-ticket-template.md),不得按层横向拆分。
22
-
23
- Local Markdown 默认将完整功能包保存到 `docs/.scratch/<feature>/`;功能父 Ticket 使用 [../templates/local-parent-ticket-template.md](../templates/local-parent-ticket-template.md)。GitHub / GitLab 只有在项目明确选择时才作为主 tracker。
24
-
25
- ## AI 三步法
26
-
27
- ### Step 1: 生成 Spec 初稿
28
-
29
- ```python
30
- delegate_task(
31
- goal="根据发现报告生成 Spec 初稿",
32
- context="""
33
- 输入:发现报告 (市场+竞品+用户)
34
- 输出:背景/用户画像/场景/功能需求/NFR/验收条件/边界/技术影响
35
- """
36
- )
37
- ```
38
-
39
- ### Step 2: 补充边界场景
40
-
41
- ```python
42
- delegate_task(
43
- goal="对 Spec 做边界场景挖掘",
44
- context="""
45
- 从以下角度挖掘遗漏场景:
46
- 空值/并发/权限/网络异常/数据量极端/时间相关/国际化
47
- """
48
- )
49
- ```
50
-
51
- ### Step 3: 拆解用户故事
52
-
53
- ```python
54
- delegate_task(
55
- goal="将 Spec 拆解为可估算的用户故事",
56
- context="""
57
- 格式: As a / I want / So that
58
- 附带 Gherkin 验收条件 + 优先级(P0/P1/P2) + AI风险标注
59
- """
60
- )
61
- ```
62
-
63
- ---
64
-
65
- ## Spec 模板结构
66
-
67
- 1. 问题陈述 / 解决方案
68
- 2. 用户故事
69
- 3. 功能需求 / 非功能需求
70
- 4. 验收标准
71
- 5. OpenAPI 影响
72
- 6. 测试决策
73
- 7. AI / 人工审查点
74
- 8. 非目标范围
75
- 9. 风险
76
-
77
- ---
78
-
79
- ## AI-Human Loop
80
-
81
- ```
82
- Plan报告 → AI生成Spec → PM审核
83
- → AI补充边界 → PM确认 → AI拆解Stories
84
- → 团队估算 → AI标注风险 → TechLead确认 → 进入Architecture
85
- ```
@@ -1,46 +0,0 @@
1
- # Agent Brief:<Ticket 标题>
2
-
3
- > 本简报用于 `ready-for-agent` 状态的垂直切片 Ticket。内容必须足够完整,使 Agent 无需向维护者询问隐藏背景即可开始工作。
4
-
5
- ## Ticket 信息
6
-
7
- - 链接:
8
- - 分类:bug / enhancement
9
- - 状态:ready-for-agent
10
-
11
- ## 背景
12
-
13
- 记录已知信息,包括 `CONTEXT.md` 中的相关领域术语,以及约束方案的 ADR。
14
-
15
- ## 目标
16
-
17
- Agent 必须交付的可观察行为。
18
-
19
- ## 非目标
20
-
21
- Agent 不应修改的范围。
22
-
23
- ## 验收标准
24
-
25
- - [ ] 标准 1
26
- - [ ] 标准 2
27
- - [ ] 标准 3
28
-
29
- ## 实现提示
30
-
31
- - 推荐测试 seam:
32
- - OpenAPI Draft / Freeze 影响:
33
- - 相关既有实现:
34
-
35
- ## 验证方式
36
-
37
- Agent 应运行的命令或检查:
38
-
39
- ```bash
40
- # 命令
41
- ```
42
-
43
- ## 风险与人工审查
44
-
45
- - [ ] 无高风险变更或需人工确认项
46
- - [ ] 已明确的高风险变更包含对应人工确认项
@@ -1,18 +0,0 @@
1
- ---
2
- pipeline: <feature-id>
3
- stage: design
4
- status: draft
5
- owner: ai
6
- ---
7
-
8
- # 架构方案:<功能名称>
9
-
10
- ## 背景
11
-
12
- ## 备选方案
13
-
14
- ## 决策
15
-
16
- ## 风险
17
-
18
- ## 验证方式
@@ -1,16 +0,0 @@
1
- ---
2
- pipeline: <feature-id>
3
- stage: design
4
- status: draft
5
- owner: ai
6
- ---
7
-
8
- # 实现计划:<功能名称>
9
-
10
- ## 目标
11
-
12
- ## 任务拆解
13
-
14
- ## 完成定义
15
-
16
- ## 验证方式