@fprad0/skill-master-mcp 0.0.12 → 1.0.1

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 (353) hide show
  1. package/CHANGELOG.md +100 -88
  2. package/README.md +472 -472
  3. package/VERSION.md +9 -9
  4. package/bin/lib/bootstrap-global-core.mjs +34 -0
  5. package/bin/lib/client-config.mjs +287 -285
  6. package/bin/lib/doctor-core.mjs +202 -0
  7. package/bin/lib/menu-core.mjs +1792 -1514
  8. package/bin/lib/operation-result.mjs +59 -0
  9. package/bin/lib/register-clients-core.mjs +247 -0
  10. package/bin/lib/skill-installation.mjs +215 -215
  11. package/bin/lib/update-cli-core.mjs +117 -0
  12. package/bin/skill-master-activation.mjs +165 -163
  13. package/bin/skill-master-bootstrap-global.mjs +61 -49
  14. package/bin/skill-master-configure-private-registry.mjs +3 -3
  15. package/bin/skill-master-doctor.mjs +239 -228
  16. package/bin/skill-master-eval-activation.mjs +32 -32
  17. package/bin/skill-master-install-global-skills.mjs +59 -59
  18. package/bin/skill-master-install-project-skills.mjs +97 -97
  19. package/bin/skill-master-menu.mjs +489 -378
  20. package/bin/skill-master-register-clients.mjs +232 -153
  21. package/bin/skill-master-success-skills.mjs +357 -307
  22. package/bin/skill-master-update.mjs +121 -72
  23. package/bin/skill-master.mjs +3 -3
  24. package/dist/activation.d.ts.map +1 -1
  25. package/dist/activation.js +12 -0
  26. package/dist/activation.js.map +1 -1
  27. package/dist/prompt-router.d.ts.map +1 -1
  28. package/dist/prompt-router.js +19 -0
  29. package/dist/prompt-router.js.map +1 -1
  30. package/dist/recommender.d.ts.map +1 -1
  31. package/dist/recommender.js +4 -1
  32. package/dist/recommender.js.map +1 -1
  33. package/docs/architecture/APRENDIZADO_DE_IMPLEMENTACOES_BEM_SUCEDIDAS.md +125 -125
  34. package/docs/architecture/ARQUITETURA_AUTO_UPDATE.md +9 -9
  35. package/docs/architecture/PLANO_MASTER_ACIONAMENTO_AUTOMATICO_E_APRENDIZADO.md +341 -341
  36. package/docs/architecture/REDE_SEGURA_DE_SKILLS.md +148 -148
  37. package/docs/operations/GUIA_MULTI_COMPUTADOR.md +262 -262
  38. package/docs/operations/GUIA_NPM_PRIVADO.md +294 -294
  39. package/docs/operations/GUIA_NPM_PUBLICO.md +147 -147
  40. package/docs/operations/MENU_VISUAL_EVIDENCE_2026-06-28.md +66 -66
  41. package/docs/operations/assets/menu-frame-compact.html +36 -33
  42. package/docs/operations/assets/menu-frame-dna-hero.html +87 -0
  43. package/docs/operations/assets/menu-frame-fine-helix.html +89 -0
  44. package/docs/operations/assets/menu-frame-large.html +44 -41
  45. package/docs/operations/assets/menu-frame-running.html +41 -38
  46. package/docs/operations/assets/menu-frame-score-10-contact-sheet.html +184 -0
  47. package/docs/operations/cross-platform-auth-transfer/ANALISE_COMPATIBILIDADE_MCP_2026-06-28.md +140 -140
  48. package/docs/operations/cross-platform-auth-transfer/README_TRANSFERENCIA.md +85 -85
  49. package/docs/operations/reborn-menu-cyberpunk-transfer/ANALISE_MENU_REBORN_CYBERPUNK_2026-06-28.md +174 -174
  50. package/docs/operations/reborn-menu-cyberpunk-transfer/HANDOFF_IMPLEMENTACAO_REBORN_CYBERPUNK_2026-06-28.md +119 -119
  51. package/docs/operations/reborn-menu-cyberpunk-transfer/ORDEM_DE_EXECUCAO_MENU_REBORN_CYBERPUNK.md +134 -134
  52. package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA.md +84 -84
  53. package/docs/operations/reborn-menu-cyberpunk-transfer/README_TRANSFERENCIA_REBORN_PACKAGE.md +56 -56
  54. package/docs/operations/token-economy-transfer/ANALISE_AVANCADA_ECONOMIA_TOKENS_2026-06-30.md +141 -0
  55. package/docs/operations/token-economy-transfer/PLANO_DEV_SENIOR_MASTER_TOKEN_ECONOMY_2026-06-30.md +171 -0
  56. package/docs/operations/token-economy-transfer/README_TRANSFERENCIA_TOKEN_ECONOMY.md +31 -0
  57. package/docs/planning/MENU_RUNTIME_CORRECTION_PLAN_2026-06-30.md +551 -0
  58. package/docs/planning/V0_0_9_APROVACAO_CRITICA_MENSAGENS_DE_VENDA.md +85 -85
  59. package/docs/planning/V0_0_9_FONTES_E_CRITERIOS_DE_AUTORIDADE.md +139 -139
  60. package/docs/planning/V0_0_9_MATRIZ_SKILLS_MULTIDISCIPLINARES.md +105 -105
  61. package/docs/planning/V0_0_9_POLITICA_MORAL_CATOLICA_PARA_IA.md +181 -181
  62. package/docs/planning/V0_0_9_PROMPTS_EXECUCAO.md +59 -59
  63. package/docs/planning/V0_0_9_ROADMAP_DISCERNIMENTO_E_CONHECIMENTO_AMPLO.md +181 -181
  64. package/docs/planning/mcp-1.0.0/00_RESUMO_EXECUTIVO_AUDITORIA_MENU.md +118 -0
  65. package/docs/planning/mcp-1.0.0/01_MATRIZ_TESTES_MENU_E_RESULTADOS.md +250 -0
  66. package/docs/planning/mcp-1.0.0/02_PLANO_CORRECAO_ATIVAR_SKILL_APRENDIDA.md +200 -0
  67. package/docs/planning/mcp-1.0.0/03_PLANO_COMPATIBILIDADE_WINDOWS_LINUX_MACOS.md +167 -0
  68. package/docs/planning/mcp-1.0.0/04_PLANO_UI_CYBERPUNK_PIXEL_ART_E_PERFORMANCE.md +165 -0
  69. package/docs/planning/mcp-1.0.0/05_PROMPT_TASK_EXECUCAO_CORRECOES.md +151 -0
  70. package/docs/planning/mcp-1.0.0/06_CHECKLIST_REGRESSAO_PRE_RELEASE.md +159 -0
  71. package/docs/planning/mcp-1.0.0/07_RELATORIO_APLICACAO_CORRECOES_MENU_SKILL_MASTER.md +136 -0
  72. package/docs/planning/mcp-1.0.0/08_AUDITORIA_CRITICA_MENU_NOTA_E_DNA_REFINADO.md +184 -0
  73. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/00_PROMPT_TASK_MASTER_NOTA_10_10.md +103 -0
  74. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/01_PROMPT_TASK_FINE_HELIX_DNA.md +116 -0
  75. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/02_PROMPT_TASK_DNA_HERO_BOOT_AND_MOTION.md +109 -0
  76. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/03_PROMPT_TASK_MENU_UX_HELP_ERROR_COPY.md +99 -0
  77. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/04_PROMPT_TASK_EVIDENCE_RENDERER_1_0_0.md +97 -0
  78. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/05_PROMPT_TASK_CROSS_PLATFORM_UTF8_MOJIBAKE.md +99 -0
  79. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/06_PROMPT_TASK_VISUAL_REGRESSION_QA.md +105 -0
  80. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/07_PROMPT_TASK_PRE_RELEASE_SCORE_GATE_10_10.md +104 -0
  81. package/docs/planning/mcp-1.0.0/prompt-tasks-nota-10-10/README_ORDEM_EXECUCAO_NOTA_10_10.md +77 -0
  82. package/docs/prompt-tasks/PROMPT_TASK_001_BOOTSTRAP_SKILL_MASTER_MCP.md +6 -6
  83. package/docs/prompt-tasks/PROMPT_TASK_002_AUTO_UPDATE_LAUNCHER.md +6 -6
  84. package/docs/prompt-tasks/PROMPT_TASK_003_REMOTE_MANIFEST_AND_RELEASES.md +6 -6
  85. package/docs/prompt-tasks/PROMPT_TASK_004_MULTI_USER_DISTRIBUTION.md +6 -6
  86. package/docs/prompt-tasks/PROMPT_TASK_005_SECURITY_AND_QUALITY_GATE.md +6 -6
  87. package/docs/prompt-tasks/PROMPT_TASK_006_MASTER_ACIONAMENTO_APRENDIZADO.md +83 -83
  88. package/docs/prompt-tasks/PROMPT_TASK_007_PERSONA_ORQUESTRADORA.md +88 -88
  89. package/docs/prompt-tasks/PROMPT_TASK_008_PROMPT_ROUTER_MODOS_ATIVACAO.md +156 -156
  90. package/docs/prompt-tasks/PROMPT_TASK_009_PIPELINE_APRENDIZADO_SUCESSO.md +105 -105
  91. package/docs/prompt-tasks/PROMPT_TASK_010_EVALS_GOVERNANCA_ATIVACAO.md +119 -119
  92. package/docs/prompt-tasks/PROMPT_TASK_011_MENU_NOTIFICACOES_NOTION.md +120 -120
  93. package/docs/prompt-tasks/PROMPT_TASK_012_MENU_CYBERPUNK_PIXEL_FRAME.md +123 -123
  94. package/docs/prompt-tasks/PROMPT_TASK_013_MENU_FLUID_DNA_ANIMATION.md +114 -114
  95. package/docs/prompt-tasks/PROMPT_TASK_014_MENU_FUNCTIONAL_PARITY_QA.md +157 -157
  96. package/docs/prompt-tasks/PROMPT_TASK_015_TRANSFER_RELEASE_HANDOFF.md +127 -127
  97. package/docs/prompt-tasks/PROMPT_TASK_016_CROSS_PLATFORM_MCP_AUTH_REGISTRATION.md +107 -107
  98. package/docs/prompt-tasks/PROMPT_TASK_018_NPM_PUBLISH_2FA_SETUP.md +80 -80
  99. package/docs/prompt-tasks/PROMPT_TASK_019_TOKEN_ECONOMY_GLOBAL_SKILLS.md +56 -0
  100. package/docs/prompt-tasks/PROMPT_TASK_MASTER_EXECUTOR.md +6 -6
  101. package/docs/skill-candidates/v0.0.10/cli-creator/LICENSE.txt +201 -201
  102. package/docs/skill-candidates/v0.0.10/cli-creator/SKILL.md +160 -160
  103. package/docs/skill-candidates/v0.0.10/cli-creator/agents/openai.yaml +4 -4
  104. package/docs/skill-candidates/v0.0.10/cli-creator/references/agent-cli-patterns.md +154 -154
  105. package/docs/skill-candidates/v0.0.10/developer-workstation-ops/SKILL.md +32 -32
  106. package/docs/skill-candidates/v0.0.10/figma/LICENSE.txt +1 -1
  107. package/docs/skill-candidates/v0.0.10/figma/SKILL.md +42 -42
  108. package/docs/skill-candidates/v0.0.10/figma/agents/openai.yaml +14 -14
  109. package/docs/skill-candidates/v0.0.10/figma/assets/figma-small.svg +3 -3
  110. package/docs/skill-candidates/v0.0.10/figma/assets/icon.svg +28 -28
  111. package/docs/skill-candidates/v0.0.10/figma/references/figma-mcp-config.md +35 -35
  112. package/docs/skill-candidates/v0.0.10/figma/references/figma-tools-and-prompts.md +34 -34
  113. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/LICENSE.TXT +1 -1
  114. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/SKILL.md +349 -349
  115. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/agents/openai.yaml +14 -14
  116. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/figma-small.svg +3 -3
  117. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/assets/icon.svg +28 -28
  118. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/references/mapping-checklist.md +7 -7
  119. package/docs/skill-candidates/v0.0.10/figma-code-connect-components/scripts/normalize_node_id.py +25 -25
  120. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/LICENSE.TXT +1 -1
  121. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/SKILL.md +537 -537
  122. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/agents/openai.yaml +14 -14
  123. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/figma-small.svg +3 -3
  124. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/assets/icon.svg +28 -28
  125. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/references/rule-template.md +15 -15
  126. package/docs/skill-candidates/v0.0.10/figma-create-design-system-rules/scripts/check_agents_md.sh +9 -9
  127. package/docs/skill-candidates/v0.0.10/figma-generate-design/LICENSE.TXT +1 -1
  128. package/docs/skill-candidates/v0.0.10/figma-generate-design/SKILL.md +341 -341
  129. package/docs/skill-candidates/v0.0.10/figma-generate-design/agents/openai.yaml +14 -14
  130. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/figma-small.svg +3 -3
  131. package/docs/skill-candidates/v0.0.10/figma-generate-design/assets/icon.svg +28 -28
  132. package/docs/skill-candidates/v0.0.10/figma-generate-design/maintainers.yml +1 -1
  133. package/docs/skill-candidates/v0.0.10/figma-generate-library/LICENSE.TXT +1 -1
  134. package/docs/skill-candidates/v0.0.10/figma-generate-library/SKILL.md +314 -314
  135. package/docs/skill-candidates/v0.0.10/figma-generate-library/agents/openai.yaml +14 -14
  136. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/figma-small.svg +3 -3
  137. package/docs/skill-candidates/v0.0.10/figma-generate-library/assets/icon.svg +28 -28
  138. package/docs/skill-candidates/v0.0.10/figma-generate-library/maintainers.yml +3 -3
  139. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/code-connect-setup.md +260 -260
  140. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/component-creation.md +1014 -1014
  141. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/discovery-phase.md +518 -518
  142. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/documentation-creation.md +834 -834
  143. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/error-recovery.md +540 -540
  144. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/naming-conventions.md +527 -527
  145. package/docs/skill-candidates/v0.0.10/figma-generate-library/references/token-creation.md +962 -962
  146. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/bindVariablesToComponent.js +110 -110
  147. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/cleanupOrphans.js +127 -127
  148. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createComponentWithVariants.js +148 -148
  149. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createDocumentationPage.js +139 -139
  150. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createSemanticTokens.js +108 -108
  151. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/createVariableCollection.js +49 -49
  152. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/inspectFileStructure.js +121 -121
  153. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/rehydrateState.js +92 -92
  154. package/docs/skill-candidates/v0.0.10/figma-generate-library/scripts/validateCreation.js +83 -83
  155. package/docs/skill-candidates/v0.0.10/figma-implement-design/LICENSE.txt +1 -1
  156. package/docs/skill-candidates/v0.0.10/figma-implement-design/SKILL.md +258 -258
  157. package/docs/skill-candidates/v0.0.10/figma-implement-design/agents/openai.yaml +14 -14
  158. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/figma-small.svg +3 -3
  159. package/docs/skill-candidates/v0.0.10/figma-implement-design/assets/icon.svg +28 -28
  160. package/docs/skill-candidates/v0.0.10/figma-use/LICENSE.TXT +1 -1
  161. package/docs/skill-candidates/v0.0.10/figma-use/SKILL.md +233 -233
  162. package/docs/skill-candidates/v0.0.10/figma-use/agents/openai.yaml +14 -14
  163. package/docs/skill-candidates/v0.0.10/figma-use/assets/figma-small.svg +3 -3
  164. package/docs/skill-candidates/v0.0.10/figma-use/assets/icon.svg +28 -28
  165. package/docs/skill-candidates/v0.0.10/figma-use/maintainers.yml +1 -1
  166. package/docs/skill-candidates/v0.0.10/figma-use/references/api-reference.md +301 -301
  167. package/docs/skill-candidates/v0.0.10/figma-use/references/common-patterns.md +512 -512
  168. package/docs/skill-candidates/v0.0.10/figma-use/references/component-patterns.md +488 -488
  169. package/docs/skill-candidates/v0.0.10/figma-use/references/effect-style-patterns.md +123 -123
  170. package/docs/skill-candidates/v0.0.10/figma-use/references/gotchas.md +599 -599
  171. package/docs/skill-candidates/v0.0.10/figma-use/references/maintainers.yml +12 -12
  172. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-patterns.md +513 -513
  173. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.d.ts +11293 -11293
  174. package/docs/skill-candidates/v0.0.10/figma-use/references/plugin-api-standalone.index.md +441 -441
  175. package/docs/skill-candidates/v0.0.10/figma-use/references/text-style-patterns.md +203 -203
  176. package/docs/skill-candidates/v0.0.10/figma-use/references/validation-and-recovery.md +109 -109
  177. package/docs/skill-candidates/v0.0.10/figma-use/references/variable-patterns.md +354 -354
  178. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/maintainers.yml +9 -9
  179. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--creating.md +17 -17
  180. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components--using.md +17 -17
  181. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-components.md +50 -50
  182. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-effect-styles.md +52 -52
  183. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-text-styles.md +90 -90
  184. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--creating.md +13 -13
  185. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables--using.md +13 -13
  186. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds-variables.md +64 -64
  187. package/docs/skill-candidates/v0.0.10/figma-use/references/working-with-design-systems/wwds.md +41 -41
  188. package/docs/skill-candidates/v0.0.10/frontend-design/LICENSE.txt +177 -177
  189. package/docs/skill-candidates/v0.0.10/frontend-design/SKILL.md +55 -55
  190. package/docs/skill-candidates/v0.0.10/frontend-ui-ux-systems/SKILL.md +32 -32
  191. package/docs/skill-candidates/v0.0.10/github/SKILL.md +74 -74
  192. package/docs/skill-candidates/v0.0.10/github/agents/openai.yaml +6 -6
  193. package/docs/skill-candidates/v0.0.10/github/assets/github-small.svg +3 -3
  194. package/docs/skill-candidates/v0.0.10/image-graphic-design-rendering/SKILL.md +28 -28
  195. package/docs/skill-candidates/v0.0.10/language-quality-pt-en-fr-it-ru/SKILL.md +28 -28
  196. package/docs/skill-candidates/v0.0.10/math-physics-reasoning/SKILL.md +28 -28
  197. package/docs/skill-candidates/v0.0.10/mcp-builder/LICENSE.txt +201 -201
  198. package/docs/skill-candidates/v0.0.10/mcp-builder/SKILL.md +236 -236
  199. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/evaluation.md +601 -601
  200. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/mcp_best_practices.md +249 -249
  201. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/node_mcp_server.md +969 -969
  202. package/docs/skill-candidates/v0.0.10/mcp-builder/reference/python_mcp_server.md +718 -718
  203. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/connections.py +151 -151
  204. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/evaluation.py +373 -373
  205. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/example_evaluation.xml +22 -22
  206. package/docs/skill-candidates/v0.0.10/mcp-builder/scripts/requirements.txt +2 -2
  207. package/docs/skill-candidates/v0.0.10/mcp-client-readiness/SKILL.md +31 -31
  208. package/docs/skill-candidates/v0.0.10/openai-docs/LICENSE.txt +201 -201
  209. package/docs/skill-candidates/v0.0.10/openai-docs/SKILL.md +161 -161
  210. package/docs/skill-candidates/v0.0.10/openai-docs/agents/openai.yaml +14 -14
  211. package/docs/skill-candidates/v0.0.10/openai-docs/assets/openai-small.svg +3 -3
  212. package/docs/skill-candidates/v0.0.10/openai-docs/references/latest-model.md +37 -37
  213. package/docs/skill-candidates/v0.0.10/openai-docs/references/prompting-guide.md +244 -244
  214. package/docs/skill-candidates/v0.0.10/openai-docs/references/upgrade-guide.md +181 -181
  215. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/fetch-codex-manual.mjs +598 -598
  216. package/docs/skill-candidates/v0.0.10/openai-docs/scripts/resolve-latest-model-info.js +147 -147
  217. package/docs/skill-candidates/v0.0.10/playwright/NOTICE.txt +14 -14
  218. package/docs/skill-candidates/v0.0.10/playwright/SKILL.md +147 -147
  219. package/docs/skill-candidates/v0.0.10/playwright/agents/openai.yaml +6 -6
  220. package/docs/skill-candidates/v0.0.10/playwright/assets/playwright-small.svg +3 -3
  221. package/docs/skill-candidates/v0.0.10/playwright/references/cli.md +116 -116
  222. package/docs/skill-candidates/v0.0.10/playwright/references/workflows.md +95 -95
  223. package/docs/skill-candidates/v0.0.10/playwright/scripts/playwright_cli.sh +25 -25
  224. package/docs/skill-candidates/v0.0.10/polyglot-backend-engineering/SKILL.md +32 -32
  225. package/docs/skill-candidates/v0.0.10/screenshot/LICENSE.txt +201 -201
  226. package/docs/skill-candidates/v0.0.10/screenshot/SKILL.md +267 -267
  227. package/docs/skill-candidates/v0.0.10/screenshot/agents/openai.yaml +6 -6
  228. package/docs/skill-candidates/v0.0.10/screenshot/assets/screenshot-small.svg +5 -5
  229. package/docs/skill-candidates/v0.0.10/screenshot/scripts/ensure_macos_permissions.sh +54 -54
  230. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_display_info.swift +22 -22
  231. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_permissions.swift +40 -40
  232. package/docs/skill-candidates/v0.0.10/screenshot/scripts/macos_window_info.swift +126 -126
  233. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.ps1 +163 -163
  234. package/docs/skill-candidates/v0.0.10/screenshot/scripts/take_screenshot.py +585 -585
  235. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/SKILL.md +62 -62
  236. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/agents/openai.yaml +4 -4
  237. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/activation-policy.md +77 -77
  238. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/human-approval-policy.md +83 -83
  239. package/docs/skill-candidates/v0.0.10/skill-master-orchestrator/references/persona-dev-senior-master.md +46 -46
  240. package/docs/skill-candidates/v0.0.10/terminal-menu-operations/SKILL.md +30 -30
  241. package/docs/skill-candidates/v0.0.10/terminal-pixel-art-tui/SKILL.md +43 -43
  242. package/docs/skill-candidates/v0.0.10/webapp-testing/LICENSE.txt +201 -201
  243. package/docs/skill-candidates/v0.0.10/webapp-testing/SKILL.md +95 -95
  244. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/console_logging.py +34 -34
  245. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/element_discovery.py +39 -39
  246. package/docs/skill-candidates/v0.0.10/webapp-testing/examples/static_html_automation.py +32 -32
  247. package/docs/skill-candidates/v0.0.10/webapp-testing/scripts/with_server.py +105 -105
  248. package/docs/skill-candidates/v0.0.10/winui-app/LICENSE.txt +201 -201
  249. package/docs/skill-candidates/v0.0.10/winui-app/SKILL.md +94 -94
  250. package/docs/skill-candidates/v0.0.10/winui-app/agents/openai.yaml +5 -5
  251. package/docs/skill-candidates/v0.0.10/winui-app/config.yaml +50 -50
  252. package/docs/skill-candidates/v0.0.10/winui-app/references/_sections.md +96 -96
  253. package/docs/skill-candidates/v0.0.10/winui-app/references/accessibility-input-and-localization.md +51 -51
  254. package/docs/skill-candidates/v0.0.10/winui-app/references/build-run-and-launch-verification.md +72 -72
  255. package/docs/skill-candidates/v0.0.10/winui-app/references/community-toolkit-controls-and-helpers.md +57 -57
  256. package/docs/skill-candidates/v0.0.10/winui-app/references/controls-layout-and-adaptive-ui.md +84 -84
  257. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-environment-audit-and-remediation.md +82 -82
  258. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-setup-and-project-selection.md +67 -67
  259. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-template-first-recovery.md +62 -62
  260. package/docs/skill-candidates/v0.0.10/winui-app/references/foundation-winui-app-structure.md +62 -62
  261. package/docs/skill-candidates/v0.0.10/winui-app/references/motion-animations-and-polish.md +45 -45
  262. package/docs/skill-candidates/v0.0.10/winui-app/references/performance-diagnostics-and-responsiveness.md +46 -46
  263. package/docs/skill-candidates/v0.0.10/winui-app/references/sample-source-map.md +37 -37
  264. package/docs/skill-candidates/v0.0.10/winui-app/references/shell-navigation-and-windowing.md +67 -67
  265. package/docs/skill-candidates/v0.0.10/winui-app/references/styling-theming-materials-and-icons.md +71 -71
  266. package/docs/skill-candidates/v0.0.10/winui-app/references/testing-debugging-and-review-checklists.md +77 -77
  267. package/docs/skill-candidates/v0.0.10/winui-app/references/windows-app-sdk-lifecycle-notifications-and-deployment.md +52 -52
  268. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/SKILL.md +398 -398
  269. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/common-patterns.md +330 -330
  270. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/complete-examples.md +871 -871
  271. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/component-patterns.md +501 -501
  272. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/data-fetching.md +766 -766
  273. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/file-organization.md +501 -501
  274. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/loading-and-error-states.md +500 -500
  275. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/performance.md +405 -405
  276. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/routing-guide.md +363 -363
  277. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/styling-guide.md +427 -427
  278. package/docs/skill-candidates/v0.0.11/frontend-dev-guidelines/resources/typescript-standards.md +417 -417
  279. package/docs/skill-candidates/v0.0.11/git-version-control-ops/SKILL.md +34 -34
  280. package/docs/skill-candidates/v0.0.11/go-engineering/SKILL.md +34 -34
  281. package/docs/skill-candidates/v0.0.11/java-engineering/SKILL.md +34 -34
  282. package/docs/skill-candidates/v0.0.11/javascript-engineering/SKILL.md +34 -34
  283. package/docs/skill-candidates/v0.0.11/json-contract-design/SKILL.md +34 -34
  284. package/docs/skill-candidates/v0.0.11/multi-client-mcp-ops/SKILL.md +36 -36
  285. package/docs/skill-candidates/v0.0.11/nextjs/SKILL.md +745 -745
  286. package/docs/skill-candidates/v0.0.11/nextjs/agents/openai.yaml +3 -3
  287. package/docs/skill-candidates/v0.0.11/nextjs/references/app-router-files.md +94 -94
  288. package/docs/skill-candidates/v0.0.11/python-engineering/SKILL.md +34 -34
  289. package/docs/skill-candidates/v0.0.11/ruby-engineering/SKILL.md +34 -34
  290. package/docs/skill-candidates/v0.0.11/senior-fullstack/SKILL.md +209 -209
  291. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/architecture_patterns.md +103 -103
  292. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/development_workflows.md +103 -103
  293. package/docs/skill-candidates/v0.0.11/senior-fullstack/references/tech_stack_guide.md +103 -103
  294. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/code_quality_analyzer.py +114 -114
  295. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/fullstack_scaffolder.py +114 -114
  296. package/docs/skill-candidates/v0.0.11/senior-fullstack/scripts/project_scaffolder.py +114 -114
  297. package/docs/skill-candidates/v0.0.11/shadcn/SKILL.md +573 -573
  298. package/docs/skill-candidates/v0.0.11/shadcn/agents/openai.yaml +3 -3
  299. package/docs/skill-candidates/v0.0.11/sql-postgresql-engineering/SKILL.md +34 -34
  300. package/docs/skill-candidates/v0.0.11/terminal-shell-ops/SKILL.md +34 -34
  301. package/docs/skill-candidates/v0.0.11/typescript-expert/SKILL.md +429 -429
  302. package/docs/skill-candidates/v0.0.11/typescript-expert/references/tsconfig-strict.json +91 -91
  303. package/docs/skill-candidates/v0.0.11/typescript-expert/references/typescript-cheatsheet.md +383 -383
  304. package/docs/skill-candidates/v0.0.11/typescript-expert/references/utility-types.ts +335 -335
  305. package/docs/skill-candidates/v0.0.11/typescript-expert/scripts/ts_diagnostic.py +203 -203
  306. package/docs/skill-candidates/v0.0.11/ui-component-primitives/SKILL.md +34 -34
  307. package/docs/skill-candidates/v0.0.11/web-mobile-design-systems/SKILL.md +34 -34
  308. package/docs/skill-candidates/v0.0.11/windows-linux-platform-ops/SKILL.md +34 -34
  309. package/docs/skill-candidates/v0.0.12/context-compression-handoff/SKILL.md +47 -0
  310. package/docs/skill-candidates/v0.0.12/csharp-senior-master-engineering/SKILL.md +32 -32
  311. package/docs/skill-candidates/v0.0.12/css-senior-master-engineering/SKILL.md +32 -32
  312. package/docs/skill-candidates/v0.0.12/go-senior-master-engineering/SKILL.md +32 -32
  313. package/docs/skill-candidates/v0.0.12/html-senior-master-engineering/SKILL.md +32 -32
  314. package/docs/skill-candidates/v0.0.12/javascript-senior-master-engineering/SKILL.md +32 -32
  315. package/docs/skill-candidates/v0.0.12/json-senior-master-engineering/SKILL.md +32 -32
  316. package/docs/skill-candidates/v0.0.12/prompt-budget-gate/SKILL.md +46 -0
  317. package/docs/skill-candidates/v0.0.12/python-senior-master-engineering/SKILL.md +32 -32
  318. package/docs/skill-candidates/v0.0.12/react-senior-master-engineering/SKILL.md +32 -32
  319. package/docs/skill-candidates/v0.0.12/ruby-senior-master-engineering/SKILL.md +32 -32
  320. package/docs/skill-candidates/v0.0.12/senior-master-code-optimizer/SKILL.md +48 -48
  321. package/docs/skill-candidates/v0.0.12/sql-senior-master-engineering/SKILL.md +31 -31
  322. package/docs/skill-candidates/v0.0.12/token-economy-orchestrator/SKILL.md +38 -0
  323. package/docs/skill-candidates/v0.0.12/typescript-senior-master-engineering/SKILL.md +35 -35
  324. package/docs/skill-candidates/v0.0.9/ai-ethics-human-dignity/SKILL.md +32 -32
  325. package/docs/skill-candidates/v0.0.9/broad-domain-router/SKILL.md +41 -41
  326. package/docs/skill-candidates/v0.0.9/catholic-moral-discernment/SKILL.md +31 -31
  327. package/docs/skill-candidates/v0.0.9/engineering-systems-master/SKILL.md +31 -31
  328. package/docs/skill-candidates/v0.0.9/language-quality-pt-en-fr/SKILL.md +28 -28
  329. package/docs/skill-candidates/v0.0.9/math-science-reasoning/SKILL.md +29 -29
  330. package/docs/skill-candidates/v0.0.9/philosophy-sociology-discernment/SKILL.md +28 -28
  331. package/docs/skill-candidates/v0.0.9/professional-boundary-triage/SKILL.md +40 -40
  332. package/docs/skill-candidates/v0.0.9/release-ethics-gate/SKILL.md +32 -32
  333. package/docs/skill-candidates/v0.0.9/source-authority-reviewer/SKILL.md +31 -31
  334. package/examples/client-configs/claude-code.commands.md +21 -21
  335. package/examples/client-configs/claude-code.project.mcp.json +18 -18
  336. package/examples/client-configs/claude-desktop.macos.json +18 -18
  337. package/examples/client-configs/claude-desktop.windows.json +20 -20
  338. package/examples/client-configs/codex.windows.toml +11 -11
  339. package/examples/client-configs/gemini-code-assist.intellij.mcp.json +18 -18
  340. package/examples/client-configs/gemini.linux.settings.json +21 -21
  341. package/examples/client-configs/gemini.windows.settings.json +23 -23
  342. package/examples/client-configs/generic-stdio.json +16 -16
  343. package/manifests/channels/beta.json +24 -24
  344. package/manifests/channels/stable.json +25 -25
  345. package/network/approved-skills.json +54 -54
  346. package/network/unapproved-skill-candidates.json +110 -110
  347. package/package.json +89 -86
  348. package/scripts/configure-private-registry.mjs +208 -208
  349. package/scripts/lib/private-registry.mjs +97 -97
  350. package/scripts/render-menu-evidence.mjs +196 -130
  351. package/scripts/verify-menu-actions.mjs +112 -107
  352. package/scripts/verify-menu-visual.mjs +90 -0
  353. package/sources.json +11 -11
