@atlashub/smartstack-cli 4.74.0 → 4.76.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 (121) hide show
  1. package/dist/index.js +152 -31
  2. package/dist/index.js.map +1 -1
  3. package/dist/mcp-entry.mjs +14 -3
  4. package/dist/mcp-entry.mjs.map +1 -1
  5. package/package.json +1 -1
  6. package/templates/agents/ba-reader.md +17 -15
  7. package/templates/agents/ba-writer.md +49 -51
  8. package/templates/skills/apex/SKILL.md +2 -2
  9. package/templates/skills/apex/_shared.md +1 -1
  10. package/templates/skills/apex/references/checks/backend-checks.sh +21 -7
  11. package/templates/skills/apex/references/checks/frontend-checks.sh +26 -0
  12. package/templates/skills/apex/references/checks/infrastructure-checks.sh +47 -10
  13. package/templates/skills/apex/references/checks/seed-checks.sh +47 -7
  14. package/templates/skills/apex/references/core-seed-data.md +20 -18
  15. package/templates/skills/apex/references/frontend-route-wiring-app-tsx.md +3 -0
  16. package/templates/skills/apex/references/post-checks.md +23 -3
  17. package/templates/skills/apex/references/smartstack-api.md +4 -4
  18. package/templates/skills/apex/references/smartstack-frontend.md +54 -8
  19. package/templates/skills/apex/references/smartstack-layers.md +6 -6
  20. package/templates/skills/apex/steps/step-00-init.md +75 -1
  21. package/templates/skills/apex/steps/step-03-execute.md +16 -4
  22. package/templates/skills/apex/steps/step-03b-layer1-seed.md +65 -6
  23. package/templates/skills/apex/steps/step-03c-layer2-backend.md +50 -5
  24. package/templates/skills/apex/steps/step-03d-layer3-frontend.md +226 -4
  25. package/templates/skills/apex/steps/step-04-examine.md +163 -0
  26. package/templates/skills/apex-verify/SKILL.md +110 -0
  27. package/templates/skills/apex-verify/references/audit-rules.md +50 -0
  28. package/templates/skills/apex-verify/steps/step-00-init.md +119 -0
  29. package/templates/skills/apex-verify/steps/step-01-nav-audit.md +92 -0
  30. package/templates/skills/apex-verify/steps/step-02-crud-audit.md +127 -0
  31. package/templates/skills/apex-verify/steps/step-03-perm-audit.md +119 -0
  32. package/templates/skills/apex-verify/steps/step-04-route-audit.md +98 -0
  33. package/templates/skills/apex-verify/steps/step-05-report.md +110 -0
  34. package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +3 -0
  35. package/templates/skills/application/templates-frontend.md +2 -2
  36. package/templates/skills/business-analyse/SKILL.md +17 -3
  37. package/templates/skills/business-analyse/_shared.md +64 -0
  38. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +34 -26
  39. package/templates/skills/business-analyse/questionnaire/01-context.md +13 -9
  40. package/templates/skills/business-analyse/questionnaire/02-stakeholders-scope.md +20 -27
  41. package/templates/skills/business-analyse/questionnaire.md +86 -9
  42. package/templates/skills/business-analyse/references/03-json-schemas.md +221 -0
  43. package/templates/skills/business-analyse/references/03-post-check-validation.md +208 -0
  44. package/templates/skills/business-analyse/references/03-smartstack-entity-guards.md +32 -0
  45. package/templates/skills/business-analyse/references/04-cross-module-validation.md +95 -0
  46. package/templates/skills/business-analyse/references/04-file-allocation.md +162 -0
  47. package/templates/skills/business-analyse/references/04-naming-audit-checks.md +174 -0
  48. package/templates/skills/business-analyse/references/04-semantic-validation-matrix.md +118 -0
  49. package/templates/skills/business-analyse/references/canonical-json-formats.md +7 -3
  50. package/templates/skills/business-analyse/references/domain-research-playbook.md +234 -0
  51. package/templates/skills/business-analyse/references/entity-sourcing-presentation.md +166 -0
  52. package/templates/skills/business-analyse/references/init-resume-logic.md +70 -0
  53. package/templates/skills/business-analyse/references/module-completeness-challenge.md +174 -0
  54. package/templates/skills/business-analyse/references/multi-app-detection.md +149 -0
  55. package/templates/skills/business-analyse/references/portal-classification.md +52 -0
  56. package/templates/skills/business-analyse/references/robustness-checks.md +1 -1
  57. package/templates/skills/business-analyse/references/validation-checklist.md +35 -6
  58. package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +50 -6
  59. package/templates/skills/business-analyse/steps/step-00-init.md +22 -190
  60. package/templates/skills/business-analyse/steps/step-01-cadrage.md +365 -269
  61. package/templates/skills/business-analyse/steps/step-02-structure.md +98 -20
  62. package/templates/skills/business-analyse/steps/step-03-specify.md +810 -229
  63. package/templates/skills/business-analyse/steps/step-04-consolidate.md +509 -278
  64. package/templates/skills/business-analyse-design/SKILL.md +10 -0
  65. package/templates/skills/business-analyse-design/references/screens-post-check.md +221 -0
  66. package/templates/skills/business-analyse-design/references/screens-type-mapping.md +138 -0
  67. package/templates/skills/business-analyse-design/references/smartcomponents-templates.md +225 -0
  68. package/templates/skills/{business-analyse → business-analyse-design}/references/spec-auto-inference.md +117 -117
  69. package/templates/skills/business-analyse-design/steps/step-01-screens.md +36 -162
  70. package/templates/skills/business-analyse-design/steps/step-02-wireframes.md +8 -7
  71. package/templates/skills/business-analyse-design/steps/step-03-navigation.md +89 -42
  72. package/templates/skills/business-analyse-develop/references/compact-loop.md +9 -0
  73. package/templates/skills/business-analyse-develop/references/handoff-quality-gate.md +132 -0
  74. package/templates/skills/business-analyse-develop/references/prd-v3-transformation.md +326 -0
  75. package/templates/skills/business-analyse-develop/references/report-reconciliation.md +140 -0
  76. package/templates/skills/business-analyse-develop/references/report-template.md +142 -0
  77. package/templates/skills/business-analyse-develop/steps/step-01-task.md +5 -177
  78. package/templates/skills/business-analyse-develop/steps/step-02-execute.md +17 -4
  79. package/templates/skills/business-analyse-develop/steps/step-03-commit.md +6 -2
  80. package/templates/skills/business-analyse-develop/steps/step-04-check.md +6 -0
  81. package/templates/skills/business-analyse-develop/steps/step-05-report.md +3 -269
  82. package/templates/skills/business-analyse-handoff/SKILL.md +10 -0
  83. package/templates/skills/business-analyse-handoff/references/agent-handoff-transform-prompt.md +211 -0
  84. package/templates/skills/business-analyse-handoff/references/context-isolation-pattern.md +47 -0
  85. package/templates/skills/business-analyse-handoff/references/handoff-file-inventory.md +49 -0
  86. package/templates/skills/business-analyse-handoff/references/handoff-global-validation.md +142 -0
  87. package/templates/skills/business-analyse-handoff/references/prd-validation-checks.md +125 -0
  88. package/templates/skills/business-analyse-handoff/references/project-index-update.md +98 -0
  89. package/templates/skills/business-analyse-handoff/steps/step-01-transform.md +9 -160
  90. package/templates/skills/business-analyse-handoff/steps/step-02-export.md +10 -99
  91. package/templates/skills/business-analyse-html/SKILL.md +10 -0
  92. package/templates/skills/business-analyse-html/html/ba-interactive.html +504 -97
  93. package/templates/skills/business-analyse-html/html/src/scripts/01-data-init.js +79 -2
  94. package/templates/skills/business-analyse-html/html/src/scripts/02-navigation.js +6 -46
  95. package/templates/skills/business-analyse-html/html/src/scripts/05-render-specs.js +80 -11
  96. package/templates/skills/business-analyse-html/html/src/scripts/06-render-consolidation.js +2 -2
  97. package/templates/skills/business-analyse-html/html/src/scripts/06-render-mockups.js +94 -36
  98. package/templates/skills/business-analyse-html/html/src/scripts/12-render-diagrams.js +162 -0
  99. package/templates/skills/business-analyse-html/html/src/styles/10-diagrams.css +73 -0
  100. package/templates/skills/business-analyse-html/html/src/template.html +2 -0
  101. package/templates/skills/business-analyse-html/references/02-embedded-artifacts-building.md +144 -0
  102. package/templates/skills/business-analyse-html/references/02-feature-data-building.md +143 -0
  103. package/templates/skills/business-analyse-html/references/02-mapping-tables.md +442 -0
  104. package/templates/skills/business-analyse-html/references/02-normalization-helpers.md +139 -0
  105. package/templates/skills/business-analyse-html/references/02-screen-format-detection.md +283 -0
  106. package/templates/skills/business-analyse-html/references/02-self-check-validation.md +199 -0
  107. package/templates/skills/business-analyse-html/references/data-build.md +24 -1
  108. package/templates/skills/business-analyse-html/references/data-mapping.md +119 -17
  109. package/templates/skills/business-analyse-html/steps/step-02-build-data.md +18 -555
  110. package/templates/skills/business-analyse-html/steps/step-04-verify.md +92 -3
  111. package/templates/skills/business-analyse-quick/SKILL.md +807 -0
  112. package/templates/skills/{sketch → business-analyse-quick}/references/domain-heuristics.md +59 -3
  113. package/templates/skills/business-analyse-quick/references/prd-schema.md +268 -0
  114. package/templates/skills/business-analyse-review/SKILL.md +10 -0
  115. package/templates/skills/business-analyse-review/references/review-data-mapping.md +6 -0
  116. package/templates/skills/business-analyse-status/SKILL.md +8 -0
  117. package/templates/skills/dev-start/SKILL.md +143 -307
  118. package/templates/skills/efcore/SKILL.md +13 -0
  119. package/templates/skills/sketch/SKILL.md +15 -153
  120. package/templates/skills/ui-components/SKILL.md +1 -1
  121. package/templates/skills/ui-components/patterns/data-table.md +1 -1
