@atlashub/smartstack-cli 3.7.0 → 3.9.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 (133) hide show
  1. package/dist/index.js +365 -2
  2. package/dist/index.js.map +1 -1
  3. package/package.json +4 -2
  4. package/templates/agents/action.md +1 -0
  5. package/templates/agents/ba-writer.md +33 -0
  6. package/templates/agents/explore-codebase.md +1 -0
  7. package/templates/agents/explore-docs.md +1 -0
  8. package/templates/agents/fix-grammar.md +1 -0
  9. package/templates/agents/snipper.md +1 -0
  10. package/templates/skills/admin/SKILL.md +6 -0
  11. package/templates/skills/ai-prompt/SKILL.md +32 -136
  12. package/templates/skills/ai-prompt/steps/step-01-implementation.md +122 -0
  13. package/templates/skills/apex/SKILL.md +120 -0
  14. package/templates/skills/apex/_shared.md +86 -0
  15. package/templates/skills/apex/references/agent-teams-protocol.md +164 -0
  16. package/templates/skills/apex/references/smartstack-layers.md +173 -0
  17. package/templates/skills/apex/steps/step-00-init.md +156 -0
  18. package/templates/skills/apex/steps/step-01-analyze.md +169 -0
  19. package/templates/skills/apex/steps/step-02-plan.md +160 -0
  20. package/templates/skills/apex/steps/step-03-execute.md +166 -0
  21. package/templates/skills/apex/steps/step-04-validate.md +138 -0
  22. package/templates/skills/apex/steps/step-05-examine.md +124 -0
  23. package/templates/skills/apex/steps/step-06-resolve.md +105 -0
  24. package/templates/skills/apex/steps/step-07-tests.md +130 -0
  25. package/templates/skills/apex/steps/step-08-run-tests.md +115 -0
  26. package/templates/skills/application/SKILL.md +10 -0
  27. package/templates/skills/application/references/backend-controller-hierarchy.md +58 -0
  28. package/templates/skills/application/references/backend-entity-seeding.md +72 -0
  29. package/templates/skills/application/references/backend-verification.md +88 -0
  30. package/templates/skills/application/references/frontend-verification.md +111 -0
  31. package/templates/skills/application/references/nav-fallback-procedure.md +200 -0
  32. package/templates/skills/application/references/provider-template.md +134 -0
  33. package/templates/skills/application/references/test-frontend.md +73 -0
  34. package/templates/skills/application/references/test-prerequisites.md +72 -0
  35. package/templates/skills/application/steps/step-01-navigation.md +7 -198
  36. package/templates/skills/application/steps/step-03b-provider.md +4 -128
  37. package/templates/skills/application/steps/step-04-backend.md +20 -350
  38. package/templates/skills/application/steps/step-05-frontend.md +12 -101
  39. package/templates/skills/application/steps/step-07-tests.md +12 -132
  40. package/templates/skills/business-analyse/SKILL.md +11 -2
  41. package/templates/skills/business-analyse/html/ba-interactive.html +3214 -2246
  42. package/templates/skills/business-analyse/html/build-html.js +77 -0
  43. package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +130 -0
  44. package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +22 -0
  45. package/templates/skills/business-analyse/html/src/scripts/03-render-cadrage.js +208 -0
  46. package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +211 -0
  47. package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +554 -0
  48. package/templates/skills/business-analyse/html/src/scripts/06-render-consolidation.js +110 -0
  49. package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +90 -0
  50. package/templates/skills/business-analyse/html/src/scripts/08-editing.js +45 -0
  51. package/templates/skills/business-analyse/html/src/scripts/09-export.js +168 -0
  52. package/templates/skills/business-analyse/html/src/scripts/10-comments.js +171 -0
  53. package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +161 -0
  54. package/templates/skills/business-analyse/html/src/styles/01-variables.css +38 -0
  55. package/templates/skills/business-analyse/html/src/styles/02-layout.css +101 -0
  56. package/templates/skills/business-analyse/html/src/styles/03-navigation.css +62 -0
  57. package/templates/skills/business-analyse/html/src/styles/04-cards.css +196 -0
  58. package/templates/skills/business-analyse/html/src/styles/05-modules.css +325 -0
  59. package/templates/skills/business-analyse/html/src/styles/06-wireframes.css +230 -0
  60. package/templates/skills/business-analyse/html/src/styles/07-comments.css +184 -0
  61. package/templates/skills/business-analyse/html/src/styles/08-review-panel.css +241 -0
  62. package/templates/skills/business-analyse/html/src/template.html +623 -0
  63. package/templates/skills/business-analyse/references/cadrage-structure-cards.md +78 -0
  64. package/templates/skills/business-analyse/references/cadrage-vibe-coding.md +97 -0
  65. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +92 -0
  66. package/templates/skills/business-analyse/references/deploy-data-build.md +121 -0
  67. package/templates/skills/business-analyse/references/deploy-modes.md +49 -0
  68. package/templates/skills/business-analyse/references/handoff-file-templates.md +119 -0
  69. package/templates/skills/business-analyse/references/handoff-mappings.md +81 -0
  70. package/templates/skills/business-analyse/references/html-data-mapping.md +10 -2
  71. package/templates/skills/business-analyse/references/init-schema-deployment.md +65 -0
  72. package/templates/skills/business-analyse/references/review-data-mapping.md +363 -0
  73. package/templates/skills/business-analyse/references/spec-auto-inference.md +57 -0
  74. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +85 -0
  75. package/templates/skills/business-analyse/references/ui-resource-cards.md +110 -0
  76. package/templates/skills/business-analyse/references/validate-incremental-html.md +55 -0
  77. package/templates/skills/business-analyse/steps/step-00-init.md +35 -68
  78. package/templates/skills/business-analyse/steps/step-01-cadrage.md +5 -194
  79. package/templates/skills/business-analyse/steps/step-03a-data.md +6 -49
  80. package/templates/skills/business-analyse/steps/step-03b-ui.md +12 -178
  81. package/templates/skills/business-analyse/steps/step-03d-validate.md +3 -48
  82. package/templates/skills/business-analyse/steps/step-04-consolidation.md +9 -104
  83. package/templates/skills/business-analyse/steps/step-05a-handoff.md +25 -441
  84. package/templates/skills/business-analyse/steps/step-05b-deploy.md +19 -187
  85. package/templates/skills/business-analyse/steps/step-06-review.md +277 -0
  86. package/templates/skills/cc-agent/references/agent-behavior-patterns.md +95 -0
  87. package/templates/skills/cc-agent/steps/step-02-generate.md +5 -78
  88. package/templates/skills/check-version/SKILL.md +7 -0
  89. package/templates/skills/controller/references/controller-code-templates.md +159 -0
  90. package/templates/skills/controller/references/permission-sync-templates.md +152 -0
  91. package/templates/skills/controller/steps/step-03-generate.md +6 -158
  92. package/templates/skills/controller/steps/step-04-perms.md +5 -144
  93. package/templates/skills/debug/SKILL.md +7 -0
  94. package/templates/skills/explore/SKILL.md +6 -0
  95. package/templates/skills/feature-full/SKILL.md +39 -142
  96. package/templates/skills/feature-full/steps/step-01-implementation.md +120 -0
  97. package/templates/skills/gitflow/references/init-config-template.md +135 -0
  98. package/templates/skills/gitflow/references/init-name-normalization.md +103 -0
  99. package/templates/skills/gitflow/references/plan-template.md +69 -0
  100. package/templates/skills/gitflow/references/start-efcore-preflight.md +70 -0
  101. package/templates/skills/gitflow/references/start-local-config.md +110 -0
  102. package/templates/skills/gitflow/steps/step-init.md +18 -289
  103. package/templates/skills/gitflow/steps/step-plan.md +6 -63
  104. package/templates/skills/gitflow/steps/step-start.md +16 -126
  105. package/templates/skills/mcp/SKILL.md +9 -213
  106. package/templates/skills/mcp/steps/step-01-healthcheck.md +108 -0
  107. package/templates/skills/mcp/steps/step-02-tools.md +73 -0
  108. package/templates/skills/notification/SKILL.md +7 -0
  109. package/templates/skills/quick-search/SKILL.md +5 -0
  110. package/templates/skills/ralph-loop/SKILL.md +99 -381
  111. package/templates/skills/ralph-loop/references/category-rules.md +259 -0
  112. package/templates/skills/ralph-loop/references/compact-loop.md +182 -0
  113. package/templates/skills/ralph-loop/references/task-transform-legacy.md +259 -0
  114. package/templates/skills/ralph-loop/references/team-orchestration.md +189 -0
  115. package/templates/skills/ralph-loop/steps/step-00-init.md +111 -383
  116. package/templates/skills/ralph-loop/steps/step-01-task.md +79 -896
  117. package/templates/skills/ralph-loop/steps/step-02-execute.md +68 -680
  118. package/templates/skills/ralph-loop/steps/step-03-commit.md +47 -277
  119. package/templates/skills/ralph-loop/steps/step-04-check.md +124 -607
  120. package/templates/skills/ralph-loop/steps/step-05-report.md +68 -367
  121. package/templates/skills/refactor/SKILL.md +12 -176
  122. package/templates/skills/refactor/steps/step-01-discover.md +60 -0
  123. package/templates/skills/refactor/steps/step-02-execute.md +67 -0
  124. package/templates/skills/review-code/SKILL.md +19 -257
  125. package/templates/skills/review-code/steps/step-01-smartstack.md +96 -0
  126. package/templates/skills/review-code/steps/step-02-detailed-review.md +80 -0
  127. package/templates/skills/review-code/steps/step-03-react.md +44 -0
  128. package/templates/skills/ui-components/SKILL.md +7 -0
  129. package/templates/skills/utils/SKILL.md +6 -0
  130. package/templates/skills/validate/SKILL.md +6 -0
  131. package/templates/skills/validate-feature/SKILL.md +8 -0
  132. package/templates/skills/workflow/SKILL.md +40 -118
  133. package/templates/skills/workflow/steps/step-01-implementation.md +84 -0
