@givolt/i3-composer-agent 2.2.2 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/.agents/plugins/marketplace.json +1 -1
  2. package/.claude/commands/i3-prototype.md +23 -0
  3. package/.claude/commands/i3-review.md +1 -1
  4. package/.claude/commands/i3-ship.md +1 -1
  5. package/.claude-plugin/marketplace.json +1 -1
  6. package/.claude-plugin/plugin.json +1 -1
  7. package/.codex-plugin/plugin.json +2 -2
  8. package/.gemini/commands/i3-prototype.toml +23 -0
  9. package/.gemini/commands/i3-review.toml +1 -1
  10. package/.gemini/commands/i3-ship.toml +1 -1
  11. package/README.md +42 -25
  12. package/agents/code-reviewer.md +1 -1
  13. package/agents/test-engineer.md +1 -1
  14. package/bin/i3-composer-agent.cjs +5 -4
  15. package/bin/install.cjs +22 -10
  16. package/bin/native-command-validation.cjs +8 -13
  17. package/bin/native-layout.cjs +64 -28
  18. package/bin/native-migration.cjs +13 -7
  19. package/bin/native-runtime.cjs +10 -5
  20. package/commands/i3-prototype.toml +23 -0
  21. package/commands/i3-review.toml +1 -1
  22. package/commands/i3-ship.toml +1 -1
  23. package/docs/advanced-per-agent-configuration.md +78 -0
  24. package/docs/agents.md +2 -2
  25. package/docs/codebuddy-setup.md +5 -5
  26. package/docs/codex-setup.md +3 -3
  27. package/docs/copilot-setup.md +4 -0
  28. package/docs/cursor-setup.md +3 -0
  29. package/docs/other-hosts.md +44 -9
  30. package/docs/workbuddy-setup.md +9 -9
  31. package/evals/README.md +28 -16
  32. package/evals/cases/i3-documentation-and-adrs.json +18 -0
  33. package/evals/cases/i3-test-driven-development.json +8 -0
  34. package/evals/cases/i3-ui-prototype.json +49 -0
  35. package/evals/fixtures/i3-documentation-and-adrs/prose-review/README.md +19 -0
  36. package/evals/fixtures/i3-documentation-and-adrs/prose-review/queue.js +32 -0
  37. package/evals/fixtures/i3-ui-prototype/business-brief.md +7 -0
  38. package/evals/plugin/tdd-fires-on-pasted-bug/graders/failing-test-first.md +7 -0
  39. package/evals/plugin/tdd-fires-on-pasted-bug/graders/skill-fired.md +5 -0
  40. package/evals/plugin/tdd-fires-on-pasted-bug/prompt.md +15 -0
  41. package/evals/plugin/tdd-stays-quiet-on-debug/graders/not-fired.md +8 -0
  42. package/evals/plugin/tdd-stays-quiet-on-debug/prompt.md +25 -0
  43. package/evals/zh-CN/cases/i3-documentation-and-adrs.json +19 -0
  44. package/evals/zh-CN/cases/i3-test-driven-development.json +4 -0
  45. package/evals/zh-CN/cases/i3-ui-prototype.json +50 -0
  46. package/hooks/SIMPLIFY-IGNORE.md +3 -2
  47. package/hooks/simplify-ignore-test.sh +93 -1
  48. package/hooks/simplify-ignore.sh +94 -11
  49. package/package.json +63 -18
  50. package/plugin.json +1 -1
  51. package/references/performance-checklist.md +4 -2
  52. package/scripts/enterprise-template-test.js +139 -0
  53. package/scripts/floor-guard-reference-test.js +291 -0
  54. package/scripts/lib/skill-lint-test.js +762 -0
  55. package/scripts/lib/skill-lint.js +62 -8
  56. package/scripts/run-evals-test.js +830 -0
  57. package/scripts/run-evals.js +47 -9
  58. package/scripts/run-regressions.js +19 -0
  59. package/scripts/template-adapter-test.js +155 -0
  60. package/scripts/ui-prototype-test.js +114 -0
  61. package/scripts/validate-artifact-paths-test.js +179 -0
  62. package/scripts/validate-commands-test.js +246 -0
  63. package/scripts/validate-commands.js +6 -16
  64. package/scripts/validate-reference-links-test.js +513 -0
  65. package/scripts/validate-reference-links.js +4 -2
  66. package/scripts/validate-skills.js +26 -3
  67. package/scripts/validate-versions-test.js +32 -0
  68. package/skills/i3-documentation-and-adrs/SKILL.md +9 -0
  69. package/skills/i3-frontend-ui-engineering/SKILL.md +5 -1
  70. package/skills/i3-idea-refine/SKILL.md +20 -5
  71. package/skills/i3-incremental-implementation/SKILL.md +4 -0
  72. package/skills/i3-performance-optimization/SKILL.md +10 -10
  73. package/skills/i3-security-and-hardening/references/hardening-patterns.md +1 -1
  74. package/skills/i3-shipping-and-launch/SKILL.md +6 -0
  75. package/skills/i3-test-driven-development/SKILL.md +3 -3
  76. package/skills/i3-ui-prototype/SKILL.md +119 -0
  77. package/skills/i3-ui-prototype/assets/templates/catalog.json +147 -0
  78. package/skills/i3-ui-prototype/assets/templates/classic-admin/manifest.json +9 -0
  79. package/skills/i3-ui-prototype/assets/templates/classic-admin/preset.json +6 -0
  80. package/skills/i3-ui-prototype/assets/templates/common/app/app.mjs +89 -0
  81. package/skills/i3-ui-prototype/assets/templates/common/app/config.json +1 -0
  82. package/skills/i3-ui-prototype/assets/templates/common/app/domain.mjs +20 -0
  83. package/skills/i3-ui-prototype/assets/templates/common/app/index.html +17 -0
  84. package/skills/i3-ui-prototype/assets/templates/common/app/serve.cjs +16 -0
  85. package/skills/i3-ui-prototype/assets/templates/common/app/styles.css +670 -0
  86. package/skills/i3-ui-prototype/assets/templates/common/app/tokens.css +19 -0
  87. package/skills/i3-ui-prototype/assets/templates/common/design-system/master.md +20 -0
  88. package/skills/i3-ui-prototype/assets/templates/common/gallery.html +2 -0
  89. package/skills/i3-ui-prototype/assets/templates/common/mocks/applications.json +5 -0
  90. package/skills/i3-ui-prototype/assets/templates/common/requirements-map.json +8 -0
  91. package/skills/i3-ui-prototype/assets/templates/common/serve-gallery.cjs +16 -0
  92. package/skills/i3-ui-prototype/assets/templates/credits.md +17 -0
  93. package/skills/i3-ui-prototype/assets/templates/data-operations/manifest.json +9 -0
  94. package/skills/i3-ui-prototype/assets/templates/data-operations/preset.json +6 -0
  95. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/design-system.md +32 -0
  96. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/index.html +29 -0
  97. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/manifest.json +9 -0
  98. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/origin.json +344 -0
  99. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/preset.json +928 -0
  100. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/app.js +22 -0
  101. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/empty.svg +1 -0
  102. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/reference-styles.json +1 -0
  103. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/result-403.svg +1 -0
  104. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets/result-404.svg +1 -0
  105. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/assets-manifest.json +334 -0
  106. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/baseline.json +173 -0
  107. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/conversion.md +30 -0
  108. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/credits.md +17 -0
  109. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/design-tokens.json +881 -0
  110. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/index.html +28 -0
  111. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/@qin-ui-antdv-next-pro.txt +9 -0
  112. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/ant-design-icons.txt +22 -0
  113. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/licenses/antdv-next.txt +21 -0
  114. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/package.json +12 -0
  115. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/browser-routes.json +298 -0
  116. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/coverage.json +180 -0
  117. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/integrity.json +13 -0
  118. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/keyboard.json +11 -0
  119. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/responsive.json +125 -0
  120. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/review.md +51 -0
  121. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/rules.log +150 -0
  122. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-html.png +0 -0
  123. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/flow-editor-original.png +0 -0
  124. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-html.png +0 -0
  125. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/intent-create-original.png +0 -0
  126. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/models-html.png +0 -0
  127. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/models-original.png +0 -0
  128. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-html.png +0 -0
  129. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/screenshots/workbench-original.png +0 -0
  130. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/selection.json +9 -0
  131. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/qa/visual-comparison.json +342 -0
  132. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/readme.md +73 -0
  133. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/reference.md +59 -0
  134. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/routes.json +178 -0
  135. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/controls.js +99 -0
  136. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/dialogs.js +54 -0
  137. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/dom.js +264 -0
  138. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/forms.js +47 -0
  139. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/icons.js +41 -0
  140. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/layout.js +47 -0
  141. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/router.js +63 -0
  142. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/state.js +90 -0
  143. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/table.js +41 -0
  144. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/runtime/widgets.js +8 -0
  145. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.html +3 -0
  146. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentDetail.js +36 -0
  147. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.html +2 -0
  148. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentEditor.js +51 -0
  149. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.html +3 -0
  150. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/AgentsPage.js +48 -0
  151. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/CheckResults.html +2 -0
  152. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/CheckResults.js +6 -0
  153. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.html +2 -0
  154. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/ResourcePicker.js +13 -0
  155. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/data.js +24 -0
  156. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/domain.js +32 -0
  157. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/registry.js +25 -0
  158. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/agents/store.js +85 -0
  159. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentClose.html +2 -0
  160. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentClose.js +17 -0
  161. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.html +2 -0
  162. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentCreate.js +66 -0
  163. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.html +3 -0
  164. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDecisions.js +38 -0
  165. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.html +2 -0
  166. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDetail.js +66 -0
  167. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.html +2 -0
  168. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentDocument.js +5 -0
  169. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.html +2 -0
  170. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHeader.js +12 -0
  171. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.html +2 -0
  172. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentHistory.js +11 -0
  173. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentList.html +2 -0
  174. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentList.js +116 -0
  175. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.html +2 -0
  176. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentReplan.js +32 -0
  177. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.html +2 -0
  178. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentRevision.js +49 -0
  179. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.html +2 -0
  180. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentSummary.js +10 -0
  181. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.html +2 -0
  182. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/IntentWorkspace.js +77 -0
  183. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/data.js +60 -0
  184. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/domain.js +105 -0
  185. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/intents/store.js +212 -0
  186. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/AuditPanel.html +2 -0
  187. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/AuditPanel.js +18 -0
  188. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelDetail.html +2 -0
  189. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelDetail.js +23 -0
  190. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelEditor.html +2 -0
  191. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelEditor.js +78 -0
  192. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelGrant.html +2 -0
  193. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelGrant.js +55 -0
  194. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelReferences.html +2 -0
  195. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelReferences.js +26 -0
  196. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelRelease.html +2 -0
  197. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelRelease.js +38 -0
  198. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelStatus.html +2 -0
  199. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelStatus.js +7 -0
  200. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTable.html +2 -0
  201. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTable.js +72 -0
  202. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTester.html +2 -0
  203. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelTester.js +46 -0
  204. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelsPage.html +2 -0
  205. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/ModelsPage.js +52 -0
  206. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/RowActions.html +2 -0
  207. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/RowActions.js +19 -0
  208. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/UsagePanel.html +2 -0
  209. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/UsagePanel.js +30 -0
  210. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/data.js +48 -0
  211. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/domain.js +39 -0
  212. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/models/store.js +129 -0
  213. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.html +4 -0
  214. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IncidentDetail.js +21 -0
  215. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IntentSource.html +2 -0
  216. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/IntentSource.js +8 -0
  217. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.html +2 -0
  218. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationActionDialog.js +37 -0
  219. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.html +2 -0
  220. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationEntry.js +10 -0
  221. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.html +2 -0
  222. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/OperationsPage.js +37 -0
  223. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.html +2 -0
  224. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RepairTrack.js +49 -0
  225. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RunDetail.html +4 -0
  226. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/RunDetail.js +22 -0
  227. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.html +2 -0
  228. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/SourceSummary.js +9 -0
  229. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/commands.js +82 -0
  230. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/examples.js +47 -0
  231. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/model.js +61 -0
  232. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/repair.js +68 -0
  233. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/store.js +55 -0
  234. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/types.js +1 -0
  235. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/operations/workbench.js +18 -0
  236. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.html +3 -0
  237. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ManagementTable.js +28 -0
  238. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.html +2 -0
  239. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcCreateEntry.js +18 -0
  240. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.html +2 -0
  241. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcDetail.js +31 -0
  242. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.html +2 -0
  243. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcEditor.js +27 -0
  244. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.html +2 -0
  245. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcLifecycle.js +16 -0
  246. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.html +2 -0
  247. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPage.js +43 -0
  248. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.html +4 -0
  249. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcPicker.js +34 -0
  250. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.html +2 -0
  251. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcProgress.js +30 -0
  252. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.html +3 -0
  253. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWizard.js +67 -0
  254. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.html +2 -0
  255. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcWorkspace.js +41 -0
  256. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.html +2 -0
  257. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/PbcsPage.js +31 -0
  258. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.html +2 -0
  259. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceEditor.js +26 -0
  260. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.html +2 -0
  261. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/ServiceList.js +70 -0
  262. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/data.js +8 -0
  263. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/domain.js +62 -0
  264. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/management.js +36 -0
  265. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/managementStore.js +49 -0
  266. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/pbc/store.js +132 -0
  267. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/AdminList.html +2 -0
  268. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/AdminList.js +38 -0
  269. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.html +2 -0
  270. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/EffectiveGrants.js +11 -0
  271. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.html +2 -0
  272. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/GrantEditor.js +45 -0
  273. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.html +2 -0
  274. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MemberEditor.js +54 -0
  275. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.html +3 -0
  276. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/MembersPage.js +27 -0
  277. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.html +2 -0
  278. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RecordsPage.js +12 -0
  279. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.html +2 -0
  280. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RoleEditor.js +45 -0
  281. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.html +3 -0
  282. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/RolesPage.js +38 -0
  283. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/domain.js +61 -0
  284. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/state.js +51 -0
  285. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/permissions/store.js +116 -0
  286. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.html +2 -0
  287. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseActionDialog.js +45 -0
  288. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.html +4 -0
  289. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseDetail.js +30 -0
  290. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.html +2 -0
  291. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseEditor.js +67 -0
  292. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.html +2 -0
  293. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleaseExecution.js +5 -0
  294. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.html +4 -0
  295. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/ReleasesPage.js +60 -0
  296. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/commands.js +157 -0
  297. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/model.js +136 -0
  298. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/releases/store.js +76 -0
  299. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.html +3 -0
  300. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewDetail.js +26 -0
  301. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.html +2 -0
  302. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewEvidence.js +14 -0
  303. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.html +2 -0
  304. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewProcess.js +113 -0
  305. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.html +3 -0
  306. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/ReviewsPage.js +62 -0
  307. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/commands.js +97 -0
  308. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/model.js +147 -0
  309. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/reviews/store.js +13 -0
  310. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.html +2 -0
  311. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ColumnSettings.js +9 -0
  312. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.html +2 -0
  313. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListBatchBar.js +8 -0
  314. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.html +2 -0
  315. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListDeleteDialog.js +37 -0
  316. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListMore.html +2 -0
  317. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/ListMore.js +8 -0
  318. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.html +2 -0
  319. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/RecordMetadata.js +17 -0
  320. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/columns.js +32 -0
  321. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/deliveryGuide.js +49 -0
  322. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/deliveryView.js +12 -0
  323. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/listBatch.js +15 -0
  324. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/listSelection.js +37 -0
  325. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/policy.js +68 -0
  326. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shared/session.js +44 -0
  327. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.html +2 -0
  328. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConfirmationDialog.js +25 -0
  329. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.html +2 -0
  330. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ConsoleShell.js +53 -0
  331. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.html +10 -0
  332. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/PrototypeGuide.js +30 -0
  333. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ScopePage.html +2 -0
  334. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/ScopePage.js +10 -0
  335. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.html +2 -0
  336. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/SessionDialog.js +9 -0
  337. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/confirmation.js +3 -0
  338. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/shell/navigation.js +19 -0
  339. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.html +2 -0
  340. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecDocument.js +8 -0
  341. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.html +2 -0
  342. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecEdit.js +32 -0
  343. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.html +2 -0
  344. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHeader.js +15 -0
  345. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.html +2 -0
  346. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecHistory.js +11 -0
  347. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecReview.html +2 -0
  348. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecReview.js +57 -0
  349. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.html +2 -0
  350. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/SpecWorkspace.js +37 -0
  351. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/data.js +20 -0
  352. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/domain.js +55 -0
  353. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/specs/store.js +151 -0
  354. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.html +3 -0
  355. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/ArtifactDetail.js +18 -0
  356. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.html +2 -0
  357. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskCreate.js +40 -0
  358. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.html +2 -0
  359. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskDetail.js +51 -0
  360. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.html +2 -0
  361. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TaskLaunch.js +9 -0
  362. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.html +5 -0
  363. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/TasksPage.js +48 -0
  364. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/domain.js +204 -0
  365. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/exampleSource.js +22 -0
  366. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/registry.js +135 -0
  367. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/tasks/store.js +137 -0
  368. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.html +3 -0
  369. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/WorkbenchPage.js +36 -0
  370. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/model.js +56 -0
  371. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workbench/store.js +15 -0
  372. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.html +2 -0
  373. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowCanvas.js +27 -0
  374. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.html +4 -0
  375. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowDetail.js +31 -0
  376. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.html +2 -0
  377. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/FlowEditor.js +68 -0
  378. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.html +5 -0
  379. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/WorkflowsPage.js +55 -0
  380. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/data.js +16 -0
  381. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/domain.js +83 -0
  382. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/registry.js +18 -0
  383. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/src/workflows/store.js +61 -0
  384. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/admin.css +60 -0
  385. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/agents.css +46 -0
  386. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/antdv.css +295 -0
  387. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/app.css +102 -0
  388. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/delivery.css +4 -0
  389. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/intents.css +37 -0
  390. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/native.css +22 -0
  391. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/operations.css +2 -0
  392. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/pbc.css +3 -0
  393. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/permissions.css +22 -0
  394. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/pro.css +1 -0
  395. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/releases.css +4 -0
  396. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/reset.css +246 -0
  397. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/reviews.css +8 -0
  398. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/tasks.css +6 -0
  399. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/tokens.css +15 -0
  400. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/workbench.css +61 -0
  401. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/styles/workflows.css +1 -0
  402. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/admin-rules.test.js +96 -0
  403. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/agents.test.js +14 -0
  404. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/intent-state.test.js +37 -0
  405. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/list-batch.test.js +44 -0
  406. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operation-fixtures.js +19 -0
  407. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operation-repair.test.js +14 -0
  408. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/operations.test.js +25 -0
  409. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/pbc-management.test.js +17 -0
  410. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/pbc-state.test.js +24 -0
  411. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/permission-config.test.js +23 -0
  412. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/permissions.test.js +24 -0
  413. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/releases.test.js +50 -0
  414. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/reviews.test.js +36 -0
  415. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-forms-router.test.js +28 -0
  416. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-state.test.js +42 -0
  417. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/runtime-stores.test.js +16 -0
  418. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/spec-state.test.js +11 -0
  419. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/tasks.test.js +27 -0
  420. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/workbench.test.js +34 -0
  421. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tests/workflows.test.js +16 -0
  422. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/convert.mjs +168 -0
  423. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/serve.mjs +7 -0
  424. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/styles.mjs +11 -0
  425. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/reference/tools/verify.mjs +24 -0
  426. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/serve.cjs +16 -0
  427. package/skills/i3-ui-prototype/assets/templates/enterprise-admin/usability.css +44 -0
  428. package/skills/i3-ui-prototype/assets/templates/gallery/index.html +40 -0
  429. package/skills/i3-ui-prototype/assets/templates/modern-workspace/manifest.json +9 -0
  430. package/skills/i3-ui-prototype/assets/templates/modern-workspace/preset.json +6 -0
  431. package/skills/i3-ui-prototype/assets/templates/serve-gallery.cjs +16 -0
  432. package/skills/i3-ui-prototype/references/artifact-contract.md +41 -0
  433. package/skills/i3-ui-prototype/references/enterprise-admin.md +38 -0
  434. package/skills/i3-ui-prototype/references/expert-adapter.md +42 -0
  435. package/skills/i3-ui-prototype/references/template-adapters.md +57 -0
  436. package/skills/i3-ui-prototype/references/workflow-contract.md +19 -0
  437. package/skills/i3-ui-prototype/scripts/adapters/easel-html.cjs +30 -0
  438. package/skills/i3-ui-prototype/scripts/adapters/legacy-html.cjs +28 -0
  439. package/skills/i3-ui-prototype/scripts/check-design-provider.cjs +9 -0
  440. package/skills/i3-ui-prototype/scripts/check-prototype.cjs +14 -0
  441. package/skills/i3-ui-prototype/scripts/enterprise-template.cjs +88 -0
  442. package/skills/i3-ui-prototype/scripts/init-prototype.cjs +8 -0
  443. package/skills/i3-ui-prototype/scripts/manage-baseline.cjs +11 -0
  444. package/skills/i3-ui-prototype/scripts/prototype-lib.cjs +255 -0
  445. package/skills/i3-ui-prototype/scripts/template-adapters.cjs +89 -0
  446. package/skills/i3-using-agent-skills/SKILL.md +5 -0
  447. package/bin/native-version-validation.cjs +0 -8