@@ -1,172 +1,34 @@
1
1
  ---
2
2
  name: sketch
3
3
  description: |
4
- Transform a vague idea into a precise /apex command in under 5 minutes.
5
- Use this skill when:
6
- - User has a vague idea ("I want an HR app with employees and absences")
7
- - User doesn't know the exact entities, fields, or structure needed
8
- - User needs help designing a module before running /apex
9
- Zero MCP, zero file generation — pure domain inference.
10
- model: opus
11
- argument-hint: "<vague idea in natural language>"
4
+ DEPRECATED Redirects to /business-analyse-quick.
5
+ Use /business-analyse-quick instead for Mini-BA with PRD generation.
6
+ model: sonnet
7
+ argument-hint: "<use /business-analyse-quick instead>"
12
8
  ---
13
9
 
14
10
  <objective>
15
- Transform a vague user prompt into a precise, ready-to-run /apex command. /sketch is a rapid design assistant — it infers entities, properties, relationships, labels, and code patterns from minimal input using domain heuristics and LLM knowledge.
16
-
17
- **Key principles:**
18
- - MAX 2 questions total (1 subject guard + 1 optional confirmation)
19
- - Zero MCP calls — pure inference (validation is /apex's job)
20
- - Zero file generation — output is text in conversation only
21
- - Domain heuristics ACCELERATE inference, they do NOT limit it
11
+ This skill has been renamed to `/business-analyse-quick`. Redirect the user.
22
12
  </objective>
23
13
 
24
- <quick_start>
25
-
26
- ```bash
27
- /sketch une app RH avec employés et absences
28
- /sketch I want to manage customer orders and invoices
29
- /sketch gestion de projets avec tâches et jalons
30
- /sketch stock management
31
- ```
32
-
33
- </quick_start>
34
-
35
- <anti_patterns>
36
- - DO NOT ask more than 2 questions total
37
- - DO NOT generate any files (no JSON, no code, no documents)
38
- - DO NOT call any MCP tools (validation is /apex's job)
39
- - DO NOT scan the entire codebase (max 1 Glob for app detection)
40
- - DO NOT duplicate business analysis logic (no stakeholders, risks, use cases)
41
- - DO NOT output structured syntax — /apex parses natural language, not custom formats
42
- - DO NOT call Skill("apex") directly — instruct the agent to do it based on user choice
43
- </anti_patterns>
44
-
45
14
  <algorithm>
46
15
 
47
- ## 1. SUBJECT GUARD
48
-
49
- Check if the user prompt contains at least one identifiable business object (noun that could be an entity: employees, orders, projects, invoices, etc.).
50
-
51
- ```
52
- IF no business object identifiable in prompt:
53
- → AskUserQuestion: "What do you want to manage? (e.g., employees, orders, projects, invoices...)"
54
- → Wait for answer, then continue to step 2
55
- → This is the ONLY mandatory question
56
- ```
57
-
58
- ## 2. LOAD DOMAIN HEURISTICS
59
-
60
- Read `references/domain-heuristics.md` — domain pattern table with entities, properties, FK relationships, and i18n labels for 15 common business domains.
61
-
62
- ## 3. ULTRA THINK — Domain Inference
63
-
64
- **ULTRA THINK deeply about the user's domain before proceeding.**
65
-
66
- From the user prompt + domain heuristics table:
67
-
68
- 1. **Extract keywords** from user prompt (nouns, domain terms, action verbs)
69
- 2. **Match against heuristics table** — find the closest domain pattern(s)
70
- 3. **If no match:** use general LLM knowledge (the table accelerates, it does NOT limit)
71
- 4. **Infer entities:** name, key properties, types, nullable flags
72
- 5. **Infer FK relationships:** between entities (EmployeeId→Employee, etc.)
73
- 6. **Infer sections:** 1 section per main entity, code = plural kebab-case (e.g., "employees")
74
- 7. **Infer i18n labels** in 4 languages (fr, en, it, de) — from table or LLM knowledge
75
- 8. **Deduce code_patterns:** strategy = "sequential" by default, prefix = first 3 letters of entity name
76
- 9. **Deduce tenantMode:** "strict" by default (multi-tenant)
77
- 10. **Deduce complexity:**
78
- - `simple-crud` if ≤ 2 entities with no workflow/status transitions
79
- - `crud-rules` otherwise (validations, computed fields, status)
80
- - `crud-workflow` if mentions approval, email, notification
81
- - `complex` if > 4 entities with specific business logic
82
-
83
- ## 4. DETECT EXISTING APPLICATION
84
-
16
+ Display:
85
17
  ```
86
- Glob("**/NavigationApplicationSeedData.cs") ← single scan, MAX 1
18
+ ═══════════════════════════════════════════════════════════
19
+ /sketch has been renamed to /business-analyse-quick
20
+ ═══════════════════════════════════════════════════════════
87
21
 
88
- IF files found:
89
- Extract application names from seed data classes
90
- Check if the inferred module fits an existing application
91
- If multiple apps match: flag as ambiguity for step 5
92
-
93
- IF no files found:
94
- → New application — infer name from domain
95
- → app_name = domain-appropriate PascalCase name (e.g., "HumanResources")
22
+ /business-analyse-quick provides:
23
+ - Interactive Mini-BA (12-15 questions)
24
+ - Structured Mini-PRD output for /apex -d
25
+ - Entity, rules, use cases, permissions, screens specs
96
26
  ```
97
27
 
98
- ## 5. CONFIRMATION GATE MAX 1 optional question
28
+ Then immediately invoke the new skill with the user's original arguments:
99
29
 
100
30
  ```
101
- IF real ambiguity exists (multiple matching apps, genuinely ambiguous domain):
102
- → AskUserQuestion with specific options to resolve the ambiguity
103
- → This is the ONLY optional question
104
-
105
- IF no ambiguity:
106
- → Zero questions — proceed directly to output
31
+ Skill("business-analyse-quick", args: "{original user arguments}")
107
32
  ```
108
33
 
109
- ## 6. OUTPUT — Display result and choices
110
-
111
- Display the design summary and generated /apex prompt using the exact format below.
112
-
113
34
  </algorithm>
114
-
115
- <output_format>
116
-
117
- ```
118
- ══════════════════════════════════════════════════════════
119
- /sketch — Module Design Complete
120
- ══════════════════════════════════════════════════════════
121
-
122
- Application: {app_name}
123
- Module: {module_code}
124
- Sections: {section1_code} ({fr_label}/{en_label}/{it_label}/{de_label})
125
- {section2_code} ({fr_label}/{en_label}/{it_label}/{de_label})
126
- Entities: {Entity1} ({prop1}:{type}, {prop2}:{type}, {fk}:{type} FK→{Target})
127
- {Entity2} ({prop1}:{type}, {prop2}:{type}, {fk}:{type} FK→{Target})
128
- Complexity: {complexity}
129
- Code: {Entity1} → {prefix}-{tenant}-00001 | {Entity2} → {prefix}-{tenant}-00001
130
-
131
- Ready to run:
132
- ──────────────────────────────────────────────────────
133
- /apex add {sections} sections to {app_name} module with
134
- {Entity1} entity ({properties with types and FKs}) and
135
- {Entity2} entity ({properties with types and FKs}),
136
- code patterns sequential {prefixes}, complexity {complexity}
137
- ──────────────────────────────────────────────────────
138
-
139
- [1] Run this /apex command now
140
- [2] Edit before running
141
- [3] Cancel
142
- ```
143
-
144
- **Rules for the generated /apex prompt:**
145
- - Natural language, dense but readable
146
- - Include ALL entities with their key properties and types
147
- - Include FK relationships explicitly (e.g., "EmployeeId:Guid FK→Employee")
148
- - Include code pattern prefixes
149
- - Include complexity level
150
- - Mention the target application name
151
-
152
- </output_format>
153
-
154
- <handoff>
155
-
156
- Based on user selection:
157
-
158
- ```
159
- IF user selects [1]:
160
- → Call: Skill("apex", args: "{the generated prompt text}")
161
-
162
- IF user selects [2]:
163
- → Display the generated prompt for the user to edit
164
- → Wait for edited version
165
- → Re-display choices [1] Run / [3] Cancel
166
-
167
- IF user selects [3]:
168
- → Display: "Cancelled. Run /sketch again when ready."
169
- → STOP
170
- ```
171
-
172
- </handoff>
@@ -162,7 +162,7 @@ export function EntityListPage() {
162
162
  } finally {
163
163
  setLoading(false);
164
164
  }
165
- }, [t]);
165
+ }, []);
166
166
 
167
167
  useEffect(() => { loadData(); }, [loadData]);
168
168
 
@@ -55,7 +55,7 @@ export function UsersPage() {
55
55
  } finally {
56
56
  setLoading(false);
57
57
  }
58
- }, [t]);
58
+ }, []);
59
59
 
60
60
  useEffect(() => { loadData(); }, [loadData]);
61
61