@atlashub/smartstack-cli 3.39.0 → 3.40.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 (471) hide show
  1. package/.documentation/apex.html +644 -644
  2. package/.documentation/css/styles.css +2320 -2320
  3. package/.documentation/init.html +1377 -1377
  4. package/.documentation/js/app.js +780 -780
  5. package/.documentation/prd-json-v2.0.0.md +396 -396
  6. package/.documentation/testing-ba-e2e.md +462 -462
  7. package/config/default-config.json +95 -95
  8. package/config/mcp-defaults.json +62 -62
  9. package/config/settings.json +53 -53
  10. package/config/settings.local.example.json +16 -16
  11. package/dist/index.js.map +1 -1
  12. package/dist/mcp-entry.mjs +6 -4
  13. package/dist/mcp-entry.mjs.map +1 -1
  14. package/package.json +115 -115
  15. package/scripts/extract-api-endpoints.ts +325 -325
  16. package/scripts/extract-business-rules.ts +440 -440
  17. package/scripts/generate-doc-with-mock-ui.ts +804 -804
  18. package/scripts/health-check.sh +168 -168
  19. package/scripts/postinstall.js +18 -18
  20. package/templates/agents/action.md +37 -37
  21. package/templates/agents/ba-reader.md +378 -378
  22. package/templates/agents/ba-writer.md +861 -861
  23. package/templates/agents/code-reviewer.md +163 -163
  24. package/templates/agents/db-reader.md +149 -149
  25. package/templates/agents/docs-context-reader.md +143 -143
  26. package/templates/agents/docs-sync-checker.md +122 -122
  27. package/templates/agents/efcore/conflicts.md +84 -84
  28. package/templates/agents/efcore/db-deploy.md +74 -74
  29. package/templates/agents/efcore/db-reset.md +85 -85
  30. package/templates/agents/efcore/db-seed.md +61 -61
  31. package/templates/agents/efcore/db-status.md +86 -86
  32. package/templates/agents/efcore/migration.md +186 -186
  33. package/templates/agents/efcore/rebase-snapshot.md +108 -108
  34. package/templates/agents/efcore/scan.md +92 -92
  35. package/templates/agents/efcore/squash.md +161 -161
  36. package/templates/agents/explore-codebase.md +66 -66
  37. package/templates/agents/explore-docs.md +98 -98
  38. package/templates/agents/fix-grammar.md +50 -50
  39. package/templates/agents/gitflow/abort.md +45 -45
  40. package/templates/agents/gitflow/cleanup.md +96 -96
  41. package/templates/agents/gitflow/commit.md +236 -236
  42. package/templates/agents/gitflow/exec.md +48 -48
  43. package/templates/agents/gitflow/finish.md +146 -146
  44. package/templates/agents/gitflow/init-clone.md +199 -199
  45. package/templates/agents/gitflow/init-detect.md +137 -137
  46. package/templates/agents/gitflow/init-validate.md +225 -225
  47. package/templates/agents/gitflow/init.md +340 -340
  48. package/templates/agents/gitflow/merge.md +145 -145
  49. package/templates/agents/gitflow/plan.md +42 -42
  50. package/templates/agents/gitflow/pr.md +191 -191
  51. package/templates/agents/gitflow/review.md +49 -49
  52. package/templates/agents/gitflow/start.md +147 -147
  53. package/templates/agents/gitflow/status.md +95 -95
  54. package/templates/agents/mcp-healthcheck.md +163 -163
  55. package/templates/agents/snipper.md +37 -37
  56. package/templates/agents/websearch.md +46 -46
  57. package/templates/hooks/appsettings-guard.sh +76 -76
  58. package/templates/hooks/docs-drift-check.md +96 -96
  59. package/templates/hooks/ef-migration-check.md +139 -139
  60. package/templates/hooks/hooks.json +58 -58
  61. package/templates/hooks/mcp-check.md +64 -64
  62. package/templates/hooks/ralph-mcp-logger.sh +46 -46
  63. package/templates/hooks/ralph-session-end.sh +69 -69
  64. package/templates/hooks/stop-hook.sh +177 -177
  65. package/templates/hooks/wsl-dotnet-cleanup.sh +24 -24
  66. package/templates/mcp-scaffolding/component.tsx.hbs +318 -318
  67. package/templates/mcp-scaffolding/controller.cs.hbs +192 -192
  68. package/templates/mcp-scaffolding/entity-extension.cs.hbs +239 -239
  69. package/templates/mcp-scaffolding/frontend/api-client.ts.hbs +116 -116
  70. package/templates/mcp-scaffolding/frontend/nav-routes.ts.hbs +133 -133
  71. package/templates/mcp-scaffolding/frontend/routes.tsx.hbs +126 -126
  72. package/templates/mcp-scaffolding/migrations/seed-roles.cs.hbs +261 -261
  73. package/templates/mcp-scaffolding/service-extension.cs.hbs +53 -53
  74. package/templates/mcp-scaffolding/tests/controller.test.cs.hbs +436 -436
  75. package/templates/mcp-scaffolding/tests/entity.test.cs.hbs +239 -239
  76. package/templates/mcp-scaffolding/tests/repository.test.cs.hbs +441 -441
  77. package/templates/mcp-scaffolding/tests/security.test.cs.hbs +442 -442
  78. package/templates/mcp-scaffolding/tests/service.test.cs.hbs +402 -402
  79. package/templates/mcp-scaffolding/tests/validator.test.cs.hbs +428 -428
  80. package/templates/project/DependencyInjection.Application.cs.template +25 -25
  81. package/templates/project/DependencyInjection.Infrastructure.cs.template +61 -61
  82. package/templates/project/DesignTimeExtensionsDbContextFactory.cs.template +70 -70
  83. package/templates/project/ExampleEntity.cs.template +116 -116
  84. package/templates/project/ExampleEntityConfiguration.cs.template +64 -64
  85. package/templates/project/ExampleService.cs.template +146 -146
  86. package/templates/project/ExtensionsDbContext.cs.template +41 -41
  87. package/templates/project/IExtensionsDbContext.cs.template +22 -22
  88. package/templates/project/Program.cs.template +47 -47
  89. package/templates/project/README.md +79 -79
  90. package/templates/project/api.ts.template +12 -12
  91. package/templates/project/appsettings.json.template +170 -170
  92. package/templates/project/claude-settings.json.template +5 -5
  93. package/templates/project/test-frontend/msw/handlers.ts +58 -58
  94. package/templates/project/test-frontend/msw/server.ts +25 -25
  95. package/templates/project/test-frontend/setup.ts +16 -16
  96. package/templates/project/test-frontend/test-utils.tsx +59 -59
  97. package/templates/project/test-frontend/vitest.config.ts +31 -31
  98. package/templates/ralph/README.md +93 -93
  99. package/templates/ralph/ralph.config.yaml +113 -113
  100. package/templates/scripts/setup-ralph-loop.sh +173 -173
  101. package/templates/skills/_resources/config-safety.md +61 -61
  102. package/templates/skills/_resources/context-digest-template.md +53 -53
  103. package/templates/skills/_resources/doc-context-cache.md +60 -60
  104. package/templates/skills/_resources/docs-manifest-schema.md +155 -155
  105. package/templates/skills/_resources/formatting-guide.md +124 -124
  106. package/templates/skills/_resources/mcp-validate-documentation-spec.md +181 -181
  107. package/templates/skills/_shared.md +228 -228
  108. package/templates/skills/admin/SKILL.md +48 -48
  109. package/templates/skills/ai-prompt/SKILL.md +107 -107
  110. package/templates/skills/ai-prompt/steps/step-00-init.md +47 -47
  111. package/templates/skills/ai-prompt/steps/step-01-implementation.md +122 -122
  112. package/templates/skills/apex/SKILL.md +168 -168
  113. package/templates/skills/apex/_shared.md +141 -141
  114. package/templates/skills/apex/references/agent-teams-protocol.md +164 -164
  115. package/templates/skills/apex/references/analysis-methods.md +141 -141
  116. package/templates/skills/apex/references/challenge-questions.md +145 -145
  117. package/templates/skills/apex/references/code-generation.md +412 -412
  118. package/templates/skills/apex/references/core-seed-data.md +1437 -1437
  119. package/templates/skills/apex/references/error-classification.md +144 -144
  120. package/templates/skills/apex/references/examine-build-validation.md +82 -82
  121. package/templates/skills/apex/references/execution-frontend-gates.md +177 -177
  122. package/templates/skills/apex/references/execution-frontend-patterns.md +105 -105
  123. package/templates/skills/apex/references/execution-layer1-rules.md +96 -96
  124. package/templates/skills/apex/references/initialization-challenge-flow.md +110 -110
  125. package/templates/skills/apex/references/planning-layer-mapping.md +151 -151
  126. package/templates/skills/apex/references/post-checks.md +1584 -1584
  127. package/templates/skills/apex/references/smartstack-api.md +1053 -1053
  128. package/templates/skills/apex/references/smartstack-frontend.md +1571 -1571
  129. package/templates/skills/apex/references/smartstack-layers.md +402 -402
  130. package/templates/skills/apex/steps/step-00-init.md +307 -307
  131. package/templates/skills/apex/steps/step-01-analyze.md +165 -165
  132. package/templates/skills/apex/steps/step-02-plan.md +144 -144
  133. package/templates/skills/apex/steps/step-03-execute.md +328 -328
  134. package/templates/skills/apex/steps/step-04-examine.md +263 -263
  135. package/templates/skills/apex/steps/step-05-deep-review.md +129 -129
  136. package/templates/skills/apex/steps/step-06-resolve.md +101 -101
  137. package/templates/skills/apex/steps/step-07-tests.md +238 -238
  138. package/templates/skills/apex/steps/step-08-run-tests.md +125 -125
  139. package/templates/skills/application/SKILL.md +4 -4
  140. package/templates/skills/application/references/application-roles-template.md +227 -227
  141. package/templates/skills/application/references/backend-controller-hierarchy.md +58 -58
  142. package/templates/skills/application/references/backend-entity-seeding.md +72 -72
  143. package/templates/skills/application/references/backend-seeding-and-dto-output.md +83 -83
  144. package/templates/skills/application/references/backend-table-prefix-mapping.md +79 -79
  145. package/templates/skills/application/references/backend-verification.md +88 -88
  146. package/templates/skills/application/references/frontend-i18n-and-output.md +67 -67
  147. package/templates/skills/application/references/frontend-route-naming.md +117 -117
  148. package/templates/skills/application/references/frontend-route-wiring-app-tsx.md +107 -107
  149. package/templates/skills/application/references/frontend-verification.md +156 -156
  150. package/templates/skills/application/references/migration-checklist-troubleshooting.md +1 -1
  151. package/templates/skills/application/references/provider-template.md +177 -177
  152. package/templates/skills/application/references/roles-client-project-handling.md +55 -55
  153. package/templates/skills/application/references/roles-fallback-procedure.md +149 -149
  154. package/templates/skills/application/references/test-coverage-requirements.md +213 -213
  155. package/templates/skills/application/references/test-frontend.md +73 -73
  156. package/templates/skills/application/references/test-prerequisites.md +72 -72
  157. package/templates/skills/application/steps/step-05-frontend.md +176 -176
  158. package/templates/skills/application/steps/step-06-migration.md +193 -193
  159. package/templates/skills/application/steps/step-07-tests.md +356 -356
  160. package/templates/skills/application/steps/step-08-documentation.md +137 -137
  161. package/templates/skills/application/templates-backend.md +463 -463
  162. package/templates/skills/application/templates-frontend.md +685 -685
  163. package/templates/skills/application/templates-i18n.md +520 -520
  164. package/templates/skills/application/templates-seed.md +1096 -1096
  165. package/templates/skills/business-analyse/SKILL.md +327 -327
  166. package/templates/skills/business-analyse/_architecture.md +123 -123
  167. package/templates/skills/business-analyse/_elicitation.md +206 -206
  168. package/templates/skills/business-analyse/_module-loop.md +115 -115
  169. package/templates/skills/business-analyse/_shared.md +383 -383
  170. package/templates/skills/business-analyse/_suggestions.md +34 -34
  171. package/templates/skills/business-analyse/html/ba-interactive.html +4477 -4477
  172. package/templates/skills/business-analyse/html/build-html.js +77 -77
  173. package/templates/skills/business-analyse/html/src/scripts/01-data-init.js +150 -150
  174. package/templates/skills/business-analyse/html/src/scripts/02-navigation.js +227 -227
  175. package/templates/skills/business-analyse/html/src/scripts/03-render-cadrage.js +199 -199
  176. package/templates/skills/business-analyse/html/src/scripts/04-render-modules.js +205 -205
  177. package/templates/skills/business-analyse/html/src/scripts/05-render-specs.js +647 -647
  178. package/templates/skills/business-analyse/html/src/scripts/06-render-consolidation.js +195 -195
  179. package/templates/skills/business-analyse/html/src/scripts/07-render-handoff.js +92 -92
  180. package/templates/skills/business-analyse/html/src/scripts/08-editing.js +135 -135
  181. package/templates/skills/business-analyse/html/src/scripts/09-export.js +168 -168
  182. package/templates/skills/business-analyse/html/src/scripts/10-comments.js +171 -171
  183. package/templates/skills/business-analyse/html/src/scripts/11-review-panel.js +166 -166
  184. package/templates/skills/business-analyse/html/src/styles/01-variables.css +38 -38
  185. package/templates/skills/business-analyse/html/src/styles/02-layout.css +101 -101
  186. package/templates/skills/business-analyse/html/src/styles/03-navigation.css +120 -120
  187. package/templates/skills/business-analyse/html/src/styles/04-cards.css +196 -196
  188. package/templates/skills/business-analyse/html/src/styles/05-modules.css +454 -454
  189. package/templates/skills/business-analyse/html/src/styles/06-wireframes.css +272 -272
  190. package/templates/skills/business-analyse/html/src/styles/07-comments.css +184 -184
  191. package/templates/skills/business-analyse/html/src/styles/08-review-panel.css +241 -241
  192. package/templates/skills/business-analyse/html/src/template.html +516 -516
  193. package/templates/skills/business-analyse/patterns/suggestion-catalog.md +546 -546
  194. package/templates/skills/business-analyse/questionnaire/00-application.md +160 -160
  195. package/templates/skills/business-analyse/questionnaire/00b-project.md +85 -85
  196. package/templates/skills/business-analyse/questionnaire/01-context.md +185 -185
  197. package/templates/skills/business-analyse/questionnaire/02-stakeholders.md +189 -189
  198. package/templates/skills/business-analyse/questionnaire/03-scope.md +164 -164
  199. package/templates/skills/business-analyse/questionnaire/04-data.md +88 -88
  200. package/templates/skills/business-analyse/questionnaire/05-integrations.md +58 -58
  201. package/templates/skills/business-analyse/questionnaire/06-security.md +68 -68
  202. package/templates/skills/business-analyse/questionnaire/07-ui.md +76 -76
  203. package/templates/skills/business-analyse/questionnaire/08-performance.md +42 -42
  204. package/templates/skills/business-analyse/questionnaire/09-constraints.md +45 -45
  205. package/templates/skills/business-analyse/questionnaire/10-documentation.md +43 -43
  206. package/templates/skills/business-analyse/questionnaire/11-data-lifecycle.md +59 -59
  207. package/templates/skills/business-analyse/questionnaire/12-migration.md +58 -58
  208. package/templates/skills/business-analyse/questionnaire/13-cross-module.md +69 -69
  209. package/templates/skills/business-analyse/questionnaire/14-risk-assumptions.md +135 -135
  210. package/templates/skills/business-analyse/questionnaire/15-success-metrics.md +136 -136
  211. package/templates/skills/business-analyse/questionnaire.md +337 -337
  212. package/templates/skills/business-analyse/react/application-viewer.md +242 -242
  213. package/templates/skills/business-analyse/react/components.md +551 -551
  214. package/templates/skills/business-analyse/react/i18n-template.md +306 -306
  215. package/templates/skills/business-analyse/references/acceptance-criteria.md +169 -169
  216. package/templates/skills/business-analyse/references/agent-module-prompt.md +362 -362
  217. package/templates/skills/business-analyse/references/agent-pooling-best-practices.md +557 -557
  218. package/templates/skills/business-analyse/references/analysis-semantic-checks.md +190 -190
  219. package/templates/skills/business-analyse/references/cache-warming-strategy.md +566 -566
  220. package/templates/skills/business-analyse/references/cadrage-challenge-patterns.md +41 -41
  221. package/templates/skills/business-analyse/references/cadrage-coverage-matrix.md +74 -74
  222. package/templates/skills/business-analyse/references/cadrage-pre-analysis.md +115 -115
  223. package/templates/skills/business-analyse/references/cadrage-shared-modules.md +68 -69
  224. package/templates/skills/business-analyse/references/cadrage-structure-cards.md +85 -85
  225. package/templates/skills/business-analyse/references/compilation-structure-cards.md +297 -297
  226. package/templates/skills/business-analyse/references/consolidation-structural-checks.md +107 -107
  227. package/templates/skills/business-analyse/references/deploy-data-build.md +180 -180
  228. package/templates/skills/business-analyse/references/deploy-modes.md +118 -118
  229. package/templates/skills/business-analyse/references/detection-strategies.md +424 -424
  230. package/templates/skills/business-analyse/references/entity-architecture-decision.md +218 -218
  231. package/templates/skills/business-analyse/references/handoff-file-templates.md +120 -120
  232. package/templates/skills/business-analyse/references/handoff-mappings.md +81 -81
  233. package/templates/skills/business-analyse/references/handoff-seeddata-generation.md +312 -312
  234. package/templates/skills/business-analyse/references/html-data-mapping.md +299 -299
  235. package/templates/skills/business-analyse/references/init-schema-deployment.md +65 -65
  236. package/templates/skills/business-analyse/references/naming-conventions.md +243 -243
  237. package/templates/skills/business-analyse/references/prd-generation.md +258 -258
  238. package/templates/skills/business-analyse/references/review-data-mapping.md +363 -363
  239. package/templates/skills/business-analyse/references/robustness-checks.md +542 -542
  240. package/templates/skills/business-analyse/references/spec-auto-inference.md +111 -111
  241. package/templates/skills/business-analyse/references/team-orchestration.md +1022 -1022
  242. package/templates/skills/business-analyse/references/ui-dashboard-spec.md +85 -85
  243. package/templates/skills/business-analyse/references/ui-resource-cards.md +259 -259
  244. package/templates/skills/business-analyse/references/validate-incremental-html.md +121 -121
  245. package/templates/skills/business-analyse/references/validation-checklist.md +347 -347
  246. package/templates/skills/business-analyse/references/wireframe-svg-style-guide.md +335 -335
  247. package/templates/skills/business-analyse/schemas/application-schema.json +453 -453
  248. package/templates/skills/business-analyse/schemas/feature-schema.json +53 -53
  249. package/templates/skills/business-analyse/schemas/project-schema.json +485 -485
  250. package/templates/skills/business-analyse/schemas/sections/analysis-schema.json +201 -201
  251. package/templates/skills/business-analyse/schemas/sections/discovery-schema.json +82 -82
  252. package/templates/skills/business-analyse/schemas/sections/handoff-schema.json +80 -80
  253. package/templates/skills/business-analyse/schemas/sections/metadata-schema.json +70 -70
  254. package/templates/skills/business-analyse/schemas/sections/specification-schema.json +547 -547
  255. package/templates/skills/business-analyse/schemas/sections/validation-schema.json +93 -93
  256. package/templates/skills/business-analyse/schemas/shared/common-defs.json +226 -226
  257. package/templates/skills/business-analyse/steps/step-00-init.md +575 -576
  258. package/templates/skills/business-analyse/steps/step-01-cadrage.md +767 -767
  259. package/templates/skills/business-analyse/steps/step-01b-applications.md +419 -419
  260. package/templates/skills/business-analyse/steps/step-02-decomposition.md +387 -387
  261. package/templates/skills/business-analyse/steps/step-03a-data.md +16 -16
  262. package/templates/skills/business-analyse/steps/step-03a1-setup.md +506 -506
  263. package/templates/skills/business-analyse/steps/step-03a2-analysis.md +252 -252
  264. package/templates/skills/business-analyse/steps/step-03b-ui.md +425 -425
  265. package/templates/skills/business-analyse/steps/step-03c-compile.md +611 -611
  266. package/templates/skills/business-analyse/steps/step-03d-validate.md +783 -783
  267. package/templates/skills/business-analyse/steps/step-04-consolidation.md +17 -17
  268. package/templates/skills/business-analyse/steps/step-04a-collect.md +415 -415
  269. package/templates/skills/business-analyse/steps/step-04b-analyze.md +163 -163
  270. package/templates/skills/business-analyse/steps/step-04c-decide.md +186 -186
  271. package/templates/skills/business-analyse/steps/step-05a-handoff.md +840 -840
  272. package/templates/skills/business-analyse/steps/step-05b-deploy.md +522 -522
  273. package/templates/skills/business-analyse/steps/step-05c-ralph-readiness.md +703 -703
  274. package/templates/skills/business-analyse/steps/step-06-review.md +278 -278
  275. package/templates/skills/business-analyse/templates/tpl-frd.md +168 -168
  276. package/templates/skills/business-analyse/templates/tpl-handoff.md +186 -186
  277. package/templates/skills/business-analyse/templates/tpl-launch-displays.md +59 -59
  278. package/templates/skills/business-analyse/templates/tpl-progress.md +172 -172
  279. package/templates/skills/business-analyse/templates-frd.md +476 -476
  280. package/templates/skills/business-analyse/templates-react.md +574 -574
  281. package/templates/skills/cc-agent/SKILL.md +129 -129
  282. package/templates/skills/cc-agent/references/agent-behavior-patterns.md +95 -95
  283. package/templates/skills/cc-agent/references/agent-frontmatter.md +213 -213
  284. package/templates/skills/cc-agent/references/permission-modes.md +102 -102
  285. package/templates/skills/cc-agent/references/tools-reference.md +144 -144
  286. package/templates/skills/cc-agent/steps/step-00-init.md +134 -134
  287. package/templates/skills/cc-agent/steps/step-01-design.md +186 -186
  288. package/templates/skills/cc-agent/steps/step-02-generate.md +131 -131
  289. package/templates/skills/cc-agent/steps/step-03-validate.md +130 -130
  290. package/templates/skills/cc-agent/templates/agent-categorized.md +67 -67
  291. package/templates/skills/cc-agent/templates/agent-standalone.md +56 -56
  292. package/templates/skills/cc-agent/templates/agent-with-skills.md +94 -94
  293. package/templates/skills/cc-audit/SKILL.md +108 -108
  294. package/templates/skills/cc-audit/references/agent-checklist.md +91 -91
  295. package/templates/skills/cc-audit/references/hook-checklist.md +110 -110
  296. package/templates/skills/cc-audit/references/skill-checklist.md +70 -70
  297. package/templates/skills/cc-audit/steps/step-00-init.md +98 -98
  298. package/templates/skills/cc-audit/steps/step-01-scan.md +142 -142
  299. package/templates/skills/cc-audit/steps/step-02-analyze.md +158 -158
  300. package/templates/skills/cc-audit/steps/step-03-report.md +142 -142
  301. package/templates/skills/cc-skill/SKILL.md +134 -134
  302. package/templates/skills/cc-skill/references/best-practices.md +167 -167
  303. package/templates/skills/cc-skill/references/frontmatter-reference.md +182 -182
  304. package/templates/skills/cc-skill/references/skill-patterns.md +199 -199
  305. package/templates/skills/cc-skill/steps/step-00-init.md +119 -119
  306. package/templates/skills/cc-skill/steps/step-01-design.md +199 -199
  307. package/templates/skills/cc-skill/steps/step-02-generate.md +145 -145
  308. package/templates/skills/cc-skill/steps/step-03-steps.md +151 -151
  309. package/templates/skills/cc-skill/steps/step-04-validate.md +124 -124
  310. package/templates/skills/cc-skill/templates/skill-forked.md +85 -85
  311. package/templates/skills/cc-skill/templates/skill-progressive.md +102 -102
  312. package/templates/skills/cc-skill/templates/skill-simple.md +75 -75
  313. package/templates/skills/cc-skill/templates/step-template.md +82 -82
  314. package/templates/skills/check-version/SKILL.md +196 -196
  315. package/templates/skills/controller/SKILL.md +162 -162
  316. package/templates/skills/controller/postman-templates.md +614 -614
  317. package/templates/skills/controller/references/controller-code-templates.md +159 -159
  318. package/templates/skills/controller/references/mcp-scaffold-workflow.md +209 -209
  319. package/templates/skills/controller/references/permission-sync-templates.md +149 -149
  320. package/templates/skills/controller/steps/step-00-init.md +193 -191
  321. package/templates/skills/controller/steps/step-01-analyze.md +146 -146
  322. package/templates/skills/controller/steps/step-02-plan.md +176 -176
  323. package/templates/skills/controller/steps/step-03-generate.md +189 -189
  324. package/templates/skills/controller/steps/step-04-perms.md +80 -80
  325. package/templates/skills/controller/steps/step-05-validate.md +107 -107
  326. package/templates/skills/controller/templates.md +1555 -1555
  327. package/templates/skills/debug/SKILL.md +70 -70
  328. package/templates/skills/debug/references/team-protocol.md +232 -232
  329. package/templates/skills/debug/steps/step-00-init.md +57 -57
  330. package/templates/skills/debug/steps/step-01-analyze.md +219 -219
  331. package/templates/skills/debug/steps/step-02-resolve.md +85 -85
  332. package/templates/skills/documentation/SKILL.md +132 -132
  333. package/templates/skills/documentation/data-schema.md +227 -227
  334. package/templates/skills/documentation/steps/step-00-init.md +70 -70
  335. package/templates/skills/documentation/steps/step-01-scan.md +113 -113
  336. package/templates/skills/documentation/steps/step-02-generate.md +231 -231
  337. package/templates/skills/documentation/steps/step-03-validate.md +251 -238
  338. package/templates/skills/documentation/templates.md +662 -663
  339. package/templates/skills/efcore/SKILL.md +167 -167
  340. package/templates/skills/efcore/references/both-contexts.md +32 -32
  341. package/templates/skills/efcore/references/database-operations.md +67 -67
  342. package/templates/skills/efcore/references/destructive-operations.md +38 -38
  343. package/templates/skills/efcore/references/reset-operations.md +81 -81
  344. package/templates/skills/efcore/references/seed-methods.md +86 -86
  345. package/templates/skills/efcore/references/shared-init-functions.md +250 -250
  346. package/templates/skills/efcore/references/sql-objects-injection.md +61 -61
  347. package/templates/skills/efcore/references/troubleshooting.md +81 -81
  348. package/templates/skills/efcore/references/zero-downtime-patterns.md +227 -227
  349. package/templates/skills/efcore/steps/db/step-deploy.md +217 -217
  350. package/templates/skills/efcore/steps/db/step-reset.md +186 -186
  351. package/templates/skills/efcore/steps/db/step-seed.md +166 -166
  352. package/templates/skills/efcore/steps/db/step-status.md +173 -173
  353. package/templates/skills/efcore/steps/migration/step-00-init.md +102 -102
  354. package/templates/skills/efcore/steps/migration/step-01-check.md +164 -164
  355. package/templates/skills/efcore/steps/migration/step-02-create.md +160 -160
  356. package/templates/skills/efcore/steps/migration/step-03-validate.md +168 -168
  357. package/templates/skills/efcore/steps/rebase-snapshot/step-00-init.md +173 -173
  358. package/templates/skills/efcore/steps/rebase-snapshot/step-01-backup.md +100 -100
  359. package/templates/skills/efcore/steps/rebase-snapshot/step-02-fetch.md +115 -115
  360. package/templates/skills/efcore/steps/rebase-snapshot/step-03-create.md +112 -112
  361. package/templates/skills/efcore/steps/rebase-snapshot/step-04-validate.md +157 -157
  362. package/templates/skills/efcore/steps/shared/step-00-init.md +131 -131
  363. package/templates/skills/efcore/steps/squash/step-00-init.md +141 -141
  364. package/templates/skills/efcore/steps/squash/step-01-backup.md +120 -120
  365. package/templates/skills/efcore/steps/squash/step-02-fetch.md +168 -168
  366. package/templates/skills/efcore/steps/squash/step-03-create.md +184 -184
  367. package/templates/skills/efcore/steps/squash/step-04-validate.md +174 -174
  368. package/templates/skills/explore/SKILL.md +98 -98
  369. package/templates/skills/feature-full/SKILL.md +111 -111
  370. package/templates/skills/feature-full/steps/step-00-init.md +57 -57
  371. package/templates/skills/feature-full/steps/step-01-implementation.md +120 -120
  372. package/templates/skills/gitflow/SKILL.md +377 -377
  373. package/templates/skills/gitflow/_shared.md +620 -620
  374. package/templates/skills/gitflow/phases/abort.md +189 -189
  375. package/templates/skills/gitflow/phases/cleanup.md +234 -234
  376. package/templates/skills/gitflow/phases/status.md +192 -192
  377. package/templates/skills/gitflow/references/commit-message-generation.md +58 -58
  378. package/templates/skills/gitflow/references/commit-migration-validation.md +49 -49
  379. package/templates/skills/gitflow/references/finish-cleanup.md +55 -55
  380. package/templates/skills/gitflow/references/finish-version-bumping.md +45 -45
  381. package/templates/skills/gitflow/references/init-config-template.md +135 -135
  382. package/templates/skills/gitflow/references/init-environment-detection.md +41 -41
  383. package/templates/skills/gitflow/references/init-name-normalization.md +103 -103
  384. package/templates/skills/gitflow/references/init-questions.md +185 -185
  385. package/templates/skills/gitflow/references/init-structure-creation.md +75 -75
  386. package/templates/skills/gitflow/references/init-version-detection.md +21 -21
  387. package/templates/skills/gitflow/references/init-workspace-detection.md +43 -43
  388. package/templates/skills/gitflow/references/merge-ci-status.md +36 -36
  389. package/templates/skills/gitflow/references/merge-execution.md +62 -62
  390. package/templates/skills/gitflow/references/merge-pr-context.md +76 -76
  391. package/templates/skills/gitflow/references/plan-template.md +69 -69
  392. package/templates/skills/gitflow/references/pr-build-checks.md +60 -60
  393. package/templates/skills/gitflow/references/pr-generation.md +58 -58
  394. package/templates/skills/gitflow/references/start-branch-normalization.md +28 -28
  395. package/templates/skills/gitflow/references/start-efcore-preflight.md +70 -70
  396. package/templates/skills/gitflow/references/start-local-config.md +113 -113
  397. package/templates/skills/gitflow/references/start-worktree-creation.md +50 -50
  398. package/templates/skills/gitflow/references/sync-push-verify.md +44 -44
  399. package/templates/skills/gitflow/references/sync-rebase-conflicts.md +38 -38
  400. package/templates/skills/gitflow/steps/step-commit.md +199 -199
  401. package/templates/skills/gitflow/steps/step-finish.md +147 -147
  402. package/templates/skills/gitflow/steps/step-init.md +190 -190
  403. package/templates/skills/gitflow/steps/step-merge.md +85 -85
  404. package/templates/skills/gitflow/steps/step-plan.md +151 -151
  405. package/templates/skills/gitflow/steps/step-pr.md +199 -199
  406. package/templates/skills/gitflow/steps/step-start.md +195 -195
  407. package/templates/skills/gitflow/steps/step-sync.md +161 -161
  408. package/templates/skills/gitflow/templates/config.json +72 -72
  409. package/templates/skills/mcp/SKILL.md +62 -62
  410. package/templates/skills/mcp/steps/step-01-healthcheck.md +108 -108
  411. package/templates/skills/mcp/steps/step-02-tools.md +73 -73
  412. package/templates/skills/notification/SKILL.md +173 -173
  413. package/templates/skills/quick-search/SKILL.md +99 -99
  414. package/templates/skills/ralph-loop/SKILL.md +234 -234
  415. package/templates/skills/ralph-loop/references/category-completeness.md +185 -185
  416. package/templates/skills/ralph-loop/references/category-rules.md +96 -96
  417. package/templates/skills/ralph-loop/references/compact-loop.md +300 -300
  418. package/templates/skills/ralph-loop/references/init-resume-recovery.md +127 -127
  419. package/templates/skills/ralph-loop/references/module-transition.md +151 -151
  420. package/templates/skills/ralph-loop/references/multi-module-queue.md +171 -171
  421. package/templates/skills/ralph-loop/references/parallel-execution.md +246 -246
  422. package/templates/skills/ralph-loop/references/section-splitting.md +439 -439
  423. package/templates/skills/ralph-loop/references/task-transform-legacy.md +256 -256
  424. package/templates/skills/ralph-loop/references/team-orchestration.md +547 -547
  425. package/templates/skills/ralph-loop/steps/step-00-init.md +150 -150
  426. package/templates/skills/ralph-loop/steps/step-01-task.md +174 -174
  427. package/templates/skills/ralph-loop/steps/step-02-execute.md +177 -177
  428. package/templates/skills/ralph-loop/steps/step-03-commit.md +92 -92
  429. package/templates/skills/ralph-loop/steps/step-04-check.md +207 -207
  430. package/templates/skills/ralph-loop/steps/step-05-report.md +175 -175
  431. package/templates/skills/refactor/SKILL.md +56 -56
  432. package/templates/skills/refactor/steps/step-01-discover.md +60 -60
  433. package/templates/skills/refactor/steps/step-02-execute.md +67 -67
  434. package/templates/skills/review-code/SKILL.md +94 -94
  435. package/templates/skills/review-code/references/clean-code-principles.md +292 -292
  436. package/templates/skills/review-code/references/code-quality-metrics.md +174 -174
  437. package/templates/skills/review-code/references/feedback-patterns.md +149 -149
  438. package/templates/skills/review-code/references/owasp-api-top10.md +243 -243
  439. package/templates/skills/review-code/references/security-checklist.md +212 -212
  440. package/templates/skills/review-code/steps/step-01-smartstack.md +96 -96
  441. package/templates/skills/review-code/steps/step-02-detailed-review.md +80 -80
  442. package/templates/skills/review-code/steps/step-03-react.md +44 -44
  443. package/templates/skills/ui-components/SKILL.md +137 -137
  444. package/templates/skills/ui-components/accessibility.md +170 -170
  445. package/templates/skills/ui-components/patterns/dashboard-chart.md +327 -327
  446. package/templates/skills/ui-components/patterns/data-table.md +39 -39
  447. package/templates/skills/ui-components/patterns/entity-card.md +77 -77
  448. package/templates/skills/ui-components/patterns/grid-layout.md +91 -91
  449. package/templates/skills/ui-components/patterns/kanban.md +43 -43
  450. package/templates/skills/ui-components/responsive-guidelines.md +278 -278
  451. package/templates/skills/ui-components/style-guide.md +113 -113
  452. package/templates/skills/utils/SKILL.md +44 -44
  453. package/templates/skills/utils/subcommands/test-web-config.md +152 -152
  454. package/templates/skills/utils/subcommands/test-web.md +123 -123
  455. package/templates/skills/validate/SKILL.md +181 -181
  456. package/templates/skills/validate-feature/SKILL.md +101 -101
  457. package/templates/skills/validate-feature/references/api-smoke-tests.md +140 -140
  458. package/templates/skills/validate-feature/references/db-validation-checks.md +180 -180
  459. package/templates/skills/validate-feature/steps/step-00-dependencies.md +121 -121
  460. package/templates/skills/validate-feature/steps/step-01-compile.md +39 -39
  461. package/templates/skills/validate-feature/steps/step-02-unit-tests.md +45 -45
  462. package/templates/skills/validate-feature/steps/step-03-integration-tests.md +53 -53
  463. package/templates/skills/validate-feature/steps/step-04-api-smoke.md +94 -94
  464. package/templates/skills/validate-feature/steps/step-05-db-validation.md +149 -149
  465. package/templates/skills/workflow/SKILL.md +127 -127
  466. package/templates/skills/workflow/steps/step-00-init.md +57 -57
  467. package/templates/skills/workflow/steps/step-01-implementation.md +84 -84
  468. package/templates/test-web/api-health.json +38 -38
  469. package/templates/test-web/minimal.json +19 -19
  470. package/templates/test-web/npm-package.json +46 -46
  471. package/templates/test-web/seo-check.json +54 -54