@@ -0,0 +1,38 @@
1
+ # 企业管理后台复用
2
+
3
+ <!-- i3:zh-guide:start -->
4
+ ## 中文使用说明
5
+
6
+ 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
+
8
+ 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
+ <!-- i3:zh-guide:end -->
10
+
11
+ 企业后台的来源是工作区的 EASEL v0.14 HTML 审查成果。模板完整保留 326 个来源文件:运行页面、控件、样式、图标、规则测试、来源、许可及历史验收材料。原 history/easel-history 目录不修改。
12
+
13
+ ## 完整示例与新业务
14
+
15
+ - 用户要审查原来的整套后台时,使用 enterprise-admin 和 purpose=template-review,保留示例菜单与业务,便于和原版对照。
16
+ - 用户要根据新业务做原型时,使用默认 business-prototype,先明确模块、字段、角色、状态和需求映射,修改原型副本中的相关文件;未适配状态 needs-adaptation 不能通过业务验收。
17
+ - 审查完整示例不代表批准其全部 EASEL 业务,也不代表其他项目已完成业务适配。
18
+ - 模板根 origin.json 保存全部来源文件的 SHA-256。reference/ 是完整来源快照,品牌转换不改写其中内容。实例仅进行明确的启动、设计 token 和本地数据命名空间接入。
19
+ - 资源库中的 5 个 Markdown 文件按技能命名规范存放为小写名称,原名到存放路径记录在 origin.storagePaths;内容不变,生成实例时还原原文件名,原文链接继续有效。既有验证器保持原有规则。
20
+ - design-system/source.json 记录本实例的局部接入及用途。app/qa 保存的是来源历史记录,当前验收使用原型根 qa/。
21
+
22
+ ## 页面与组件
23
+
24
+ 完整示例包括工作台、模型、Agent、意图、规格、流程、任务、PBC、权限、评审、发布、运行等原有页面,以及原来的占位范围。它仍是本地模拟;不接入真实模型、SSO、GitLab、Dapr、CI、监控或生产服务。
25
+
26
+ 表格、列设置、批量操作、抽屉、表单校验、详情、向导、画布、版本与证据链均沿用已有交互。EASEL 语义变量和 Antdv 变量共同保留,不能只调整一组颜色。原生 HTML 运行层无需安装 Vue/React 依赖;进入真实工程时另做组件和接口映射。
27
+
28
+ ## 自适应与验收
29
+
30
+ 检查 320、390、768、1024、1440px,覆盖工作台、管理列表、抽屉表单、向导和画布。导航在窄屏切换为菜单,内容区域重排,宽表格允许局部滚动,整页不能横向溢出。键盘检查菜单、Escape、返回、取消与焦点恢复;减少动态效果设置保持原规则。
31
+
32
+ UI/UX Pro Max 使用专项 UX 查询校核这些规则,匹配的建议写入 qa/design-advice.json 并实际验证。专业建议不重新定义原版配色、字号、导航或控件尺度。
33
+
34
+ AI 工作台、数字孪生大屏、移动端应用在目录中为 planned。不得将三类请求悄悄生成成企业后台。旧三套通用模板仅作兼容和历史原型迭代。
35
+
36
+ ## 完整内容与滚动
37
+
38
+ 原始 EASEL 文件不删减。实例和预览入口使用独立 usability.css 解除导出样式残留的页面滚动锁,恢复完整宽度,并显示表格、标签栏的横向滚动条。弹窗运行时的滚动锁仍有效。验收应实际滚到页面底部、表格最右操作列和最后一个标签,不能仅检查整页 scrollWidth。
@@ -0,0 +1,42 @@
1
+ # UI/UX Pro Max 接入
2
+
3
+ <!-- i3:zh-guide:start -->
4
+ ## 中文使用说明
5
+
6
+ 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
+
8
+ 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
+ <!-- i3:zh-guide:end -->
10
+
11
+ 专业增强模式对应 professional,模板模式对应 template。依赖在用户实际执行的宿主中检测;推荐先使用宿主暴露的技能根,再使用明确 --host 指定的项目和全局目录。Codex 插件安装应由宿主提供的实际路径传给 --provider,不假设固定缓存版本。
12
+
13
+ 检测 SKILL.md、Python 查询模块与数据库,执行只读 UX 探测。安装版本/资源摘要和当前查询记录保存为来源;探测成功只说明可执行,不意味着业务建议已经采用。
14
+
15
+ 缺失依赖时显示:当前环境不能使用 UI/UX Pro Max,可安装并验证,或选择模板模式继续;也可先整理需求和比较模板。默认不降级。用户已经选择安装或模板模式时沿用选择,不重复请求相同许可。
16
+
17
+ 按维护方 [官方安装说明](https://github.com/nextlevelbuilder/ui-ux-pro-max-skill#installation) 选择当前宿主适用入口。对于未实测的宿主只说明已验证方法和限制,不猜测安装路径。选择安装后应安装完整技能,包括 Python 脚本、数据库与必要引用,重新检测可用性。不能只复制 SKILL.md。不自动安装 Python 或其他系统运行环境。
18
+
19
+ 使用已安装专业技能的指令和查询机制,向数据库传递抽象设计问题,不传私有业务数据。整体设计建议用 --design-system;专项交互用 --domain;实际技术栈支持时另查 --stack。HTML 模板不等于 html-tailwind,不为了查询参数而更换原型技术。
20
+
21
+ ```sh
22
+ node <skill-root>/scripts/check-design-provider.cjs --provider <uiux-root> --query "error summary validation" --domain ux
23
+ ```
24
+
25
+ 对产品类型、页面结构和结果身份核对。返回失配时按专业技能契约重试一次,仍失配就拒绝;专业建议未匹配不等于可以补造业务流程。专业 provider 无可采用结果时记录 no-match 与采用的模板/工程依据,必要时由用户决定是否切换模式。
26
+
27
+ qa/design-advice.json 采用以下记录结构:
28
+
29
+ ```json
30
+ {
31
+ "schemaVersion": 1,
32
+ "mode": "professional",
33
+ "provider": {"version": "实际版本", "digest": "检测输出的摘要"},
34
+ "records": [
35
+ {"query": "error summary validation", "resultIdentity": "Focusable Error Summary", "decision": "adopted", "rationale": "适用当前申请表单;保持模板布局", "verification": "提交失败聚焦摘要且可跳到错误字段", "pages": ["#/new"], "result": {"保存实际相关返回内容": true}}
36
+ ]
37
+ }
38
+ ```
39
+
40
+ decision 可使用 adopted、adjusted、rejected;采用或调整的建议应写入设计契约和验收。初始化为 pending;没有记录实际查询和采用证据时不能声称 used。原始 --persist 结果只可写独立建议候选位置,不覆盖已认可的 MASTER 或使用未授权 --force。
41
+
42
+ 渲染后的专业复核围绕实际发现的问题查询,再由浏览器检查修复。专业数据库提供建议,不自动证明可用性、无障碍认证或用户认可。
@@ -0,0 +1,57 @@
1
+ # 模板目录与运行层接入
2
+
3
+ <!-- i3:zh-guide:start -->
4
+ ## 中文使用说明
5
+
6
+ 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
+
8
+ 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
+ <!-- i3:zh-guide:end -->
10
+
11
+ ## 当前资源
12
+
13
+ `assets/templates/catalog.json` 负责类型、可用状态、版本和预览入口,并用 `defaultTemplate` 指定默认类型。可生成条目必须指向自己目录下的 `manifest.json`;planned 条目不要求资源目录,不能初始化,也不会回退为其他模板。
14
+
15
+ 当前企业后台使用 `easel-html`:完整 EASEL `reference/`、`origin.json` 来源清单、设计 token 和独立滚动适配。原始 326 个文件保持原样。AI 工作台、数字孪生大屏和移动端仅为 planned 目录条目,没有假模板包。旧三套兼容模板明确使用 `legacy-html`,共享 `common/`,各自保留 preset;不能把这些兼容演示当成新三类已经实现。
16
+
17
+ 模板选择页按 catalog 展示可用类型并切换预览,只负责查看资源;点击卡片不会创建业务原型、采用专业建议或确认基线。实际生成仍走技能操作并按业务适配,浏览器验证和用户认可分别保存。
18
+
19
+ ## manifest
20
+
21
+ 可生成模板的最小清单示例:
22
+
23
+ ```json
24
+ {
25
+ "schemaVersion": 1,
26
+ "adapter": "easel-html",
27
+ "preset": "enterprise-admin/preset.json",
28
+ "resources": { "root": "enterprise-admin" },
29
+ "defaultTitle": "企业管理后台 · EASEL 完整示例"
30
+ }
31
+ ```
32
+
33
+ 资源路径相对于 `assets/templates/`,必须存在,不能绝对寻址、包含 `..` 或通过符号链接跳转。manifest 只能选择代码中明确登记的内置 adapter;它不是可以执行任意脚本的插件描述。未知 adapter、缺清单或不安全路径在创建实例前拒绝。摘要包含所选 catalog 条目、清单、资源、登记器、adapter 版本及其声明的实现文件;其他模板条目不会改变当前模板摘要。仅修改 preset 不足以表示一个独立运行层。
34
+
35
+ ## adapter 合同
36
+
37
+ `scripts/template-adapters.cjs` 集中读取与校验 catalog/manifest,计算摘要并选择运行层。当前仅登记 `adapters/easel-html.cjs`、`adapters/legacy-html.cjs`,不按模板 ID 在公共生成器中分支,也不隐式复制 common。
38
+
39
+ 每个 adapter 提供:
40
+
41
+ - `version` 和 `implementationFiles`:运行层版本、应计入摘要的实现及辅助文件;新增内置运行层应完整登记实现依赖。
42
+ - `fingerprintInputs(context)`:实际模板资源路径。上下文的 `resource(name)` 只读取 manifest 声明且通过安全校验的位置。
43
+ - `initialize(directory, options, context)`:写入隔离的实例暂存目录,返回 `{metadata, handoff}`;公共层再统一写配置、token、QA 和项目登记。
44
+ - `validateRuntime(metadata, options)`:运行身份、用途及适用业务验收条件。
45
+ - `runtime`:`kind`、`requiredFiles`、`identityFields`、`excludedBrowserPrefixes`、`protectedFiles`、`protectedDirectories`。它们定义运行检查、摘要身份和基线保护,不代替实际浏览器执行。
46
+
47
+ 共同设计契约、token、入口和需求映射始终受保护,运行层可增加自己的保护路径。运行身份变化也作为契约变化报告。EASEL 的历史 tools/tests/qa 不作为浏览器模块扫描;当前验收仍读取实例根 qa。
48
+
49
+ `createTemplateRegistry({assetRoot, adapters})` 支持受信任的程序内集成与隔离测试;CLI 使用随包登记器,不接受从模板清单加载任意 adapter 代码。旧实例没有 `template.adapter` 时按已登记模板识别;缺新增 runtime 字段的旧 legacy 身份不补写字段,旧 EASEL 的 purpose/business/runtime 顺序保持,原有内容摘要与快照继续可读。未知模板不靠猜测识别为 common。
50
+
51
+ ## 扩展步骤
52
+
53
+ 1. 准备完整可运行资源、preset 与设计契约;有外部来源时保留来源清单、许可和固定内容。
54
+ 2. 增加 manifest,声明真实 adapter 与资源;独立运行形态实现并登记 adapter,不能只改 available 后复用错误演示。
55
+ 3. catalog 登记版本、manifest 和本地预览。planned 保持不可生成,原有实例不自动切换模板或升级摘要。
56
+ 4. 验证独立运行层无 common 也能生成,资源/实现变化改变指纹,非法清单写入前拒绝,运行检查与基线保护覆盖,旧实例摘要兼容;再做真实浏览器与业务场景验收。
57
+ 5. 在源码维护流程登记新增分发文件,完成品牌生成、打包/安装完整性检查。此登记不代表用户认可模板或授权发布。
@@ -0,0 +1,19 @@
1
+ # 操作与状态
2
+
3
+ <!-- i3:zh-guide:start -->
4
+ ## 中文使用说明
5
+
6
+ 按下文完整工程步骤、检查项与验证条件执行。根据任务选择适用步骤,保留证据、风险和退出条件;正文示例中的英文标签在面向用户输出时译为中文。
7
+
8
+ 默认使用简体中文解释、追问及生成报告;用户明确要求其他语言时可切换。原方法正文、引用、阈值和审批条件完整保留。代码标识、路径、命令、工具参数、JSON 键/枚举与原文引用保持原样。
9
+ <!-- i3:zh-guide:end -->
10
+
11
+ create 读取业务上下文、检测默认专业增强模式、展示四类模板的可用状态并记录选择,然后初始化和适配原型。企业后台当前可用;AI 工作台、数字孪生大屏和移动端尚待建设,不能自动替换为其他模板。兼容旧版三套模板仅供已有项目继续使用。脚本返回 needs-design-provider 时不得冒充创建成功;允许先完成需求和模板比较,等待安装或用户选择 template。已有原型的 expertMode 作为迭代默认值。
12
+
13
+ revise 必须指定未使用的新版本;改变全局导航、token、组件行为或业务状态时解释影响并形成新的评审候选。inspect 可写检查报告但不修改页面或冻结基线。confirm-baseline 必须有用户对具体内容的明确认可和完整必需证据。
14
+
15
+ verification 使用 not-run、partial、passed、failed、blocked;review 使用 pending-review、changes-requested、approved。expert 使用 pending、used、skipped、missing、unusable、no-match。它们分别表示检查、用户认可及专业能力使用;不相互推断。
16
+
17
+ 原型可从草拟需求开始。需求确认、原型认可、正式规格批准和生产授权各自保存。返回 scope、revision、mode、verification、review、openQuestions 和下一项必要动作,避免笼统地报告全部完成。
18
+
19
+ 企业后台默认 purpose=business-prototype,完整参考副本的 business.status=needs-adaptation;必须完成实际业务适配才能验收。用户明确评审 EASEL 模板本身时,使用 purpose=template-review,并将 reference-demo 范围写进交接。模板认可不等于任何新业务的需求或原型认可。
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+ const assert = require('node:assert/strict');
3
+ const enterprise = require('../enterprise-template.cjs');
4
+ module.exports = {
5
+ version: '1',
6
+ implementationFiles: [__filename, require.resolve('../enterprise-template.cjs')],
7
+ runtime: {
8
+ kind: 'easel-html', identityFields: ['purpose', 'business', 'runtime'],
9
+ requiredFiles: ['app/app.js', 'app/enterprise-bootstrap.mjs', 'app/routes.json', 'app/runtime/dom.js', 'app/styles/tokens.css', 'design-system/source.json'],
10
+ excludedBrowserPrefixes: ['app/tools/', 'app/tests/', 'app/qa/'],
11
+ protectedFiles: ['app/tokens.css', 'app/styles.css', 'app/index.html', 'app/domain.mjs', 'requirements-map.json', 'app/app.js', 'app/routes.json', 'app/config.json', 'app/enterprise-bootstrap.mjs', 'app/usability.css'],
12
+ protectedDirectories: ['design-system/', 'app/styles/', 'app/runtime/', 'app/src/'],
13
+ },
14
+ fingerprintInputs(context) {
15
+ enterprise.verifyReference(context.resource('root'));
16
+ return [context.resources.root];
17
+ },
18
+ initialize(directory, options, context) {
19
+ const purpose = options.purpose || 'business-prototype';
20
+ const runtime = enterprise.initialize(directory, { ...options, purpose, templateRoot: context.resource('root') });
21
+ return {
22
+ metadata: { purpose, runtime, business: { status: purpose === 'template-review' ? 'reference-demo' : 'needs-adaptation', source: 'EASEL v0.14 示例业务' } },
23
+ handoff: `用途:${purpose}。业务适配:${purpose === 'template-review' ? 'reference-demo' : 'needs-adaptation'}。完整保留 EASEL 示例,不能当作其他业务已完成;app/qa 为历史来源证据,当前验收读取根 qa/。\n\n`,
24
+ };
25
+ },
26
+ validateRuntime(metadata, options = {}) {
27
+ assert.ok(metadata.runtime?.kind === 'easel-html' && ['template-review', 'business-prototype'].includes(metadata.purpose), 'Invalid enterprise runtime contract');
28
+ if (options.acceptance && metadata.purpose === 'business-prototype') assert.equal(metadata.business?.status, 'adapted', 'Enterprise demo needs business adaptation / 需先完成实际业务适配');
29
+ },
30
+ };
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+ const fs = require('node:fs');
3
+ const path = require('node:path');
4
+ const assert = require('node:assert/strict');
5
+ module.exports = {
6
+ version: '1',
7
+ implementationFiles: [__filename],
8
+ runtime: {
9
+ kind: 'legacy-html', identityFields: ['runtime'],
10
+ requiredFiles: ['app/app.mjs', 'app/domain.mjs', 'app/styles.css', 'mocks/applications.json'],
11
+ excludedBrowserPrefixes: [],
12
+ protectedFiles: ['app/tokens.css', 'app/styles.css', 'app/index.html', 'app/domain.mjs', 'requirements-map.json'],
13
+ protectedDirectories: ['design-system/'],
14
+ },
15
+ fingerprintInputs: ({ resources }) => [resources.common],
16
+ initialize(directory, options, context) {
17
+ const common = context.resource('common');
18
+ for (const folder of ['app', 'mocks', 'design-system']) fs.cpSync(path.join(common, folder), path.join(directory, folder), { recursive: true });
19
+ fs.renameSync(path.join(directory, 'design-system/master.md'), path.join(directory, 'design-system/MASTER.md'));
20
+ fs.copyFileSync(path.join(common, 'requirements-map.json'), path.join(directory, 'requirements-map.json'));
21
+ return { metadata: { runtime: { kind: 'legacy-html', entry: 'app/index.html' } }, handoff: '' };
22
+ },
23
+ validateRuntime(metadata) {
24
+ // Older legacy instances did not store a runtime field. Do not migrate
25
+ // their identity or invalidate already recorded content digests.
26
+ assert.ok(!metadata.runtime || metadata.runtime.kind === 'legacy-html', 'Invalid legacy runtime contract');
27
+ },
28
+ };
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+ const lib = require('./prototype-lib.cjs');
3
+ try {
4
+ const { options } = lib.parseArgs(process.argv.slice(2));
5
+ const provider = lib.checkDesignProvider(options);
6
+ const result = options.query && provider.availability === 'available' ? { provider, query: options.query, result: lib.queryProvider(provider.root, options.query, options) } : provider;
7
+ process.stdout.write(JSON.stringify(result, null, 2) + '\n');
8
+ if (provider.availability !== 'available') process.exitCode = 2;
9
+ } catch (error) { process.stderr.write(error.message + '\n'); process.exitCode = 1; }
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+ const lib = require('./prototype-lib.cjs');
3
+ try {
4
+ const { options, positional } = lib.parseArgs(process.argv.slice(2));
5
+ if (!positional[0]) throw new Error('Usage: node check-prototype.cjs <prototype-directory> [--acceptance] [--enforce-baseline]');
6
+ const result = lib.checkPrototype(positional[0], options);
7
+ result.baseline = lib.compareBaseline(positional[0]);
8
+ if (result.baseline.status === 'corrupt-baseline' || (options.enforceBaseline && result.baseline.protectedChanges.length)) {
9
+ result.status = 'failed';
10
+ result.errors = [...(result.errors || []), result.baseline.status === 'corrupt-baseline' ? 'Approved baseline is corrupt' : 'Design constraints changed; review and confirm a new baseline'];
11
+ }
12
+ process.stdout.write(JSON.stringify(result, null, 2) + '\n');
13
+ if (result.status !== 'passed') process.exitCode = 1;
14
+ } catch (error) { process.stderr.write(error.message + '\n'); process.exitCode = 1; }
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+ const fs = require('node:fs');
3
+ const path = require('node:path');
4
+ const crypto = require('node:crypto');
5
+ const assert = require('node:assert/strict');
6
+ const assetRoot = path.resolve(__dirname, '../assets/templates/enterprise-admin');
7
+ const hash = bytes => crypto.createHash('sha256').update(bytes).digest('hex');
8
+ function inventory(root, prefix = '') {
9
+ return fs.readdirSync(path.join(root, prefix), { withFileTypes: true }).flatMap(entry => {
10
+ const file = prefix ? prefix + '/' + entry.name : entry.name;
11
+ assert.ok(!entry.isSymbolicLink(), 'Refusing reference symlink: ' + file);
12
+ return entry.isDirectory() ? inventory(root, file) : [file];
13
+ }).sort();
14
+ }
15
+ function verifyReference(root = assetRoot) {
16
+ const origin = JSON.parse(fs.readFileSync(path.join(root, 'origin.json'), 'utf8'));
17
+ assert.equal(origin.schemaVersion, 1, 'Invalid enterprise source record');
18
+ const reference = path.join(root, 'reference');
19
+ const storedPaths = Object.keys(origin.files).map(file => origin.storagePaths?.[file] || file);
20
+ assert.equal(new Set(storedPaths).size, storedPaths.length, 'Duplicate enterprise asset mapping');
21
+ assert.deepEqual(inventory(reference), storedPaths.sort(), 'Enterprise source inventory changed');
22
+ assert.equal(origin.fileCount, Object.keys(origin.files).length, 'Enterprise source file count changed');
23
+ for (const [file, expected] of Object.entries(origin.files)) {
24
+ assert.ok(!path.isAbsolute(file) && !file.split(/[\\/]/).some(part => !part || part === '..'), 'Invalid source path');
25
+ const stored = origin.storagePaths?.[file] || file;
26
+ assert.ok(!path.isAbsolute(stored) && !stored.split(/[\\/]/).some(part => !part || part === '..'), 'Invalid mapped source path');
27
+ assert.equal(hash(fs.readFileSync(path.join(reference, stored))), expected, 'Enterprise source integrity / 来源完整性: ' + file);
28
+ }
29
+ assert.equal(hash(fs.readFileSync(path.join(reference, 'assets-manifest.json'))), origin.sourceManifestDigest, 'Invalid source manifest digest');
30
+ return origin;
31
+ }
32
+ const mapping = {
33
+ schemaVersion: 1,
34
+ scope: 'EASEL 企业后台完整示例;模板审查范围,不代表其他业务已适配',
35
+ requirements: [
36
+ { id: 'ENT-01', pages: ['#/workbench'], roles: ['演示身份'], actions: ['查看工作台和导航'], scenarios: ['enterprise-navigation'] },
37
+ { id: 'ENT-02', pages: ['#/models'], roles: ['有模型编辑权限的演示身份'], actions: ['新增模型', '校验和保存草稿'], scenarios: ['enterprise-form'] },
38
+ { id: 'ENT-03', pages: ['#/models', '#/permissions'], roles: ['演示身份', '只读身份'], actions: ['切换身份并检查动作权限'], scenarios: ['enterprise-permissions'] },
39
+ { id: 'ENT-04', pages: ['#/workflows'], roles: ['演示身份'], actions: ['查看和编辑流程'], scenarios: ['enterprise-workflow'] },
40
+ { id: 'ENT-05', pages: ['#/pbcs'], roles: ['演示身份'], actions: ['查看 PBC 并操作业务向导'], scenarios: ['enterprise-pbc'] },
41
+ { id: 'ENT-06', pages: ['#/workbench', '#/models', '#/intents/new'], roles: ['演示身份'], actions: ['窄屏导航', '键盘开关菜单', '保留未保存输入'], scenarios: ['enterprise-responsive', 'enterprise-keyboard'] },
42
+ { id: 'ENT-07', pages: ['#/models'], roles: ['演示身份'], actions: ['查看空、失败等演示反馈'], scenarios: ['enterprise-feedback'] },
43
+ { id: 'ENT-08', pages: ['app/routes.json'], roles: ['演示身份'], actions: ['打开原版已提供的全部页面入口'], scenarios: ['enterprise-routes'] },
44
+ ],
45
+ openQuestions: ['新项目的模块、字段、状态、权限及接口需按实际需求替换。原有 EASEL 示例不自动成为新业务规格。'],
46
+ };
47
+ function initialize(directory, { id, title, purpose, templateRoot = assetRoot }) {
48
+ const origin = verifyReference(templateRoot);
49
+ assert.ok(['template-review', 'business-prototype'].includes(purpose), 'Invalid enterprise prototype purpose');
50
+ const app = path.join(directory, 'app');
51
+ const instanceId = crypto.randomUUID();
52
+ const storagePrefix = 'i3-enterprise-' + id + '-' + instanceId + '-';
53
+ fs.cpSync(path.join(templateRoot, 'reference'), app, { recursive: true });
54
+ // Skill-supporting Markdown follows the repository naming convention. The
55
+ // source name and bytes are recorded, then restored in each runnable copy.
56
+ for (const [original, stored] of Object.entries(origin.storagePaths || {})) {
57
+ fs.renameSync(path.join(app, stored), path.join(app, original));
58
+ }
59
+ const adaptations = [];
60
+ for (const file of inventory(app).filter(name => /\.(?:js|mjs)$/.test(name))) {
61
+ const location = path.join(app, file), old = fs.readFileSync(location, 'utf8');
62
+ const next = old.replaceAll('i3-prototype-antdv-', storagePrefix);
63
+ if (next !== old) {
64
+ fs.writeFileSync(location, next);
65
+ adaptations.push({ file, reason: '仅替换本地演示存储前缀,隔离不同原型实例', source: origin.files[file], generated: hash(next) });
66
+ }
67
+ }
68
+ const index = path.join(app, 'index.html'), original = fs.readFileSync(index, 'utf8');
69
+ assert.ok(original.includes('src="app.js"'), 'Review changed EASEL boot entry before adapting');
70
+ const adapted = original.replace('</head>', ' <link rel="stylesheet" href="tokens.css">\n <link rel="stylesheet" href="usability.css">\n</head>')
71
+ .replace('src="app.js"', 'src="enterprise-bootstrap.mjs"');
72
+ fs.writeFileSync(index, adapted);
73
+ adaptations.push({ file: 'index.html', reason: '接入原有设计 token、实例配置和独立滚动适配,完整保留页面内容', source: origin.files['index.html'], generated: hash(adapted) });
74
+ fs.copyFileSync(path.join(templateRoot, 'usability.css'), path.join(app, 'usability.css'));
75
+ fs.writeFileSync(path.join(app, 'enterprise-bootstrap.mjs'), "const response = await fetch(new URL('./config.json', import.meta.url));\nif (!response.ok) throw new Error('无法读取企业后台实例配置');\nconst config = await response.json();\ndocument.title = config.title;\nawait import('./app.js');\n");
76
+ fs.copyFileSync(path.join(templateRoot, 'serve.cjs'), path.join(app, 'serve.cjs'));
77
+ fs.mkdirSync(path.join(directory, 'design-system'), { recursive: true });
78
+ fs.writeFileSync(path.join(directory, 'design-system/MASTER.md'), fs.readFileSync(path.join(templateRoot, 'design-system.md')));
79
+ fs.writeFileSync(path.join(directory, 'design-system/source.json'), JSON.stringify({
80
+ schemaVersion: 1, source: origin.source, sourceVersion: origin.sourceVersion, sourceManifestDigest: origin.sourceManifestDigest,
81
+ sourceFileCount: origin.fileCount, adaptations, purpose, description: '所有来源文件已复制;局部适配仅用于初始化接入。app/qa 是历史来源证据,当前验收使用原型根 qa/。',
82
+ }, null, 2) + '\n');
83
+ fs.mkdirSync(path.join(directory, 'mocks'), { recursive: true });
84
+ fs.writeFileSync(path.join(directory, 'mocks/README.md'), '# 演示数据\n\n完整 EASEL 示例的数据与规则保留在 app/src/ 各模块中,并使用实例独立的本地存储。它们用于模板审查;新业务需要按需求替换,不能当作真实服务或已完成业务适配。\n');
85
+ fs.writeFileSync(path.join(directory, 'requirements-map.json'), JSON.stringify(mapping, null, 2) + '\n');
86
+ return { kind: 'easel-html', entry: 'app/index.html', sourceVersion: origin.sourceVersion, instanceId, storagePrefix };
87
+ }
88
+ module.exports = { verifyReference, initialize };
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+ const lib = require('./prototype-lib.cjs');
3
+ try {
4
+ const { options, positional } = lib.parseArgs(process.argv.slice(2));
5
+ const result = positional[0] === 'templates' ? { templates: lib.listTemplates() } : lib.initPrototype(options);
6
+ process.stdout.write(JSON.stringify(result, null, 2) + '\n');
7
+ if (result.status === 'needs-design-provider') process.exitCode = 2;
8
+ } catch (error) { process.stderr.write(error.message + '\n'); process.exitCode = 1; }
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+ const fs = require('node:fs');
3
+ const lib = require('./prototype-lib.cjs');
4
+ try {
5
+ const { options, positional } = lib.parseArgs(process.argv.slice(2));
6
+ const [operation, directory] = positional;
7
+ if (!directory || !['inspect', 'manifest', 'revise', 'confirm-baseline'].includes(operation)) throw new Error('Usage: manage-baseline.cjs <inspect|manifest|revise|confirm-baseline> <directory> [--revision r002] [--confirmation file.json]');
8
+ const result = operation === 'manifest' ? lib.contentManifest(directory) : operation === 'inspect' ? lib.compareBaseline(directory) : operation === 'revise' ? lib.revisePrototype(directory, options.revision) : lib.freezeBaseline(directory, JSON.parse(fs.readFileSync(options.confirmation, 'utf8')));
9
+ process.stdout.write(JSON.stringify(result, null, 2) + '\n');
10
+ if (result.status === 'corrupt-baseline') process.exitCode = 1;
11
+ } catch (error) { process.stderr.write(error.message + '\n'); process.exitCode = 1; }