@@ -1,428 +1,428 @@
1
- # Styling Guide
2
-
3
- Modern styling patterns for using MUI v7 sx prop, inline styles, and theme integration.
4
-
5
- ---
6
-
7
- ## Inline vs Separate Styles
8
-
9
- ### Decision Threshold
10
-
11
- **<100 lines: Inline styles at top of component**
12
-
13
- ```typescript
14
- import type { SxProps, Theme } from '@mui/material';
15
-
16
- const componentStyles: Record<string, SxProps<Theme>> = {
17
- container: {
18
- p: 2,
19
- display: 'flex',
20
- flexDirection: 'column',
21
- },
22
- header: {
23
- mb: 2,
24
- borderBottom: '1px solid',
25
- borderColor: 'divider',
26
- },
27
- // ... more styles
28
- };
29
-
30
- export const MyComponent: React.FC = () => {
31
- return (
32
- <Box sx={componentStyles.container}>
33
- <Box sx={componentStyles.header}>
34
- <h2>Title</h2>
35
- </Box>
36
- </Box>
37
- );
38
- };
39
- ```
40
-
41
- **>100 lines: Separate `.styles.ts` file**
42
-
43
- ```typescript
44
- // MyComponent.styles.ts
45
- import type { SxProps, Theme } from '@mui/material';
46
-
47
- export const componentStyles: Record<string, SxProps<Theme>> = {
48
- container: { ... },
49
- header: { ... },
50
- // ... 100+ lines of styles
51
- };
52
-
53
- // MyComponent.tsx
54
- import { componentStyles } from './MyComponent.styles';
55
-
56
- export const MyComponent: React.FC = () => {
57
- return <Box sx={componentStyles.container}>...</Box>;
58
- };
59
- ```
60
-
61
- ### Real Example: UnifiedForm.tsx
62
-
63
- **Lines 48-126**: 78 lines of inline styles (acceptable)
64
-
65
- ```typescript
66
- const formStyles: Record<string, SxProps<Theme>> = {
67
- gridContainer: {
68
- height: '100%',
69
- maxHeight: 'calc(100vh - 220px)',
70
- },
71
- section: {
72
- height: '100%',
73
- maxHeight: 'calc(100vh - 220px)',
74
- overflow: 'auto',
75
- p: 4,
76
- },
77
- // ... 15 more style objects
78
- };
79
- ```
80
-
81
- **Guideline**: User is comfortable with ~80 lines inline. Use your judgment around 100 lines.
82
-
83
- ---
84
-
85
- ## sx Prop Patterns
86
-
87
- ### Basic Usage
88
-
89
- ```typescript
90
- <Box sx={{ p: 2, mb: 3, display: 'flex' }}>
91
- Content
92
- </Box>
93
- ```
94
-
95
- ### With Theme Access
96
-
97
- ```typescript
98
- <Box
99
- sx={{
100
- p: 2,
101
- backgroundColor: (theme) => theme.palette.primary.main,
102
- color: (theme) => theme.palette.primary.contrastText,
103
- borderRadius: (theme) => theme.shape.borderRadius,
104
- }}
105
- >
106
- Themed Box
107
- </Box>
108
- ```
109
-
110
- ### Responsive Styles
111
-
112
- ```typescript
113
- <Box
114
- sx={{
115
- p: { xs: 1, sm: 2, md: 3 },
116
- width: { xs: '100%', md: '50%' },
117
- flexDirection: { xs: 'column', md: 'row' },
118
- }}
119
- >
120
- Responsive Layout
121
- </Box>
122
- ```
123
-
124
- ### Pseudo-Selectors
125
-
126
- ```typescript
127
- <Box
128
- sx={{
129
- p: 2,
130
- '&:hover': {
131
- backgroundColor: 'rgba(0,0,0,0.05)',
132
- },
133
- '&:active': {
134
- backgroundColor: 'rgba(0,0,0,0.1)',
135
- },
136
- '& .child-class': {
137
- color: 'primary.main',
138
- },
139
- }}
140
- >
141
- Interactive Box
142
- </Box>
143
- ```
144
-
145
- ---
146
-
147
- ## MUI v7 Patterns
148
-
149
- ### Grid Component (v7 Syntax)
150
-
151
- ```typescript
152
- import { Grid } from '@mui/material';
153
-
154
- // ✅ CORRECT - v7 syntax with size prop
155
- <Grid container spacing={2}>
156
- <Grid size={{ xs: 12, md: 6 }}>
157
- Left Column
158
- </Grid>
159
- <Grid size={{ xs: 12, md: 6 }}>
160
- Right Column
161
- </Grid>
162
- </Grid>
163
-
164
- // ❌ WRONG - Old v6 syntax
165
- <Grid container spacing={2}>
166
- <Grid xs={12} md={6}> {/* OLD - Don't use */}
167
- Content
168
- </Grid>
169
- </Grid>
170
- ```
171
-
172
- **Key Change**: `size={{ xs: 12, md: 6 }}` instead of `xs={12} md={6}`
173
-
174
- ### Responsive Grid
175
-
176
- ```typescript
177
- <Grid container spacing={3}>
178
- <Grid size={{ xs: 12, sm: 6, md: 4, lg: 3 }}>
179
- Responsive Column
180
- </Grid>
181
- </Grid>
182
- ```
183
-
184
- ### Nested Grids
185
-
186
- ```typescript
187
- <Grid container spacing={2}>
188
- <Grid size={{ xs: 12, md: 8 }}>
189
- <Grid container spacing={1}>
190
- <Grid size={{ xs: 12, sm: 6 }}>
191
- Nested 1
192
- </Grid>
193
- <Grid size={{ xs: 12, sm: 6 }}>
194
- Nested 2
195
- </Grid>
196
- </Grid>
197
- </Grid>
198
-
199
- <Grid size={{ xs: 12, md: 4 }}>
200
- Sidebar
201
- </Grid>
202
- </Grid>
203
- ```
204
-
205
- ---
206
-
207
- ## Type-Safe Styles
208
-
209
- ### Style Object Type
210
-
211
- ```typescript
212
- import type { SxProps, Theme } from '@mui/material';
213
-
214
- // Type-safe styles
215
- const styles: Record<string, SxProps<Theme>> = {
216
- container: {
217
- p: 2,
218
- // Autocomplete and type checking work here
219
- },
220
- };
221
-
222
- // Or individual style
223
- const containerStyle: SxProps<Theme> = {
224
- p: 2,
225
- display: 'flex',
226
- };
227
- ```
228
-
229
- ### Theme-Aware Styles
230
-
231
- ```typescript
232
- const styles: Record<string, SxProps<Theme>> = {
233
- primary: {
234
- color: (theme) => theme.palette.primary.main,
235
- backgroundColor: (theme) => theme.palette.primary.light,
236
- '&:hover': {
237
- backgroundColor: (theme) => theme.palette.primary.dark,
238
- },
239
- },
240
- customSpacing: {
241
- padding: (theme) => theme.spacing(2),
242
- margin: (theme) => theme.spacing(1, 2), // top/bottom: 1, left/right: 2
243
- },
244
- };
245
- ```
246
-
247
- ---
248
-
249
- ## What NOT to Use
250
-
251
- ### ❌ makeStyles (MUI v4 pattern)
252
-
253
- ```typescript
254
- // ❌ AVOID - Old Material-UI v4 pattern
255
- import { makeStyles } from '@mui/styles';
256
-
257
- const useStyles = makeStyles((theme) => ({
258
- root: {
259
- padding: theme.spacing(2),
260
- },
261
- }));
262
- ```
263
-
264
- **Why avoid**: Deprecated, v7 doesn't support it well
265
-
266
- ### ❌ styled() Components
267
-
268
- ```typescript
269
- // ❌ AVOID - styled-components pattern
270
- import { styled } from '@mui/material/styles';
271
-
272
- const StyledBox = styled(Box)(({ theme }) => ({
273
- padding: theme.spacing(2),
274
- }));
275
- ```
276
-
277
- **Why avoid**: sx prop is more flexible and doesn't create new components
278
-
279
- ### ✅ Use sx Prop Instead
280
-
281
- ```typescript
282
- // ✅ PREFERRED
283
- <Box
284
- sx={{
285
- p: 2,
286
- backgroundColor: 'primary.main',
287
- }}
288
- >
289
- Content
290
- </Box>
291
- ```
292
-
293
- ---
294
-
295
- ## Code Style Standards
296
-
297
- ### Indentation
298
-
299
- **4 spaces** (not 2, not tabs)
300
-
301
- ```typescript
302
- const styles: Record<string, SxProps<Theme>> = {
303
- container: {
304
- p: 2,
305
- display: 'flex',
306
- flexDirection: 'column',
307
- },
308
- };
309
- ```
310
-
311
- ### Quotes
312
-
313
- **Single quotes** for strings (project standard)
314
-
315
- ```typescript
316
- // ✅ CORRECT
317
- const color = 'primary.main';
318
- import { Box } from '@mui/material';
319
-
320
- // ❌ WRONG
321
- const color = "primary.main";
322
- import { Box } from "@mui/material";
323
- ```
324
-
325
- ### Trailing Commas
326
-
327
- **Always use trailing commas** in objects and arrays
328
-
329
- ```typescript
330
- // ✅ CORRECT
331
- const styles = {
332
- container: { p: 2 },
333
- header: { mb: 1 }, // Trailing comma
334
- };
335
-
336
- const items = [
337
- 'item1',
338
- 'item2', // Trailing comma
339
- ];
340
-
341
- // ❌ WRONG - No trailing comma
342
- const styles = {
343
- container: { p: 2 },
344
- header: { mb: 1 } // Missing comma
345
- };
346
- ```
347
-
348
- ---
349
-
350
- ## Common Style Patterns
351
-
352
- ### Flexbox Layout
353
-
354
- ```typescript
355
- const styles = {
356
- flexRow: {
357
- display: 'flex',
358
- flexDirection: 'row',
359
- alignItems: 'center',
360
- gap: 2,
361
- },
362
- flexColumn: {
363
- display: 'flex',
364
- flexDirection: 'column',
365
- gap: 1,
366
- },
367
- spaceBetween: {
368
- display: 'flex',
369
- justifyContent: 'space-between',
370
- alignItems: 'center',
371
- },
372
- };
373
- ```
374
-
375
- ### Spacing
376
-
377
- ```typescript
378
- // Padding
379
- p: 2 // All sides
380
- px: 2 // Horizontal (left + right)
381
- py: 2 // Vertical (top + bottom)
382
- pt: 2, pr: 1 // Specific sides
383
-
384
- // Margin
385
- m: 2, mx: 2, my: 2, mt: 2, mr: 1
386
-
387
- // Units: 1 = 8px (theme.spacing(1))
388
- p: 2 // = 16px
389
- p: 0.5 // = 4px
390
- ```
391
-
392
- ### Positioning
393
-
394
- ```typescript
395
- const styles = {
396
- relative: {
397
- position: 'relative',
398
- },
399
- absolute: {
400
- position: 'absolute',
401
- top: 0,
402
- right: 0,
403
- },
404
- sticky: {
405
- position: 'sticky',
406
- top: 0,
407
- zIndex: 1000,
408
- },
409
- };
410
- ```
411
-
412
- ---
413
-
414
- ## Summary
415
-
416
- **Styling Checklist:**
417
- - ✅ Use `sx` prop for MUI styling
418
- - ✅ Type-safe with `SxProps<Theme>`
419
- - ✅ <100 lines: inline; >100 lines: separate file
420
- - ✅ MUI v7 Grid: `size={{ xs: 12 }}`
421
- - ✅ 4 space indentation
422
- - ✅ Single quotes
423
- - ✅ Trailing commas
424
- - ❌ No makeStyles or styled()
425
-
426
- **See Also:**
427
- - [component-patterns.md](component-patterns.md) - Component structure
1
+ # Styling Guide
2
+
3
+ Modern styling patterns for using MUI v7 sx prop, inline styles, and theme integration.
4
+
5
+ ---
6
+
7
+ ## Inline vs Separate Styles
8
+
9
+ ### Decision Threshold
10
+
11
+ **<100 lines: Inline styles at top of component**
12
+
13
+ ```typescript
14
+ import type { SxProps, Theme } from '@mui/material';
15
+
16
+ const componentStyles: Record<string, SxProps<Theme>> = {
17
+ container: {
18
+ p: 2,
19
+ display: 'flex',
20
+ flexDirection: 'column',
21
+ },
22
+ header: {
23
+ mb: 2,
24
+ borderBottom: '1px solid',
25
+ borderColor: 'divider',
26
+ },
27
+ // ... more styles
28
+ };
29
+
30
+ export const MyComponent: React.FC = () => {
31
+ return (
32
+ <Box sx={componentStyles.container}>
33
+ <Box sx={componentStyles.header}>
34
+ <h2>Title</h2>
35
+ </Box>
36
+ </Box>
37
+ );
38
+ };
39
+ ```
40
+
41
+ **>100 lines: Separate `.styles.ts` file**
42
+
43
+ ```typescript
44
+ // MyComponent.styles.ts
45
+ import type { SxProps, Theme } from '@mui/material';
46
+
47
+ export const componentStyles: Record<string, SxProps<Theme>> = {
48
+ container: { ... },
49
+ header: { ... },
50
+ // ... 100+ lines of styles
51
+ };
52
+
53
+ // MyComponent.tsx
54
+ import { componentStyles } from './MyComponent.styles';
55
+
56
+ export const MyComponent: React.FC = () => {
57
+ return <Box sx={componentStyles.container}>...</Box>;
58
+ };
59
+ ```
60
+
61
+ ### Real Example: UnifiedForm.tsx
62
+
63
+ **Lines 48-126**: 78 lines of inline styles (acceptable)
64
+
65
+ ```typescript
66
+ const formStyles: Record<string, SxProps<Theme>> = {
67
+ gridContainer: {
68
+ height: '100%',
69
+ maxHeight: 'calc(100vh - 220px)',
70
+ },
71
+ section: {
72
+ height: '100%',
73
+ maxHeight: 'calc(100vh - 220px)',
74
+ overflow: 'auto',
75
+ p: 4,
76
+ },
77
+ // ... 15 more style objects
78
+ };
79
+ ```
80
+
81
+ **Guideline**: User is comfortable with ~80 lines inline. Use your judgment around 100 lines.
82
+
83
+ ---
84
+
85
+ ## sx Prop Patterns
86
+
87
+ ### Basic Usage
88
+
89
+ ```typescript
90
+ <Box sx={{ p: 2, mb: 3, display: 'flex' }}>
91
+ Content
92
+ </Box>
93
+ ```
94
+
95
+ ### With Theme Access
96
+
97
+ ```typescript
98
+ <Box
99
+ sx={{
100
+ p: 2,
101
+ backgroundColor: (theme) => theme.palette.primary.main,
102
+ color: (theme) => theme.palette.primary.contrastText,
103
+ borderRadius: (theme) => theme.shape.borderRadius,
104
+ }}
105
+ >
106
+ Themed Box
107
+ </Box>
108
+ ```
109
+
110
+ ### Responsive Styles
111
+
112
+ ```typescript
113
+ <Box
114
+ sx={{
115
+ p: { xs: 1, sm: 2, md: 3 },
116
+ width: { xs: '100%', md: '50%' },
117
+ flexDirection: { xs: 'column', md: 'row' },
118
+ }}
119
+ >
120
+ Responsive Layout
121
+ </Box>
122
+ ```
123
+
124
+ ### Pseudo-Selectors
125
+
126
+ ```typescript
127
+ <Box
128
+ sx={{
129
+ p: 2,
130
+ '&:hover': {
131
+ backgroundColor: 'rgba(0,0,0,0.05)',
132
+ },
133
+ '&:active': {
134
+ backgroundColor: 'rgba(0,0,0,0.1)',
135
+ },
136
+ '& .child-class': {
137
+ color: 'primary.main',
138
+ },
139
+ }}
140
+ >
141
+ Interactive Box
142
+ </Box>
143
+ ```
144
+
145
+ ---
146
+
147
+ ## MUI v7 Patterns
148
+
149
+ ### Grid Component (v7 Syntax)
150
+
151
+ ```typescript
152
+ import { Grid } from '@mui/material';
153
+
154
+ // ✅ CORRECT - v7 syntax with size prop
155
+ <Grid container spacing={2}>
156
+ <Grid size={{ xs: 12, md: 6 }}>
157
+ Left Column
158
+ </Grid>
159
+ <Grid size={{ xs: 12, md: 6 }}>
160
+ Right Column
161
+ </Grid>
162
+ </Grid>
163
+
164
+ // ❌ WRONG - Old v6 syntax
165
+ <Grid container spacing={2}>
166
+ <Grid xs={12} md={6}> {/* OLD - Don't use */}
167
+ Content
168
+ </Grid>
169
+ </Grid>
170
+ ```
171
+
172
+ **Key Change**: `size={{ xs: 12, md: 6 }}` instead of `xs={12} md={6}`
173
+
174
+ ### Responsive Grid
175
+
176
+ ```typescript
177
+ <Grid container spacing={3}>
178
+ <Grid size={{ xs: 12, sm: 6, md: 4, lg: 3 }}>
179
+ Responsive Column
180
+ </Grid>
181
+ </Grid>
182
+ ```
183
+
184
+ ### Nested Grids
185
+
186
+ ```typescript
187
+ <Grid container spacing={2}>
188
+ <Grid size={{ xs: 12, md: 8 }}>
189
+ <Grid container spacing={1}>
190
+ <Grid size={{ xs: 12, sm: 6 }}>
191
+ Nested 1
192
+ </Grid>
193
+ <Grid size={{ xs: 12, sm: 6 }}>
194
+ Nested 2
195
+ </Grid>
196
+ </Grid>
197
+ </Grid>
198
+
199
+ <Grid size={{ xs: 12, md: 4 }}>
200
+ Sidebar
201
+ </Grid>
202
+ </Grid>
203
+ ```
204
+
205
+ ---
206
+
207
+ ## Type-Safe Styles
208
+
209
+ ### Style Object Type
210
+
211
+ ```typescript
212
+ import type { SxProps, Theme } from '@mui/material';
213
+
214
+ // Type-safe styles
215
+ const styles: Record<string, SxProps<Theme>> = {
216
+ container: {
217
+ p: 2,
218
+ // Autocomplete and type checking work here
219
+ },
220
+ };
221
+
222
+ // Or individual style
223
+ const containerStyle: SxProps<Theme> = {
224
+ p: 2,
225
+ display: 'flex',
226
+ };
227
+ ```
228
+
229
+ ### Theme-Aware Styles
230
+
231
+ ```typescript
232
+ const styles: Record<string, SxProps<Theme>> = {
233
+ primary: {
234
+ color: (theme) => theme.palette.primary.main,
235
+ backgroundColor: (theme) => theme.palette.primary.light,
236
+ '&:hover': {
237
+ backgroundColor: (theme) => theme.palette.primary.dark,
238
+ },
239
+ },
240
+ customSpacing: {
241
+ padding: (theme) => theme.spacing(2),
242
+ margin: (theme) => theme.spacing(1, 2), // top/bottom: 1, left/right: 2
243
+ },
244
+ };
245
+ ```
246
+
247
+ ---
248
+
249
+ ## What NOT to Use
250
+
251
+ ### ❌ makeStyles (MUI v4 pattern)
252
+
253
+ ```typescript
254
+ // ❌ AVOID - Old Material-UI v4 pattern
255
+ import { makeStyles } from '@mui/styles';
256
+
257
+ const useStyles = makeStyles((theme) => ({
258
+ root: {
259
+ padding: theme.spacing(2),
260
+ },
261
+ }));
262
+ ```
263
+
264
+ **Why avoid**: Deprecated, v7 doesn't support it well
265
+
266
+ ### ❌ styled() Components
267
+
268
+ ```typescript
269
+ // ❌ AVOID - styled-components pattern
270
+ import { styled } from '@mui/material/styles';
271
+
272
+ const StyledBox = styled(Box)(({ theme }) => ({
273
+ padding: theme.spacing(2),
274
+ }));
275
+ ```
276
+
277
+ **Why avoid**: sx prop is more flexible and doesn't create new components
278
+
279
+ ### ✅ Use sx Prop Instead
280
+
281
+ ```typescript
282
+ // ✅ PREFERRED
283
+ <Box
284
+ sx={{
285
+ p: 2,
286
+ backgroundColor: 'primary.main',
287
+ }}
288
+ >
289
+ Content
290
+ </Box>
291
+ ```
292
+
293
+ ---
294
+
295
+ ## Code Style Standards
296
+
297
+ ### Indentation
298
+
299
+ **4 spaces** (not 2, not tabs)
300
+
301
+ ```typescript
302
+ const styles: Record<string, SxProps<Theme>> = {
303
+ container: {
304
+ p: 2,
305
+ display: 'flex',
306
+ flexDirection: 'column',
307
+ },
308
+ };
309
+ ```
310
+
311
+ ### Quotes
312
+
313
+ **Single quotes** for strings (project standard)
314
+
315
+ ```typescript
316
+ // ✅ CORRECT
317
+ const color = 'primary.main';
318
+ import { Box } from '@mui/material';
319
+
320
+ // ❌ WRONG
321
+ const color = "primary.main";
322
+ import { Box } from "@mui/material";
323
+ ```
324
+
325
+ ### Trailing Commas
326
+
327
+ **Always use trailing commas** in objects and arrays
328
+
329
+ ```typescript
330
+ // ✅ CORRECT
331
+ const styles = {
332
+ container: { p: 2 },
333
+ header: { mb: 1 }, // Trailing comma
334
+ };
335
+
336
+ const items = [
337
+ 'item1',
338
+ 'item2', // Trailing comma
339
+ ];
340
+
341
+ // ❌ WRONG - No trailing comma
342
+ const styles = {
343
+ container: { p: 2 },
344
+ header: { mb: 1 } // Missing comma
345
+ };
346
+ ```
347
+
348
+ ---
349
+
350
+ ## Common Style Patterns
351
+
352
+ ### Flexbox Layout
353
+
354
+ ```typescript
355
+ const styles = {
356
+ flexRow: {
357
+ display: 'flex',
358
+ flexDirection: 'row',
359
+ alignItems: 'center',
360
+ gap: 2,
361
+ },
362
+ flexColumn: {
363
+ display: 'flex',
364
+ flexDirection: 'column',
365
+ gap: 1,
366
+ },
367
+ spaceBetween: {
368
+ display: 'flex',
369
+ justifyContent: 'space-between',
370
+ alignItems: 'center',
371
+ },
372
+ };
373
+ ```
374
+
375
+ ### Spacing
376
+
377
+ ```typescript
378
+ // Padding
379
+ p: 2 // All sides
380
+ px: 2 // Horizontal (left + right)
381
+ py: 2 // Vertical (top + bottom)
382
+ pt: 2, pr: 1 // Specific sides
383
+
384
+ // Margin
385
+ m: 2, mx: 2, my: 2, mt: 2, mr: 1
386
+
387
+ // Units: 1 = 8px (theme.spacing(1))
388
+ p: 2 // = 16px
389
+ p: 0.5 // = 4px
390
+ ```
391
+
392
+ ### Positioning
393
+
394
+ ```typescript
395
+ const styles = {
396
+ relative: {
397
+ position: 'relative',
398
+ },
399
+ absolute: {
400
+ position: 'absolute',
401
+ top: 0,
402
+ right: 0,
403
+ },
404
+ sticky: {
405
+ position: 'sticky',
406
+ top: 0,
407
+ zIndex: 1000,
408
+ },
409
+ };
410
+ ```
411
+
412
+ ---
413
+
414
+ ## Summary
415
+
416
+ **Styling Checklist:**
417
+ - ✅ Use `sx` prop for MUI styling
418
+ - ✅ Type-safe with `SxProps<Theme>`
419
+ - ✅ <100 lines: inline; >100 lines: separate file
420
+ - ✅ MUI v7 Grid: `size={{ xs: 12 }}`
421
+ - ✅ 4 space indentation
422
+ - ✅ Single quotes
423
+ - ✅ Trailing commas
424
+ - ❌ No makeStyles or styled()
425
+
426
+ **See Also:**
427
+ - [component-patterns.md](component-patterns.md) - Component structure
428
428
  - [complete-examples.md](complete-examples.md) - Full styling examples