aw-spec-cli 0.1.4 → 0.1.5

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 (254) hide show
  1. package/assets/.agents/agent.json +28 -0
  2. package/assets/.agents/skills/aw-spec-orch/SKILL.md +56 -0
  3. package/assets/.agents/skills/aw-spec-orch-demo/SKILL.md +59 -0
  4. package/assets/.aw-spec/DESIGN-FORMAT.md +151 -0
  5. package/assets/.aw-spec/ORCH-DIALECT.md +156 -0
  6. package/assets/.aw-spec/RULE-PARTITION.md +126 -0
  7. package/assets/.aw-spec/extensions/agent-context/extension.yml +12 -9
  8. package/assets/.aw-spec/extensions.yml +12 -19
  9. package/assets/.aw-spec/integrations/aw-spec.manifest.json +1 -9
  10. package/assets/.aw-spec/interpreter/run-skill.py +1158 -0
  11. package/assets/.aw-spec/orchestrator/AGENT-PROFILE.md +94 -0
  12. package/assets/.aw-spec/orchestrator/README.md +300 -0
  13. package/assets/.aw-spec/orchestrator/adapters/claude_agent_sdk.py +74 -0
  14. package/assets/.aw-spec/orchestrator/adapters/google_antigravity.py +74 -0
  15. package/assets/.aw-spec/orchestrator/modules/delta-design.orch.yaml +105 -0
  16. package/assets/.aw-spec/orchestrator/modules/delta-spec.orch.yaml +79 -0
  17. package/assets/.aw-spec/orchestrator/modules/domain-select.orch.yaml +81 -0
  18. package/assets/.aw-spec/orchestrator/modules/tech-select.orch.yaml +75 -0
  19. package/assets/.aw-spec/orchestrator/orchestrator.py +1721 -0
  20. package/assets/.aw-spec/orchestrator/rev-templates/ai-rules.reference.md +40 -0
  21. package/assets/.aw-spec/orchestrator/rev-templates/comandrulemap.skeleton.md +59 -0
  22. package/assets/.aw-spec/orchestrator/rev-templates/commandtechrulemap.skeleton.md +97 -0
  23. package/assets/.aw-spec/orchestrator/rev-templates/domain-constitution.skeleton.md +61 -0
  24. package/assets/.aw-spec/orchestrator/rev-templates/domain-requirements.skeleton.md +48 -0
  25. package/assets/.aw-spec/orchestrator/rev-templates/domain-rule-file.skeleton.md +39 -0
  26. package/assets/.aw-spec/orchestrator/rev-templates/technical-constitution.skeleton.md +106 -0
  27. package/assets/.aw-spec/orchestrator/rev-templates/technical-rule-file.skeleton.md +54 -0
  28. package/assets/.aw-spec/orchestrator/workflows/_smoke.orch.yaml +160 -0
  29. package/assets/.aw-spec/orchestrator/workflows/aw-spec-add-component.orch.yaml +244 -0
  30. package/assets/.aw-spec/orchestrator/workflows/aw-spec-adopt.orch.yaml +775 -0
  31. package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-delta-design.orch.yaml +248 -0
  32. package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-design.orch.yaml +261 -0
  33. package/assets/.aw-spec/orchestrator/workflows/aw-spec-analyze-slice.orch.yaml +425 -0
  34. package/assets/.aw-spec/orchestrator/workflows/aw-spec-build.orch.yaml +188 -0
  35. package/assets/.aw-spec/orchestrator/workflows/aw-spec-characterize.orch.yaml +474 -0
  36. package/assets/.aw-spec/orchestrator/workflows/aw-spec-close-delta.orch.yaml +181 -0
  37. package/assets/.aw-spec/orchestrator/workflows/aw-spec-constitution.orch.yaml +284 -0
  38. package/assets/.aw-spec/orchestrator/workflows/aw-spec-demo.orch.yaml +103 -0
  39. package/assets/.aw-spec/orchestrator/workflows/aw-spec-dependency-tree.orch.yaml +69 -0
  40. package/assets/.aw-spec/orchestrator/workflows/aw-spec-deploy.orch.yaml +85 -0
  41. package/assets/.aw-spec/orchestrator/workflows/aw-spec-design.orch.yaml +382 -0
  42. package/assets/.aw-spec/orchestrator/workflows/aw-spec-finalize-delta.orch.yaml +382 -0
  43. package/assets/.aw-spec/orchestrator/workflows/aw-spec-foundation.orch.yaml +246 -0
  44. package/assets/.aw-spec/orchestrator/workflows/aw-spec-implement-delta.orch.yaml +231 -0
  45. package/assets/.aw-spec/orchestrator/workflows/aw-spec-implement.orch.yaml +258 -0
  46. package/assets/.aw-spec/orchestrator/workflows/aw-spec-inventory.orch.yaml +236 -0
  47. package/assets/.aw-spec/orchestrator/workflows/aw-spec-onboard.orch.yaml +949 -0
  48. package/assets/.aw-spec/orchestrator/workflows/aw-spec-parity.orch.yaml +293 -0
  49. package/assets/.aw-spec/orchestrator/workflows/aw-spec-run.orch.yaml +177 -0
  50. package/assets/.aw-spec/orchestrator/workflows/aw-spec-select-domain.orch.yaml +79 -0
  51. package/assets/.aw-spec/orchestrator/workflows/aw-spec-select-feature.orch.yaml +128 -0
  52. package/assets/.aw-spec/orchestrator/workflows/aw-spec-specify.orch.yaml +412 -0
  53. package/assets/.aw-spec/scripts/bash/aw-inventory.sh +14 -0
  54. package/assets/.aw-spec/scripts/bash/aw-parity.sh +13 -0
  55. package/assets/.aw-spec/scripts/bash/aw-rev-constitution.sh +13 -0
  56. package/assets/.aw-spec/scripts/bash/aw-spec-actions.sh +1899 -0
  57. package/assets/.aw-spec/scripts/bash/aw-xref.sh +15 -0
  58. package/assets/.aw-spec/scripts/bash/common.sh +11 -60
  59. package/assets/.aw-spec/scripts/powershell/aw-inventory.ps1 +14 -0
  60. package/assets/.aw-spec/scripts/powershell/aw-parity.ps1 +13 -0
  61. package/assets/.aw-spec/scripts/powershell/aw-rev-constitution.ps1 +13 -0
  62. package/assets/.aw-spec/scripts/powershell/aw-spec-actions.ps1 +1563 -0
  63. package/assets/.aw-spec/scripts/powershell/aw-xref.ps1 +15 -0
  64. package/assets/.aw-spec/scripts/python/aw-inventory.py +683 -0
  65. package/assets/.aw-spec/scripts/python/aw-parity.py +380 -0
  66. package/assets/.aw-spec/scripts/python/aw-rev-constitution.py +312 -0
  67. package/assets/.aw-spec/scripts/python/aw-xref.py +1330 -0
  68. package/assets/.aw-spec/scripts/python/validate_okf.py +349 -0
  69. package/assets/.aw-spec/templates/constitution-domain-template.md +75 -0
  70. package/assets/.aw-spec/templates/constitution-technical-template.md +70 -0
  71. package/assets/.aw-spec/templates/delta-design-template.md +69 -0
  72. package/assets/.aw-spec/templates/delta-spec-template.md +60 -0
  73. package/assets/.aw-spec/templates/design-template.md +383 -0
  74. package/assets/.aw-spec/templates/okf-concept-template.md +103 -0
  75. package/assets/.aw-spec/templates/parity-manifest-template.json +49 -0
  76. package/assets/.aw-spec/templates/source-map-template.md +85 -0
  77. package/assets/.aw-spec/templates/spec-template.md +192 -71
  78. package/assets/.claude/agent.json +27 -0
  79. package/assets/.claude/skills/aw-spec-orch/SKILL.md +55 -0
  80. package/assets/.claude/skills/aw-spec-orch-demo/SKILL.md +59 -0
  81. package/assets/.kilocode/agent.json +28 -0
  82. package/assets/.kilocode/workflows/aw-spec-orch-demo.md +59 -0
  83. package/assets/.kilocode/workflows/aw-spec-orch.md +55 -0
  84. package/assets/docs/architecture/clean-architecture.md +1 -1
  85. package/assets/docs/architecture/cqrs.md +1 -1
  86. package/assets/docs/architecture/eventing.md +1 -1
  87. package/assets/docs/architecture/folder-structure.md +1 -1
  88. package/assets/docs/architecture/modular-monolith.md +1 -1
  89. package/assets/docs/architecture/persistence.md +1 -1
  90. package/assets/docs/architecture/testing.md +1 -1
  91. package/assets/docs/architecture/vertical-slices.md +1 -1
  92. package/assets/docs/components/Email/README.md +1 -1
  93. package/assets/docs/components/Jobs/README.md +1 -1
  94. package/assets/docs/components/QrGenerator/README.md +1 -1
  95. package/assets/docs/components/README.md +1 -1
  96. package/assets/docs/domain/domain-driven-design.md +1 -1
  97. package/assets/docs/domainspecs/healthcare/api-versioning.domain.md +1 -1
  98. package/assets/docs/domainspecs/healthcare/auditing.domain.md +86 -18
  99. package/assets/docs/domainspecs/healthcare/authorization.domain.md +1 -1
  100. package/assets/docs/domainspecs/healthcare/clinical-terms.md +1 -1
  101. package/assets/docs/domainspecs/healthcare/coding-standards.domain.md +1 -1
  102. package/assets/docs/domainspecs/healthcare/comandrulemap.md +58 -124
  103. package/assets/docs/domainspecs/healthcare/commandtechrulemap.md +119 -0
  104. package/assets/docs/domainspecs/healthcare/consent.md +1 -1
  105. package/assets/docs/domainspecs/healthcare/cqrs.domain.md +1 -1
  106. package/assets/docs/domainspecs/healthcare/data-classification.domain.md +1 -1
  107. package/assets/docs/domainspecs/healthcare/dependency-policy.domain.md +1 -1
  108. package/assets/docs/domainspecs/healthcare/dicom.md +1 -1
  109. package/assets/docs/domainspecs/healthcare/domain-driven-design.domain.md +1 -1
  110. package/assets/docs/domainspecs/healthcare/eventing.domain.md +1 -1
  111. package/assets/docs/domainspecs/healthcare/fhir.md +1 -1
  112. package/assets/docs/domainspecs/healthcare/folder-structure.domain.md +1 -1
  113. package/assets/docs/domainspecs/healthcare/hipaa.md +1 -1
  114. package/assets/docs/domainspecs/healthcare/hl7.md +1 -1
  115. package/assets/docs/domainspecs/healthcare/integration-terms.md +1 -1
  116. package/assets/docs/domainspecs/healthcare/persistence.domain.md +1 -1
  117. package/assets/docs/domainspecs/healthcare/terminology.md +1 -1
  118. package/assets/docs/domainspecs/healthcare/testing.domain.md +1 -1
  119. package/assets/docs/domainspecs/healthcare/vertical-slices.domain.md +1 -1
  120. package/assets/docs/domainspecs/healthcare/zero-trust.domain.md +1 -1
  121. package/assets/docs/domainspecs/pharma/api-versioning.domain.md +1 -1
  122. package/assets/docs/domainspecs/pharma/atc.md +1 -1
  123. package/assets/docs/domainspecs/pharma/auditing.domain.md +80 -16
  124. package/assets/docs/domainspecs/pharma/authorization.domain.md +1 -1
  125. package/assets/docs/domainspecs/pharma/coding-standards.domain.md +1 -1
  126. package/assets/docs/domainspecs/pharma/comandrulemap.md +64 -142
  127. package/assets/docs/domainspecs/pharma/commandtechrulemap.md +119 -0
  128. package/assets/docs/domainspecs/pharma/cqrs.domain.md +1 -1
  129. package/assets/docs/domainspecs/pharma/data-classification.domain.md +1 -1
  130. package/assets/docs/domainspecs/pharma/data-provenance.md +1 -1
  131. package/assets/docs/domainspecs/pharma/dependency-policy.domain.md +1 -1
  132. package/assets/docs/domainspecs/pharma/domain-driven-design.domain.md +1 -1
  133. package/assets/docs/domainspecs/pharma/eventing.domain.md +1 -1
  134. package/assets/docs/domainspecs/pharma/fhir.md +1 -1
  135. package/assets/docs/domainspecs/pharma/folder-structure.domain.md +1 -1
  136. package/assets/docs/domainspecs/pharma/hl7.md +1 -1
  137. package/assets/docs/domainspecs/pharma/idmp.md +1 -1
  138. package/assets/docs/domainspecs/pharma/integration-terms.md +1 -1
  139. package/assets/docs/domainspecs/pharma/ndc.md +1 -1
  140. package/assets/docs/domainspecs/pharma/persistence.domain.md +1 -1
  141. package/assets/docs/domainspecs/pharma/pharma-terms.md +1 -1
  142. package/assets/docs/domainspecs/pharma/product-lifecycle.domain.md +1 -1
  143. package/assets/docs/domainspecs/pharma/regulatory-compliance.md +1 -1
  144. package/assets/docs/domainspecs/pharma/terminology.md +1 -1
  145. package/assets/docs/domainspecs/pharma/testing.domain.md +1 -1
  146. package/assets/docs/domainspecs/pharma/vertical-slices.domain.md +1 -1
  147. package/assets/docs/domainspecs/pharma/zero-trust.domain.md +1 -1
  148. package/assets/docs/governance/api-versioning.md +1 -1
  149. package/assets/docs/governance/coding-standards.md +1 -1
  150. package/assets/docs/governance/dependency-policy.md +1 -1
  151. package/assets/docs/requirement-spec.txt +27 -0
  152. package/assets/docs/security/auditing.md +54 -11
  153. package/assets/docs/security/authorization.md +1 -1
  154. package/assets/docs/security/data-classification.md +1 -1
  155. package/assets/docs/security/zero-trust.md +1 -1
  156. package/dist/commands/init.d.ts.map +1 -1
  157. package/dist/commands/init.js +7 -54
  158. package/dist/commands/init.js.map +1 -1
  159. package/dist/index.js +0 -2
  160. package/dist/index.js.map +1 -1
  161. package/dist/utils/paths.js +2 -2
  162. package/dist/utils/paths.js.map +1 -1
  163. package/package.json +1 -1
  164. package/assets/.agents/skills/aw-spec-addcomponent/SKILL.md +0 -129
  165. package/assets/.agents/skills/aw-spec-agent-context-update/SKILL.md +0 -31
  166. package/assets/.agents/skills/aw-spec-analyze/SKILL.md +0 -296
  167. package/assets/.agents/skills/aw-spec-checklist/SKILL.md +0 -374
  168. package/assets/.agents/skills/aw-spec-clarify/SKILL.md +0 -320
  169. package/assets/.agents/skills/aw-spec-constitution/SKILL.md +0 -194
  170. package/assets/.agents/skills/aw-spec-fast-implement/SKILL.md +0 -268
  171. package/assets/.agents/skills/aw-spec-foundation/SKILL.md +0 -358
  172. package/assets/.agents/skills/aw-spec-implement/SKILL.md +0 -279
  173. package/assets/.agents/skills/aw-spec-minimal-implementation/SKILL.md +0 -209
  174. package/assets/.agents/skills/aw-spec-plan/SKILL.md +0 -221
  175. package/assets/.agents/skills/aw-spec-select-domain/SKILL.md +0 -73
  176. package/assets/.agents/skills/aw-spec-specify/SKILL.md +0 -382
  177. package/assets/.agents/skills/aw-spec-tasks/SKILL.md +0 -259
  178. package/assets/.agents/skills/aw-spec-taskstoissues/SKILL.md +0 -107
  179. package/assets/.aw-spec/integrations/claude.manifest.json +0 -17
  180. package/assets/.aw-spec/scripts/bash/check-prerequisites.sh +0 -189
  181. package/assets/.aw-spec/scripts/bash/create-new-feature.sh +0 -299
  182. package/assets/.aw-spec/scripts/bash/setup-plan.sh +0 -84
  183. package/assets/.aw-spec/scripts/bash/setup-tasks.sh +0 -91
  184. package/assets/.aw-spec/templates/checklist-template.md +0 -40
  185. package/assets/.aw-spec/templates/constitution-template.md +0 -57
  186. package/assets/.aw-spec/templates/plan-template.md +0 -113
  187. package/assets/.aw-spec/templates/tasks-template.md +0 -252
  188. package/assets/.aw-spec/workflows/aw-spec/workflow.yml +0 -77
  189. package/assets/.aw-spec/workflows/workflow-registry.json +0 -13
  190. package/assets/.claude/skills/aw-spec-addcomponent/SKILL.md +0 -129
  191. package/assets/.claude/skills/aw-spec-agent-context-update/SKILL.md +0 -31
  192. package/assets/.claude/skills/aw-spec-analyze/SKILL.md +0 -296
  193. package/assets/.claude/skills/aw-spec-checklist/SKILL.md +0 -374
  194. package/assets/.claude/skills/aw-spec-clarify/SKILL.md +0 -320
  195. package/assets/.claude/skills/aw-spec-constitution/SKILL.md +0 -194
  196. package/assets/.claude/skills/aw-spec-fast-implement/SKILL.md +0 -268
  197. package/assets/.claude/skills/aw-spec-foundation/SKILL.md +0 -358
  198. package/assets/.claude/skills/aw-spec-implement/SKILL.md +0 -279
  199. package/assets/.claude/skills/aw-spec-minimal-implementation/SKILL.md +0 -209
  200. package/assets/.claude/skills/aw-spec-plan/SKILL.md +0 -221
  201. package/assets/.claude/skills/aw-spec-select-domain/SKILL.md +0 -73
  202. package/assets/.claude/skills/aw-spec-specify/SKILL.md +0 -382
  203. package/assets/.claude/skills/aw-spec-tasks/SKILL.md +0 -259
  204. package/assets/.claude/skills/aw-spec-taskstoissues/SKILL.md +0 -107
  205. package/assets/.kilocode/rules/specify-rules.md +0 -4
  206. package/assets/.kilocode/workflows/aw-spec-addcomponent.md +0 -129
  207. package/assets/.kilocode/workflows/aw-spec-agent-context.update.md +0 -31
  208. package/assets/.kilocode/workflows/aw-spec-analyze.md +0 -296
  209. package/assets/.kilocode/workflows/aw-spec-checklist.md +0 -374
  210. package/assets/.kilocode/workflows/aw-spec-clarify.md +0 -320
  211. package/assets/.kilocode/workflows/aw-spec-constitution.md +0 -194
  212. package/assets/.kilocode/workflows/aw-spec-fast-implement.md +0 -263
  213. package/assets/.kilocode/workflows/aw-spec-foundation.md +0 -358
  214. package/assets/.kilocode/workflows/aw-spec-implement.md +0 -279
  215. package/assets/.kilocode/workflows/aw-spec-minimal-implementation.md +0 -204
  216. package/assets/.kilocode/workflows/aw-spec-plan.md +0 -221
  217. package/assets/.kilocode/workflows/aw-spec-select-domain.md +0 -73
  218. package/assets/.kilocode/workflows/aw-spec-specify.md +0 -382
  219. package/assets/.kilocode/workflows/aw-spec-tasks.md +0 -259
  220. package/assets/.kilocode/workflows/aw-spec-taskstoissues.md +0 -107
  221. package/assets/docs/UI.Visualization/PACKAGING.md +0 -191
  222. package/assets/docs/UI.Visualization/UI.Visualization.Reference.pack.txt +0 -11768
  223. package/assets/docs/UI.Visualization/UI.Visualization.pack.txt +0 -11214
  224. package/assets/docs/UI.Visualization/pack-foundation.ps1 +0 -165
  225. package/assets/docs/UI.Visualization/pack-foundation.sh +0 -206
  226. package/assets/docs/UI.Visualization/pack-reference-foundation.ps1 +0 -159
  227. package/assets/docs/UI.Visualization/pack-reference-foundation.sh +0 -205
  228. package/assets/docs/UI.Visualization/unpack-foundation.ps1 +0 -126
  229. package/assets/docs/UI.Visualization/unpack-foundation.sh +0 -217
  230. package/assets/docs/UI.Visualization/unpack-reference-foundation.ps1 +0 -129
  231. package/assets/docs/UI.Visualization/unpack-reference-foundation.sh +0 -218
  232. package/assets/docs/command.txt +0 -295
  233. package/assets/docs/domainspecs/UIVisualization/chart-bubble.md +0 -70
  234. package/assets/docs/domainspecs/UIVisualization/chart-dimred.md +0 -58
  235. package/assets/docs/domainspecs/UIVisualization/chart-heatmap.md +0 -62
  236. package/assets/docs/domainspecs/UIVisualization/chart-network.md +0 -69
  237. package/assets/docs/domainspecs/UIVisualization/chart-parallel.md +0 -75
  238. package/assets/docs/domainspecs/UIVisualization/chart-scurve.md +0 -66
  239. package/assets/docs/domainspecs/UIVisualization/chart-survival.md +0 -69
  240. package/assets/docs/domainspecs/UIVisualization/chart-trellis.md +0 -68
  241. package/assets/docs/domainspecs/UIVisualization/chart-violin.md +0 -61
  242. package/assets/docs/domainspecs/UIVisualization/chart-volcano.md +0 -63
  243. package/assets/docs/domainspecs/UIVisualization/charting-standards.domain.md +0 -80
  244. package/assets/docs/domainspecs/UIVisualization/clean-architecture.domain.md +0 -87
  245. package/assets/docs/domainspecs/UIVisualization/coding-standards.domain.md +0 -47
  246. package/assets/docs/domainspecs/UIVisualization/comandrulemap.md +0 -130
  247. package/assets/docs/domainspecs/UIVisualization/component-contracts.domain.md +0 -67
  248. package/assets/docs/domainspecs/UIVisualization/data-source.domain.md +0 -68
  249. package/assets/docs/domainspecs/UIVisualization/domain-requirements.md +0 -110
  250. package/assets/docs/domainspecs/UIVisualization/folder-structure.domain.md +0 -55
  251. package/assets/docs/domainspecs/UIVisualization/state-management.domain.md +0 -67
  252. package/assets/docs/domainspecs/UIVisualization/testing.domain.md +0 -52
  253. package/assets/docs/domainspecs/UIVisualization/ui-viz-terms.md +0 -39
  254. package/assets/docs/pharma-constitution.my-ref.md +0 -86