@@ -0,0 +1,325 @@
1
+ /* ============================================
2
+ USE CASE LIST
3
+ ============================================ */
4
+ .uc-list { list-style: none; }
5
+
6
+ .uc-item {
7
+ background: var(--bg-card);
8
+ border: 1px solid var(--border);
9
+ border-radius: 8px;
10
+ padding: 1rem 1.25rem;
11
+ margin-bottom: 0.75rem;
12
+ transition: border-color var(--transition-fast);
13
+ }
14
+ .uc-item:hover { border-color: var(--border-light); }
15
+
16
+ .uc-header {
17
+ display: flex;
18
+ align-items: center;
19
+ gap: 0.75rem;
20
+ margin-bottom: 0.5rem;
21
+ }
22
+ .uc-id {
23
+ font-size: 0.7rem;
24
+ font-weight: 700;
25
+ color: var(--primary-light);
26
+ background: rgba(99,102,241,0.1);
27
+ padding: 0.15rem 0.5rem;
28
+ border-radius: 4px;
29
+ }
30
+ .uc-title { font-weight: 600; color: var(--text-bright); flex: 1; }
31
+ .uc-actions { display: flex; gap: 0.3rem; opacity: 0; transition: opacity var(--transition-fast); }
32
+ .uc-item:hover .uc-actions { opacity: 1; }
33
+
34
+ .uc-detail { font-size: 0.875rem; color: var(--text); }
35
+ .uc-detail-label { color: var(--text-muted); font-size: 0.75rem; font-weight: 600; margin-top: 0.5rem; }
36
+
37
+ .uc-actors {
38
+ display: flex; gap: 0.4rem; margin-top: 0.3rem; flex-wrap: wrap;
39
+ }
40
+ .uc-actor {
41
+ font-size: 0.7rem;
42
+ padding: 0.1rem 0.4rem;
43
+ background: rgba(6,182,212,0.1);
44
+ color: var(--accent);
45
+ border-radius: 4px;
46
+ border: 1px solid rgba(6,182,212,0.2);
47
+ }
48
+
49
+ /* ============================================
50
+ BUSINESS RULE LIST
51
+ ============================================ */
52
+ .br-item {
53
+ display: flex;
54
+ align-items: flex-start;
55
+ gap: 0.75rem;
56
+ padding: 0.75rem 1rem;
57
+ background: var(--bg-card);
58
+ border: 1px solid var(--border);
59
+ border-radius: 8px;
60
+ margin-bottom: 0.5rem;
61
+ }
62
+ .br-category {
63
+ font-size: 0.65rem;
64
+ font-weight: 700;
65
+ text-transform: uppercase;
66
+ padding: 0.15rem 0.4rem;
67
+ border-radius: 4px;
68
+ flex-shrink: 0;
69
+ min-width: 70px;
70
+ text-align: center;
71
+ }
72
+ .br-cat-validation { background: rgba(99,102,241,0.15); color: var(--primary-light); }
73
+ .br-cat-calculation { background: rgba(234,179,8,0.15); color: #facc15; }
74
+ .br-cat-workflow { background: rgba(249,115,22,0.15); color: var(--secondary); }
75
+ .br-cat-security { background: rgba(239,68,68,0.15); color: #f87171; }
76
+ .br-cat-data { background: rgba(6,182,212,0.15); color: var(--accent); }
77
+ .br-text { flex: 1; font-size: 0.875rem; }
78
+
79
+ /* ============================================
80
+ STAKEHOLDER TABLE
81
+ ============================================ */
82
+ .stakeholder-grid {
83
+ display: grid;
84
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
85
+ gap: 1rem;
86
+ }
87
+ .stakeholder-card {
88
+ background: var(--bg-card);
89
+ border: 1px solid var(--border);
90
+ border-radius: 10px;
91
+ padding: 1rem;
92
+ }
93
+ .stakeholder-card:hover { border-color: var(--border-light); }
94
+ .stakeholder-role { font-weight: 600; color: var(--text-bright); margin-bottom: 0.25rem; }
95
+ .stakeholder-function { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 0.5rem; }
96
+ .stakeholder-tasks { list-style: none; }
97
+ .stakeholder-tasks li {
98
+ font-size: 0.8rem;
99
+ padding: 0.15rem 0;
100
+ color: var(--text);
101
+ }
102
+ .stakeholder-tasks li::before { content: "- "; color: var(--primary-light); }
103
+ .stakeholder-meta {
104
+ display: flex; gap: 0.75rem; margin-top: 0.5rem; padding-top: 0.5rem;
105
+ border-top: 1px solid var(--border);
106
+ }
107
+ .stakeholder-meta span { font-size: 0.7rem; color: var(--text-muted); }
108
+
109
+ /* ============================================
110
+ PROCESS FLOW
111
+ ============================================ */
112
+ .process-flow {
113
+ display: flex;
114
+ align-items: center;
115
+ gap: 0.25rem;
116
+ overflow-x: auto;
117
+ padding: 1rem 0;
118
+ }
119
+ .process-step {
120
+ background: var(--bg-card);
121
+ border: 1px solid var(--border);
122
+ border-radius: 8px;
123
+ padding: 0.75rem 1rem;
124
+ min-width: 140px;
125
+ text-align: center;
126
+ flex-shrink: 0;
127
+ }
128
+ .process-step:hover { border-color: var(--primary); }
129
+ .process-step-number {
130
+ font-size: 0.65rem;
131
+ color: var(--primary-light);
132
+ font-weight: 700;
133
+ }
134
+ .process-step-label { font-size: 0.8rem; color: var(--text-bright); font-weight: 500; }
135
+ .process-arrow { color: var(--text-muted); font-size: 1.2rem; flex-shrink: 0; }
136
+
137
+ /* ============================================
138
+ RISK TABLE
139
+ ============================================ */
140
+ .risk-item {
141
+ display: grid;
142
+ grid-template-columns: auto 1fr auto auto;
143
+ gap: 1rem;
144
+ align-items: center;
145
+ padding: 0.75rem 1rem;
146
+ background: var(--bg-card);
147
+ border: 1px solid var(--border);
148
+ border-radius: 8px;
149
+ margin-bottom: 0.5rem;
150
+ }
151
+ .risk-level {
152
+ width: 10px; height: 10px;
153
+ border-radius: 50%;
154
+ }
155
+ .risk-critical { background: var(--error); }
156
+ .risk-medium { background: var(--warning); }
157
+ .risk-low { background: var(--success); }
158
+ .risk-text { font-size: 0.875rem; }
159
+ .risk-probability, .risk-impact {
160
+ font-size: 0.7rem;
161
+ color: var(--text-muted);
162
+ text-align: center;
163
+ }
164
+
165
+ /* ============================================
166
+ MODULE CARDS (Decomposition)
167
+ ============================================ */
168
+ .module-grid {
169
+ display: grid;
170
+ grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
171
+ gap: 1rem;
172
+ }
173
+ .module-card {
174
+ background: var(--bg-card);
175
+ border: 1px solid var(--border);
176
+ border-radius: 10px;
177
+ padding: 1rem;
178
+ cursor: pointer;
179
+ transition: all var(--transition-fast);
180
+ position: relative;
181
+ }
182
+ .module-card:hover { border-color: var(--primary); }
183
+ .module-card.selected { border-color: var(--primary); box-shadow: 0 0 0 2px rgba(99,102,241,0.2); }
184
+ .module-card-header { display: flex; justify-content: space-between; align-items: start; margin-bottom: 0.5rem; }
185
+ .module-card-code { font-weight: 700; color: var(--text-bright); font-size: 1rem; }
186
+ .module-card-type {
187
+ font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em;
188
+ padding: 0.15rem 0.5rem; border-radius: 4px;
189
+ background: rgba(99,102,241,0.1); color: var(--primary-light);
190
+ }
191
+ .module-card-desc { font-size: 0.8rem; color: var(--text-muted); margin-bottom: 0.5rem; }
192
+ .module-card-meta { display: flex; gap: 0.75rem; font-size: 0.7rem; color: var(--text-muted); }
193
+ .module-card-meta span { display: flex; align-items: center; gap: 0.2rem; }
194
+ .module-card-remove {
195
+ position: absolute; top: 0.5rem; right: 0.5rem;
196
+ background: none; border: none; color: var(--text-muted);
197
+ cursor: pointer; font-size: 0.8rem; opacity: 0;
198
+ transition: opacity var(--transition-fast);
199
+ }
200
+ .module-card:hover .module-card-remove { opacity: 1; }
201
+ .module-card-remove:hover { color: var(--error); }
202
+
203
+ /* ============================================
204
+ TABS (Module Specification)
205
+ ============================================ */
206
+ .tab-bar {
207
+ display: flex;
208
+ gap: 0;
209
+ border-bottom: 1px solid var(--border);
210
+ margin-bottom: 1.5rem;
211
+ overflow-x: auto;
212
+ }
213
+ .tab-btn {
214
+ padding: 0.6rem 1rem;
215
+ background: none;
216
+ border: none;
217
+ border-bottom: 2px solid transparent;
218
+ color: var(--text-muted);
219
+ font-size: 0.8rem;
220
+ font-family: inherit;
221
+ cursor: pointer;
222
+ white-space: nowrap;
223
+ transition: all var(--transition-fast);
224
+ }
225
+ .tab-btn:hover { color: var(--text-bright); background: var(--bg-hover); }
226
+ .tab-btn.active { color: var(--primary-light); border-bottom-color: var(--primary); font-weight: 500; }
227
+ .tab-panel { display: none; }
228
+ .tab-panel.active { display: block; }
229
+
230
+ /* ============================================
231
+ ENTITY TABLE
232
+ ============================================ */
233
+ .entity-block {
234
+ background: var(--bg-card);
235
+ border: 1px solid var(--border);
236
+ border-radius: 10px;
237
+ margin-bottom: 1rem;
238
+ overflow: hidden;
239
+ }
240
+ .entity-header {
241
+ display: flex; align-items: center; justify-content: space-between;
242
+ padding: 0.75rem 1rem;
243
+ background: var(--bg-hover);
244
+ border-bottom: 1px solid var(--border);
245
+ }
246
+ .entity-name { font-weight: 600; color: var(--text-bright); }
247
+ .entity-desc { font-size: 0.8rem; color: var(--text-muted); }
248
+ .attr-table { width: 100%; border-collapse: collapse; }
249
+ .attr-table th {
250
+ text-align: left; font-size: 0.7rem; text-transform: uppercase;
251
+ letter-spacing: 0.05em; color: var(--text-muted); padding: 0.5rem 0.75rem;
252
+ border-bottom: 1px solid var(--border); font-weight: 600;
253
+ }
254
+ .attr-table td {
255
+ padding: 0.5rem 0.75rem; font-size: 0.85rem;
256
+ border-bottom: 1px solid rgba(51,65,85,0.3);
257
+ }
258
+ .attr-required { color: var(--error); font-weight: 700; }
259
+
260
+ /* ============================================
261
+ DEPENDENCY VISUALIZATION
262
+ ============================================ */
263
+ .dep-graph {
264
+ display: flex; flex-direction: column; gap: 1.5rem;
265
+ padding: 1.5rem; background: var(--bg-card); border: 1px solid var(--border);
266
+ border-radius: 10px;
267
+ }
268
+ .dep-layer {
269
+ display: flex; align-items: center; gap: 1rem;
270
+ }
271
+ .dep-layer-label {
272
+ font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase;
273
+ letter-spacing: 0.05em; min-width: 80px; font-weight: 600;
274
+ }
275
+ .dep-layer-modules { display: flex; gap: 0.75rem; flex-wrap: wrap; }
276
+ .dep-module {
277
+ padding: 0.4rem 0.8rem; border-radius: 6px;
278
+ background: rgba(99,102,241,0.1); border: 1px solid rgba(99,102,241,0.3);
279
+ color: var(--primary-light); font-size: 0.8rem; font-weight: 500;
280
+ }
281
+ .dep-arrow {
282
+ text-align: center; color: var(--text-muted); font-size: 1.2rem;
283
+ padding-left: 80px;
284
+ }
285
+
286
+ /* ============================================
287
+ STAT CARDS (Handoff)
288
+ ============================================ */
289
+ .stat-grid {
290
+ display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
291
+ gap: 1rem; margin-bottom: 1.5rem;
292
+ }
293
+ .stat-card {
294
+ background: var(--bg-card); border: 1px solid var(--border);
295
+ border-radius: 10px; padding: 1rem; text-align: center;
296
+ }
297
+ .stat-value { font-size: 1.8rem; font-weight: 700; color: var(--text-bright); }
298
+ .stat-label { font-size: 0.75rem; color: var(--text-muted); margin-top: 0.2rem; }
299
+
300
+ /* ============================================
301
+ CONSOLIDATION
302
+ ============================================ */
303
+ .interaction-item {
304
+ display: flex; align-items: center; gap: 0.75rem;
305
+ padding: 0.75rem 1rem; background: var(--bg-card);
306
+ border: 1px solid var(--border); border-radius: 8px;
307
+ margin-bottom: 0.5rem; font-size: 0.85rem;
308
+ }
309
+ .interaction-arrow { color: var(--primary-light); font-weight: 700; font-size: 1.1rem; }
310
+ .interaction-type {
311
+ font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em;
312
+ padding: 0.15rem 0.4rem; border-radius: 4px;
313
+ background: rgba(6,182,212,0.1); color: var(--accent);
314
+ }
315
+ .e2e-flow {
316
+ display: flex; align-items: center; gap: 0.3rem;
317
+ overflow-x: auto; padding: 1rem 0;
318
+ }
319
+ .e2e-step {
320
+ padding: 0.5rem 0.75rem; border-radius: 6px; text-align: center;
321
+ font-size: 0.75rem; flex-shrink: 0;
322
+ background: var(--bg-card); border: 1px solid var(--border);
323
+ }
324
+ .e2e-step-module { font-weight: 600; color: var(--primary-light); font-size: 0.65rem; }
325
+ .e2e-step-action { color: var(--text-bright); }
@@ -0,0 +1,230 @@
1
+ /* ============================================
2
+ MOCKUP FRAME
3
+ ============================================ */
4
+ .mockup-frame {
5
+ background: var(--bg-card);
6
+ border: 1px solid var(--border);
7
+ border-radius: 12px;
8
+ overflow: hidden;
9
+ margin: 1rem 0;
10
+ }
11
+ .mockup-toolbar {
12
+ background: var(--bg-hover);
13
+ padding: 0.5rem 1rem;
14
+ display: flex;
15
+ align-items: center;
16
+ gap: 0.5rem;
17
+ border-bottom: 1px solid var(--border);
18
+ }
19
+ .mockup-dot { width: 8px; height: 8px; border-radius: 50%; }
20
+ .mockup-dot-red { background: #ef4444; }
21
+ .mockup-dot-yellow { background: #eab308; }
22
+ .mockup-dot-green { background: #22c55e; }
23
+ .mockup-title {
24
+ font-size: 0.75rem; color: var(--text-muted);
25
+ margin-left: 0.5rem;
26
+ }
27
+
28
+ .mockup-content {
29
+ padding: 1.5rem;
30
+ min-height: 200px;
31
+ }
32
+
33
+ .wireframe-comment {
34
+ padding: 0.75rem 1.5rem 1rem;
35
+ border-top: 1px solid var(--border);
36
+ background: var(--bg-input);
37
+ border-radius: 0 0 10px 10px;
38
+ }
39
+
40
+ /* Wireframe rendering */
41
+ .ascii-wireframe {
42
+ font-family: 'Courier New', 'Consolas', monospace;
43
+ font-size: 0.7rem;
44
+ line-height: 1.3;
45
+ color: var(--primary-light);
46
+ background: var(--bg-dark);
47
+ padding: 1rem;
48
+ border-radius: 6px;
49
+ overflow-x: auto;
50
+ white-space: pre;
51
+ margin: 0;
52
+ }
53
+
54
+ .svg-wireframe {
55
+ background: var(--bg-dark);
56
+ padding: 1rem;
57
+ border-radius: 6px;
58
+ overflow-x: auto;
59
+ }
60
+
61
+ .svg-wireframe svg {
62
+ max-width: 100%;
63
+ height: auto;
64
+ }
65
+
66
+ .wireframe-description {
67
+ padding: 0.75rem 1rem;
68
+ font-size: 0.85rem;
69
+ color: var(--text);
70
+ border-top: 1px solid var(--border);
71
+ background: var(--bg-input);
72
+ }
73
+
74
+ .wireframe-metadata {
75
+ padding: 0.75rem 1rem;
76
+ font-size: 0.8rem;
77
+ color: var(--text-muted);
78
+ border-top: 1px solid var(--border);
79
+ }
80
+
81
+ .wireframe-details {
82
+ padding: 0.75rem 1rem;
83
+ border-top: 1px solid var(--border);
84
+ background: var(--bg-input);
85
+ }
86
+
87
+ .wireframe-details summary {
88
+ cursor: pointer;
89
+ font-size: 0.85rem;
90
+ color: var(--primary-light);
91
+ font-weight: 500;
92
+ user-select: none;
93
+ }
94
+
95
+ .wireframe-details summary:hover {
96
+ color: var(--primary);
97
+ }
98
+
99
+ .mapping-table {
100
+ width: 100%;
101
+ margin-top: 0.75rem;
102
+ border-collapse: collapse;
103
+ font-size: 0.8rem;
104
+ }
105
+
106
+ .mapping-table th {
107
+ background: var(--bg-hover);
108
+ padding: 0.5rem;
109
+ text-align: left;
110
+ font-weight: 500;
111
+ color: var(--text-bright);
112
+ border: 1px solid var(--border);
113
+ }
114
+
115
+ .mapping-table td {
116
+ padding: 0.5rem;
117
+ border: 1px solid var(--border);
118
+ color: var(--text);
119
+ }
120
+
121
+ .mapping-table code {
122
+ background: var(--bg-dark);
123
+ padding: 0.2rem 0.4rem;
124
+ border-radius: 3px;
125
+ font-size: 0.75rem;
126
+ color: var(--accent);
127
+ }
128
+
129
+ /* Mockup components */
130
+ .mock-header {
131
+ display: flex;
132
+ align-items: center;
133
+ justify-content: space-between;
134
+ margin-bottom: 1rem;
135
+ padding-bottom: 0.75rem;
136
+ border-bottom: 1px solid var(--border);
137
+ }
138
+ .mock-title { font-size: 1.1rem; font-weight: 600; color: var(--text-bright); }
139
+ .mock-btn {
140
+ padding: 0.35rem 0.8rem;
141
+ background: var(--primary);
142
+ color: #fff;
143
+ border-radius: 6px;
144
+ font-size: 0.8rem;
145
+ font-weight: 500;
146
+ }
147
+ .mock-search {
148
+ display: flex; align-items: center; gap: 0.5rem;
149
+ padding: 0.4rem 0.8rem;
150
+ background: var(--bg-input);
151
+ border: 1px solid var(--border);
152
+ border-radius: 6px;
153
+ margin-bottom: 1rem;
154
+ color: var(--text-muted);
155
+ font-size: 0.8rem;
156
+ }
157
+ .mock-table {
158
+ width: 100%;
159
+ border-collapse: collapse;
160
+ }
161
+ .mock-table th {
162
+ text-align: left;
163
+ font-size: 0.7rem;
164
+ text-transform: uppercase;
165
+ letter-spacing: 0.05em;
166
+ color: var(--text-muted);
167
+ padding: 0.5rem 0.75rem;
168
+ border-bottom: 1px solid var(--border);
169
+ font-weight: 600;
170
+ }
171
+ .mock-table td {
172
+ padding: 0.6rem 0.75rem;
173
+ font-size: 0.85rem;
174
+ border-bottom: 1px solid rgba(51,65,85,0.5);
175
+ }
176
+ .mock-table tr:hover td { background: rgba(99,102,241,0.05); }
177
+
178
+ .mock-status {
179
+ display: inline-flex; align-items: center; gap: 0.3rem;
180
+ padding: 0.15rem 0.5rem; border-radius: 10px; font-size: 0.75rem;
181
+ }
182
+ .mock-status-active { background: rgba(34,197,94,0.15); color: #4ade80; }
183
+ .mock-status-pending { background: rgba(234,179,8,0.15); color: #facc15; }
184
+ .mock-status-draft { background: rgba(100,116,139,0.15); color: #94a3b8; }
185
+
186
+ .mock-form-group { margin-bottom: 1rem; }
187
+ .mock-label {
188
+ display: block;
189
+ font-size: 0.75rem;
190
+ color: var(--text-muted);
191
+ margin-bottom: 0.3rem;
192
+ font-weight: 500;
193
+ }
194
+ .mock-input {
195
+ width: 100%;
196
+ padding: 0.5rem 0.75rem;
197
+ background: var(--bg-input);
198
+ border: 1px solid var(--border);
199
+ border-radius: 6px;
200
+ color: var(--text);
201
+ font-size: 0.85rem;
202
+ }
203
+ .mock-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
204
+ .mock-form-actions {
205
+ display: flex; gap: 0.5rem; justify-content: flex-end;
206
+ padding-top: 1rem; border-top: 1px solid var(--border);
207
+ }
208
+
209
+ /* Dashboard mockup */
210
+ .mock-kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.75rem; margin-bottom: 1.5rem; }
211
+ .mock-kpi {
212
+ background: var(--bg-hover);
213
+ border-radius: 8px;
214
+ padding: 0.75rem;
215
+ text-align: center;
216
+ }
217
+ .mock-kpi-value { font-size: 1.3rem; font-weight: 700; color: var(--text-bright); }
218
+ .mock-kpi-label { font-size: 0.7rem; color: var(--text-muted); margin-top: 0.2rem; }
219
+ .mock-chart-placeholder {
220
+ height: 150px;
221
+ background: linear-gradient(135deg, rgba(99,102,241,0.05), rgba(6,182,212,0.05));
222
+ border: 1px dashed var(--border);
223
+ border-radius: 8px;
224
+ display: flex; align-items: center; justify-content: center;
225
+ color: var(--text-muted); font-size: 0.85rem;
226
+ }
227
+
228
+ @media (max-width: 768px) {
229
+ .mock-kpi-grid { grid-template-columns: repeat(2, 1fr); }
230
+ }