@@ -1,454 +1,454 @@
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); }
326
-
327
- /* ============================================
328
- DATA MODEL (Consolidation)
329
- ============================================ */
330
- .dm-summary {
331
- display: flex; gap: 1.5rem; margin-bottom: 1.5rem;
332
- padding: 1rem 1.5rem; background: var(--bg-card);
333
- border: 1px solid var(--border); border-radius: 10px;
334
- }
335
- .dm-summary-item { display: flex; align-items: baseline; gap: 0.4rem; }
336
- .dm-summary-value { font-size: 1.4rem; font-weight: 700; color: var(--text-bright); }
337
- .dm-summary-label { font-size: 0.8rem; color: var(--text-muted); }
338
- .dm-module-group { margin-bottom: 1.5rem; }
339
- .dm-module-header {
340
- display: flex; align-items: center; justify-content: space-between;
341
- padding: 0.5rem 0; margin-bottom: 0.75rem;
342
- border-bottom: 2px solid var(--primary);
343
- }
344
- .dm-module-name { font-weight: 700; color: var(--primary-light); font-size: 1rem; }
345
- .dm-module-count { font-size: 0.75rem; color: var(--text-muted); }
346
- .dm-entity-grid {
347
- display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem;
348
- }
349
- .dm-entity-card {
350
- background: var(--bg-card); border: 1px solid var(--border);
351
- border-radius: 10px; overflow: hidden;
352
- transition: border-color var(--transition-fast);
353
- }
354
- .dm-entity-card:hover { border-color: var(--border-light); }
355
- .dm-entity-header {
356
- display: flex; align-items: center; justify-content: space-between;
357
- padding: 0.6rem 0.75rem; background: var(--bg-hover);
358
- border-bottom: 1px solid var(--border);
359
- }
360
- .dm-entity-name { font-weight: 600; color: var(--text-bright); font-size: 0.95rem; }
361
- .dm-entity-attr-count {
362
- font-size: 0.65rem; color: var(--text-muted);
363
- background: rgba(99,102,241,0.1); padding: 0.1rem 0.4rem; border-radius: 4px;
364
- }
365
- .dm-entity-desc {
366
- padding: 0.5rem 0.75rem; font-size: 0.8rem; color: var(--text-muted);
367
- border-bottom: 1px solid var(--border);
368
- }
369
- .dm-attr-table { width: 100%; border-collapse: collapse; }
370
- .dm-attr-table th {
371
- text-align: left; font-size: 0.65rem; text-transform: uppercase;
372
- letter-spacing: 0.05em; color: var(--text-muted); padding: 0.4rem 0.75rem;
373
- border-bottom: 1px solid var(--border); font-weight: 600;
374
- }
375
- .dm-attr-table td { padding: 0.35rem 0.75rem; font-size: 0.8rem; border-bottom: 1px solid rgba(51,65,85,0.2); }
376
- .dm-attr-name { font-weight: 500; color: var(--text-bright); white-space: nowrap; }
377
- .dm-attr-desc { color: var(--text-muted); }
378
- .dm-relations {
379
- padding: 0.5rem 0.75rem; border-top: 1px solid var(--border);
380
- background: rgba(6,182,212,0.03);
381
- }
382
- .dm-relations-title {
383
- font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em;
384
- color: var(--accent); font-weight: 600; margin-bottom: 0.3rem;
385
- }
386
- .dm-relation-item {
387
- font-size: 0.8rem; color: var(--text); padding: 0.15rem 0;
388
- padding-left: 0.75rem; border-left: 2px solid var(--accent);
389
- margin-bottom: 0.2rem;
390
- }
391
-
392
- /* ============================================
393
- STRUCTURE TAB (Sections/Resources)
394
- ============================================ */
395
- .struct-section {
396
- background: var(--bg-card);
397
- border: 1px solid var(--border);
398
- border-radius: 10px;
399
- margin-bottom: 1rem;
400
- overflow: hidden;
401
- }
402
- .struct-section-header {
403
- display: flex;
404
- align-items: center;
405
- gap: 0.75rem;
406
- padding: 0.75rem 1rem;
407
- background: var(--bg-hover);
408
- border-bottom: 1px solid var(--border);
409
- }
410
- .struct-section-code {
411
- font-weight: 600;
412
- color: var(--text-bright);
413
- font-size: 0.95rem;
414
- }
415
- .struct-section-desc {
416
- flex: 1;
417
- font-size: 0.8rem;
418
- color: var(--text-muted);
419
- }
420
- .struct-section-badge {
421
- font-size: 0.65rem;
422
- color: var(--text-muted);
423
- background: rgba(99,102,241,0.1);
424
- padding: 0.1rem 0.5rem;
425
- border-radius: 4px;
426
- white-space: nowrap;
427
- }
428
- .struct-resources {
429
- padding: 0.5rem 0;
430
- }
431
- .struct-resource {
432
- display: flex;
433
- align-items: baseline;
434
- gap: 0.5rem;
435
- padding: 0.35rem 1rem 0.35rem 1.5rem;
436
- font-size: 0.85rem;
437
- transition: background var(--transition-fast);
438
- }
439
- .struct-resource:hover {
440
- background: var(--bg-hover);
441
- }
442
- .struct-resource-icon {
443
- color: var(--primary-light);
444
- font-size: 0.7rem;
445
- flex-shrink: 0;
446
- }
447
- .struct-resource-name {
448
- font-weight: 500;
449
- color: var(--text-bright);
450
- }
451
- .struct-resource-desc {
452
- font-size: 0.8rem;
453
- color: var(--text-muted);
454
- }
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); }
326
+
327
+ /* ============================================
328
+ DATA MODEL (Consolidation)
329
+ ============================================ */
330
+ .dm-summary {
331
+ display: flex; gap: 1.5rem; margin-bottom: 1.5rem;
332
+ padding: 1rem 1.5rem; background: var(--bg-card);
333
+ border: 1px solid var(--border); border-radius: 10px;
334
+ }
335
+ .dm-summary-item { display: flex; align-items: baseline; gap: 0.4rem; }
336
+ .dm-summary-value { font-size: 1.4rem; font-weight: 700; color: var(--text-bright); }
337
+ .dm-summary-label { font-size: 0.8rem; color: var(--text-muted); }
338
+ .dm-module-group { margin-bottom: 1.5rem; }
339
+ .dm-module-header {
340
+ display: flex; align-items: center; justify-content: space-between;
341
+ padding: 0.5rem 0; margin-bottom: 0.75rem;
342
+ border-bottom: 2px solid var(--primary);
343
+ }
344
+ .dm-module-name { font-weight: 700; color: var(--primary-light); font-size: 1rem; }
345
+ .dm-module-count { font-size: 0.75rem; color: var(--text-muted); }
346
+ .dm-entity-grid {
347
+ display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 1rem;
348
+ }
349
+ .dm-entity-card {
350
+ background: var(--bg-card); border: 1px solid var(--border);
351
+ border-radius: 10px; overflow: hidden;
352
+ transition: border-color var(--transition-fast);
353
+ }
354
+ .dm-entity-card:hover { border-color: var(--border-light); }
355
+ .dm-entity-header {
356
+ display: flex; align-items: center; justify-content: space-between;
357
+ padding: 0.6rem 0.75rem; background: var(--bg-hover);
358
+ border-bottom: 1px solid var(--border);
359
+ }
360
+ .dm-entity-name { font-weight: 600; color: var(--text-bright); font-size: 0.95rem; }
361
+ .dm-entity-attr-count {
362
+ font-size: 0.65rem; color: var(--text-muted);
363
+ background: rgba(99,102,241,0.1); padding: 0.1rem 0.4rem; border-radius: 4px;
364
+ }
365
+ .dm-entity-desc {
366
+ padding: 0.5rem 0.75rem; font-size: 0.8rem; color: var(--text-muted);
367
+ border-bottom: 1px solid var(--border);
368
+ }
369
+ .dm-attr-table { width: 100%; border-collapse: collapse; }
370
+ .dm-attr-table th {
371
+ text-align: left; font-size: 0.65rem; text-transform: uppercase;
372
+ letter-spacing: 0.05em; color: var(--text-muted); padding: 0.4rem 0.75rem;
373
+ border-bottom: 1px solid var(--border); font-weight: 600;
374
+ }
375
+ .dm-attr-table td { padding: 0.35rem 0.75rem; font-size: 0.8rem; border-bottom: 1px solid rgba(51,65,85,0.2); }
376
+ .dm-attr-name { font-weight: 500; color: var(--text-bright); white-space: nowrap; }
377
+ .dm-attr-desc { color: var(--text-muted); }
378
+ .dm-relations {
379
+ padding: 0.5rem 0.75rem; border-top: 1px solid var(--border);
380
+ background: rgba(6,182,212,0.03);
381
+ }
382
+ .dm-relations-title {
383
+ font-size: 0.65rem; text-transform: uppercase; letter-spacing: 0.05em;
384
+ color: var(--accent); font-weight: 600; margin-bottom: 0.3rem;
385
+ }
386
+ .dm-relation-item {
387
+ font-size: 0.8rem; color: var(--text); padding: 0.15rem 0;
388
+ padding-left: 0.75rem; border-left: 2px solid var(--accent);
389
+ margin-bottom: 0.2rem;
390
+ }
391
+
392
+ /* ============================================
393
+ STRUCTURE TAB (Sections/Resources)
394
+ ============================================ */
395
+ .struct-section {
396
+ background: var(--bg-card);
397
+ border: 1px solid var(--border);
398
+ border-radius: 10px;
399
+ margin-bottom: 1rem;
400
+ overflow: hidden;
401
+ }
402
+ .struct-section-header {
403
+ display: flex;
404
+ align-items: center;
405
+ gap: 0.75rem;
406
+ padding: 0.75rem 1rem;
407
+ background: var(--bg-hover);
408
+ border-bottom: 1px solid var(--border);
409
+ }
410
+ .struct-section-code {
411
+ font-weight: 600;
412
+ color: var(--text-bright);
413
+ font-size: 0.95rem;
414
+ }
415
+ .struct-section-desc {
416
+ flex: 1;
417
+ font-size: 0.8rem;
418
+ color: var(--text-muted);
419
+ }
420
+ .struct-section-badge {
421
+ font-size: 0.65rem;
422
+ color: var(--text-muted);
423
+ background: rgba(99,102,241,0.1);
424
+ padding: 0.1rem 0.5rem;
425
+ border-radius: 4px;
426
+ white-space: nowrap;
427
+ }
428
+ .struct-resources {
429
+ padding: 0.5rem 0;
430
+ }
431
+ .struct-resource {
432
+ display: flex;
433
+ align-items: baseline;
434
+ gap: 0.5rem;
435
+ padding: 0.35rem 1rem 0.35rem 1.5rem;
436
+ font-size: 0.85rem;
437
+ transition: background var(--transition-fast);
438
+ }
439
+ .struct-resource:hover {
440
+ background: var(--bg-hover);
441
+ }
442
+ .struct-resource-icon {
443
+ color: var(--primary-light);
444
+ font-size: 0.7rem;
445
+ flex-shrink: 0;
446
+ }
447
+ .struct-resource-name {
448
+ font-weight: 500;
449
+ color: var(--text-bright);
450
+ }
451
+ .struct-resource-desc {
452
+ font-size: 0.8rem;
453
+ color: var(--text-muted);
454
+ }