@@ -1,107 +0,0 @@
1
- ---
2
- name: "aw-spec-taskstoissues"
3
- description: "Convert existing tasks into actionable, dependency-ordered GitHub issues for the feature based on available design artifacts."
4
- argument-hint: "Optional filter or label for GitHub issues"
5
- compatibility: "Requires aw-spec project structure with .aw-spec/ directory"
6
- metadata:
7
- author: "github-aw-spec"
8
- source: "templates/commands/taskstoissues.md"
9
- user-invocable: true
10
- disable-model-invocation: false
11
- ---
12
-
13
-
14
- ## User Input
15
-
16
- ```text
17
- $ARGUMENTS
18
- ```
19
-
20
- You **MUST** consider the user input before proceeding (if not empty).
21
-
22
- ## Pre-Execution Checks
23
-
24
- **Check for extension hooks (before tasks-to-issues conversion)**:
25
- - Check if `.aw-spec/extensions.yml` exists in the project root.
26
- - If it exists, read it and look for entries under the `hooks.before_taskstoissues` key
27
- - If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
28
- - Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
29
- - For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
30
- - If the hook has no `condition` field, or it is null/empty, treat the hook as executable
31
- - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
32
- - When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `aw-spec.git.commit` → `/aw-spec-git-commit`.
33
- - For each executable hook, output the following based on its `optional` flag:
34
- - **Optional hook** (`optional: true`):
35
- ```
36
- ## Extension Hooks
37
-
38
- **Optional Pre-Hook**: {extension}
39
- Command: `/{command}`
40
- Description: {description}
41
-
42
- Prompt: {prompt}
43
- To execute: `/{command}`
44
- ```
45
- - **Mandatory hook** (`optional: false`):
46
- ```
47
- ## Extension Hooks
48
-
49
- **Automatic Pre-Hook**: {extension}
50
- Executing: `/{command}`
51
- EXECUTE_COMMAND: {command}
52
-
53
- Wait for the result of the hook command before proceeding to the Outline.
54
- ```
55
- - If no hooks are registered or `.aw-spec/extensions.yml` does not exist, skip silently
56
-
57
- ## Outline
58
-
59
- 1. Run `.aw-spec/scripts/bash/check-prerequisites.sh --json --require-tasks --include-tasks` from repo root and parse FEATURE_DIR and AVAILABLE_DOCS list. All paths must be absolute. For single quotes in args like "I'm Groot", use escape syntax: e.g 'I'\''m Groot' (or double-quote if possible: "I'm Groot").
60
- 1. **IF EXISTS**: Load `.aw-spec/memory/constitution.md` for project principles and governance constraints.
61
- 1. From the executed script, extract the path to **tasks**.
62
- 1. Get the Git remote by running:
63
-
64
- ```bash
65
- git config --get remote.origin.url
66
- ```
67
-
68
- > [!CAUTION]
69
- > ONLY PROCEED TO NEXT STEPS IF THE REMOTE IS A GITHUB URL
70
-
71
- 1. For each task in the list, use the GitHub MCP server to create a new issue in the repository that is representative of the Git remote.
72
-
73
- > [!CAUTION]
74
- > UNDER NO CIRCUMSTANCES EVER CREATE ISSUES IN REPOSITORIES THAT DO NOT MATCH THE REMOTE URL
75
-
76
- ## Post-Execution Checks
77
-
78
- **Check for extension hooks (after tasks-to-issues conversion)**:
79
- Check if `.aw-spec/extensions.yml` exists in the project root.
80
- - If it exists, read it and look for entries under the `hooks.after_taskstoissues` key
81
- - If the YAML cannot be parsed or is invalid, skip hook checking silently and continue normally
82
- - Filter out hooks where `enabled` is explicitly `false`. Treat hooks without an `enabled` field as enabled by default.
83
- - For each remaining hook, do **not** attempt to interpret or evaluate hook `condition` expressions:
84
- - If the hook has no `condition` field, or it is null/empty, treat the hook as executable
85
- - If the hook defines a non-empty `condition`, skip the hook and leave condition evaluation to the HookExecutor implementation
86
- - When constructing slash commands from hook command names, replace dots (`.`) with hyphens (`-`). For example, `aw-spec.git.commit` → `/aw-spec-git-commit`.
87
- - For each executable hook, output the following based on its `optional` flag:
88
- - **Optional hook** (`optional: true`):
89
- ```
90
- ## Extension Hooks
91
-
92
- **Optional Hook**: {extension}
93
- Command: `/{command}`
94
- Description: {description}
95
-
96
- Prompt: {prompt}
97
- To execute: `/{command}`
98
- ```
99
- - **Mandatory hook** (`optional: false`):
100
- ```
101
- ## Extension Hooks
102
-
103
- **Automatic Hook**: {extension}
104
- Executing: `/{command}`
105
- EXECUTE_COMMAND: {command}
106
- ```
107
- - If no hooks are registered or `.aw-spec/extensions.yml` does not exist, skip silently
@@ -1,191 +0,0 @@
1
- # UI.Visualization — Foundation Packaging Rules
2
-
3
- > **Why this exists.** This packaging model replaces reconstruction with a
4
- > **byte-for-byte bundle of the real, verified Next.js template**.
5
- >
6
- > You author the UI foundation **once** (a Next.js app that actually builds and runs),
7
- > pack it into a single text file, and the scaffolder **unpacks + renames** it.
8
- > No regeneration, no drift — the same guarantee that `VerticalSlice` provides for the backend.
9
-
10
- ---
11
-
12
- ## The single artifact
13
-
14
- ```
15
- docs/UI.Visualization/
16
- ├── UI.Visualization.pack.txt ← THE BUNDLE: every source file in one text file
17
- ├── PACKAGING.md ← this file
18
- ├── pack-foundation.ps1 ← produces the pack from the template folder (Windows)
19
- ├── pack-foundation.sh ← produces the pack from the template folder (macOS/Linux)
20
- ├── pack-reference-foundation.ps1 ← produces a reference/sample pack
21
- ├── pack-reference-foundation.sh
22
- ├── unpack-foundation.ps1 ← extracts + renames into a target app (used by skill)
23
- ├── unpack-foundation.sh
24
- ├── unpack-reference-foundation.ps1
25
- └── unpack-reference-foundation.sh
26
- ```
27
-
28
- The source template lives at:
29
-
30
- ```
31
- templates/UI.Visualization/
32
- ```
33
-
34
- ---
35
-
36
- ## The sentinel convention
37
-
38
- The template is authored under the sentinel app name:
39
-
40
- ```
41
- UI.Visualization
42
- ```
43
-
44
- The scaffolder rewrites the sentinel in **four case forms** (ordinal, case-sensitive, longest-first),
45
- applied to **file contents and to file/folder paths**:
46
-
47
- | Form | Sentinel | Example target (`PharmaViz`) | Where it appears |
48
- |--------------|--------------------------------|---------------------------------|-------------------------------------------|
49
- | dotted | `UI.Visualization` | `PharmaViz` | `package.json` name (dotted form), README |
50
- | underscored | `UI_Visualization` | `PharmaViz` | any underscored identifiers |
51
- | lower-hyphen | `ui-visualization` | `pharmaviz` | npm package name, Docker image tag |
52
- | lower-dot | `ui.visualization` | `pharmaviz` | any lowercased identifiers |
53
-
54
- ### What does NOT get renamed
55
-
56
- - `AppWeaver.*` framework package references in `package.json` (there are none in this UI template — all deps are third-party).
57
- - The generic sample pages (`/heatmap`, `/bubble`, etc.) — these are example content the caller replaces with their own pages.
58
-
59
- ---
60
-
61
- ## How to author the template (do this once per change)
62
-
63
- 1. Work in `templates/UI.Visualization/`.
64
-
65
- 2. Use `UI.Visualization` as the sentinel wherever the app name belongs:
66
- - `package.json` → `"name": "ui-visualization"` (lower-hyphen form)
67
- - `README.md` → title
68
- - `src/app/layout.tsx` → `<title>UI.Visualization</title>` and metadata
69
- - Any other branding strings
70
-
71
- 3. Verify the template builds and runs clean:
72
- ```bash
73
- cd templates/UI.Visualization
74
- npm install
75
- npm run build # must exit 0, no TypeScript errors
76
- npm run dev # browse to http://localhost:3000, all 10 chart pages render
77
- ```
78
-
79
- 4. Fix every error here, in the real template, where the compiler tells you exactly what's wrong.
80
-
81
- ---
82
-
83
- ## How to build the bundle
84
-
85
- From `docs/UI.Visualization/`:
86
-
87
- **macOS / Linux:**
88
- ```bash
89
- ./pack-foundation.sh \
90
- --source-dir ../../../../templates/UI.Visualization \
91
- --out-file ./UI.Visualization.pack.txt
92
- ```
93
-
94
- **Windows (PowerShell):**
95
- ```powershell
96
- ./pack-foundation.ps1 `
97
- -SourceDir ../../../../templates/UI.Visualization `
98
- -OutFile ./UI.Visualization.pack.txt
99
- ```
100
-
101
- The packer:
102
- - Walks the template, **excluding** build/IDE and JS output artifacts:
103
- - dirs: `node_modules .next .turbo dist out coverage .cache bin obj .vs .git logs`
104
- - files: `*.tsbuildinfo next-env.d.ts *.log .env.* *.pem *.key secrets.json`
105
- - **Fails closed on detected secrets** — scans file contents for credential markers and refuses to pack unless `--allow-secrets` / `-AllowSecrets` is passed.
106
- - Stores text files **verbatim** and binary files (e.g. `.xlsx`) **base64-encoded**.
107
- - Writes a header containing `foundation`, `sentinel`, file count, format version, and the replacement contract.
108
- - **Warns** if the sentinel token appears in zero files.
109
-
110
- Re-run it whenever the template changes; commit the regenerated `UI.Visualization.pack.txt`.
111
-
112
- ---
113
-
114
- ## How to build the reference pack
115
-
116
- The reference pack is used by `/aw-spec-addcomponent` and `/aw-spec-implement` unpack workflows
117
- when a feature reference example exists under `templates/features/`.
118
-
119
- ```bash
120
- ./pack-reference-foundation.sh \
121
- --source-dir ../../../../templates/features/UIVisualization.SimpleSample \
122
- --out-file ./UI.Visualization.Reference.pack.txt
123
- ```
124
-
125
- *(Create the `SimpleSample` folder when you have a working feature example to bundle.)*
126
-
127
- ---
128
-
129
- ## Pack file format (`aw-spec-pack/v1`)
130
-
131
- Same format as `VerticalSlice.pack.txt`:
132
-
133
- ```
134
- # AW-SPEC FOUNDATION PACK
135
- # foundation: UI.Visualization
136
- # sentinel: UI.Visualization
137
- # generated: 2026-06-26T10:00:00.0000000Z
138
- # files: 32
139
- # format: aw-spec-pack/v1
140
- # --- replacement contract ... ---
141
- # ============================================================
142
-
143
- <<<FILE path="package.json">>>
144
- ...verbatim file content...
145
- <<<ENDFILE>>>
146
- <<<FILE path="src/app/layout.tsx">>>
147
- ...
148
- <<<ENDFILE>>>
149
- <<<FILE path="public/sample-data.xlsx" encoding="base64">>>
150
- AAABAAE...
151
- <<<ENDFILE>>>
152
- ```
153
-
154
- ---
155
-
156
- ## How scaffolding consumes the bundle
157
-
158
- `/aw-spec-foundation UI.Visualization <AppName> [OutputDir]`
159
- runs `unpack-foundation.sh` (or `.ps1`), which reads the sentinel from the pack header,
160
- derives the four target case forms, and writes the renamed files to the output directory.
161
-
162
- ```bash
163
- # macOS / Linux
164
- ./unpack-foundation.sh \
165
- --pack-file ./UI.Visualization.pack.txt \
166
- --target-app-name PharmaViz \
167
- --out-dir ~/projects/
168
-
169
- # Windows
170
- ./unpack-foundation.ps1 `
171
- -PackFile ./UI.Visualization.pack.txt `
172
- -TargetAppName PharmaViz `
173
- -OutDir ~/projects/
174
- ```
175
-
176
- After unpacking:
177
- ```bash
178
- cd ~/projects/PharmaViz # or wherever OutDir puts it
179
- npm install
180
- npm run dev # → http://localhost:3000
181
- ```
182
-
183
- ---
184
-
185
- ## Maintenance checklist
186
-
187
- - [ ] Template builds clean (`npm run build`, no TypeScript errors).
188
- - [ ] Sentinel `UI.Visualization` appears in `package.json`, `README.md`, `layout.tsx`.
189
- - [ ] No `node_modules/`, `.next/`, or generated files committed into the pack.
190
- - [ ] `pack-foundation.sh` reported a non-zero sentinel hit count.
191
- - [ ] `UI.Visualization.pack.txt` regenerated and committed after any change.