moai-adk 0.35.1__py3-none-any.whl

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.

Potentially problematic release.


This version of moai-adk might be problematic. Click here for more details.

Files changed (502) hide show
  1. moai_adk/__init__.py +10 -0
  2. moai_adk/__main__.py +199 -0
  3. moai_adk/cli/__init__.py +6 -0
  4. moai_adk/cli/commands/__init__.py +17 -0
  5. moai_adk/cli/commands/analyze.py +116 -0
  6. moai_adk/cli/commands/doctor.py +272 -0
  7. moai_adk/cli/commands/init.py +372 -0
  8. moai_adk/cli/commands/language.py +248 -0
  9. moai_adk/cli/commands/status.py +104 -0
  10. moai_adk/cli/commands/update.py +2686 -0
  11. moai_adk/cli/main.py +13 -0
  12. moai_adk/cli/prompts/__init__.py +5 -0
  13. moai_adk/cli/prompts/init_prompts.py +219 -0
  14. moai_adk/cli/spec_status.py +263 -0
  15. moai_adk/cli/ui/__init__.py +44 -0
  16. moai_adk/cli/ui/progress.py +422 -0
  17. moai_adk/cli/ui/prompts.py +389 -0
  18. moai_adk/cli/ui/theme.py +129 -0
  19. moai_adk/cli/worktree/__init__.py +27 -0
  20. moai_adk/cli/worktree/__main__.py +31 -0
  21. moai_adk/cli/worktree/cli.py +683 -0
  22. moai_adk/cli/worktree/exceptions.py +89 -0
  23. moai_adk/cli/worktree/manager.py +493 -0
  24. moai_adk/cli/worktree/models.py +65 -0
  25. moai_adk/cli/worktree/registry.py +422 -0
  26. moai_adk/core/PHASE2_OPTIMIZATIONS.md +467 -0
  27. moai_adk/core/__init__.py +1 -0
  28. moai_adk/core/analysis/__init__.py +9 -0
  29. moai_adk/core/analysis/session_analyzer.py +400 -0
  30. moai_adk/core/claude_integration.py +393 -0
  31. moai_adk/core/command_helpers.py +270 -0
  32. moai_adk/core/comprehensive_monitoring_system.py +1183 -0
  33. moai_adk/core/config/__init__.py +19 -0
  34. moai_adk/core/config/auto_spec_config.py +340 -0
  35. moai_adk/core/config/migration.py +244 -0
  36. moai_adk/core/config/unified.py +436 -0
  37. moai_adk/core/context_manager.py +273 -0
  38. moai_adk/core/diagnostics/__init__.py +19 -0
  39. moai_adk/core/diagnostics/slash_commands.py +159 -0
  40. moai_adk/core/enterprise_features.py +1404 -0
  41. moai_adk/core/error_recovery_system.py +1902 -0
  42. moai_adk/core/event_driven_hook_system.py +1371 -0
  43. moai_adk/core/git/__init__.py +31 -0
  44. moai_adk/core/git/branch.py +25 -0
  45. moai_adk/core/git/branch_manager.py +129 -0
  46. moai_adk/core/git/checkpoint.py +134 -0
  47. moai_adk/core/git/commit.py +67 -0
  48. moai_adk/core/git/conflict_detector.py +413 -0
  49. moai_adk/core/git/event_detector.py +79 -0
  50. moai_adk/core/git/manager.py +216 -0
  51. moai_adk/core/hooks/post_tool_auto_spec_completion.py +901 -0
  52. moai_adk/core/input_validation_middleware.py +1006 -0
  53. moai_adk/core/integration/__init__.py +22 -0
  54. moai_adk/core/integration/engine.py +157 -0
  55. moai_adk/core/integration/integration_tester.py +226 -0
  56. moai_adk/core/integration/models.py +88 -0
  57. moai_adk/core/integration/utils.py +211 -0
  58. moai_adk/core/issue_creator.py +305 -0
  59. moai_adk/core/jit_context_loader.py +956 -0
  60. moai_adk/core/jit_enhanced_hook_manager.py +1987 -0
  61. moai_adk/core/language_config.py +202 -0
  62. moai_adk/core/language_config_resolver.py +572 -0
  63. moai_adk/core/language_validator.py +543 -0
  64. moai_adk/core/mcp/setup.py +116 -0
  65. moai_adk/core/merge/__init__.py +9 -0
  66. moai_adk/core/merge/analyzer.py +605 -0
  67. moai_adk/core/migration/__init__.py +18 -0
  68. moai_adk/core/migration/alfred_to_moai_migrator.py +383 -0
  69. moai_adk/core/migration/backup_manager.py +277 -0
  70. moai_adk/core/migration/custom_element_scanner.py +358 -0
  71. moai_adk/core/migration/file_migrator.py +209 -0
  72. moai_adk/core/migration/interactive_checkbox_ui.py +488 -0
  73. moai_adk/core/migration/selective_restorer.py +470 -0
  74. moai_adk/core/migration/template_utils.py +74 -0
  75. moai_adk/core/migration/user_selection_ui.py +338 -0
  76. moai_adk/core/migration/version_detector.py +139 -0
  77. moai_adk/core/migration/version_migrator.py +228 -0
  78. moai_adk/core/performance/__init__.py +6 -0
  79. moai_adk/core/performance/cache_system.py +316 -0
  80. moai_adk/core/performance/parallel_processor.py +116 -0
  81. moai_adk/core/phase_optimized_hook_scheduler.py +879 -0
  82. moai_adk/core/project/__init__.py +1 -0
  83. moai_adk/core/project/backup_utils.py +70 -0
  84. moai_adk/core/project/checker.py +300 -0
  85. moai_adk/core/project/detector.py +293 -0
  86. moai_adk/core/project/initializer.py +387 -0
  87. moai_adk/core/project/phase_executor.py +716 -0
  88. moai_adk/core/project/validator.py +139 -0
  89. moai_adk/core/quality/__init__.py +6 -0
  90. moai_adk/core/quality/trust_checker.py +377 -0
  91. moai_adk/core/quality/validators/__init__.py +6 -0
  92. moai_adk/core/quality/validators/base_validator.py +19 -0
  93. moai_adk/core/realtime_monitoring_dashboard.py +1724 -0
  94. moai_adk/core/robust_json_parser.py +611 -0
  95. moai_adk/core/rollback_manager.py +918 -0
  96. moai_adk/core/session_manager.py +651 -0
  97. moai_adk/core/skill_loading_system.py +579 -0
  98. moai_adk/core/spec/confidence_scoring.py +680 -0
  99. moai_adk/core/spec/ears_template_engine.py +1247 -0
  100. moai_adk/core/spec/quality_validator.py +687 -0
  101. moai_adk/core/spec_status_manager.py +478 -0
  102. moai_adk/core/template/__init__.py +7 -0
  103. moai_adk/core/template/backup.py +174 -0
  104. moai_adk/core/template/config.py +191 -0
  105. moai_adk/core/template/languages.py +43 -0
  106. moai_adk/core/template/merger.py +233 -0
  107. moai_adk/core/template/processor.py +1200 -0
  108. moai_adk/core/template_engine.py +310 -0
  109. moai_adk/core/template_variable_synchronizer.py +417 -0
  110. moai_adk/core/unified_permission_manager.py +745 -0
  111. moai_adk/core/user_behavior_analytics.py +851 -0
  112. moai_adk/core/version_sync.py +429 -0
  113. moai_adk/foundation/__init__.py +56 -0
  114. moai_adk/foundation/backend.py +1027 -0
  115. moai_adk/foundation/database.py +1115 -0
  116. moai_adk/foundation/devops.py +1585 -0
  117. moai_adk/foundation/ears.py +431 -0
  118. moai_adk/foundation/frontend.py +870 -0
  119. moai_adk/foundation/git/commit_templates.py +557 -0
  120. moai_adk/foundation/git.py +376 -0
  121. moai_adk/foundation/langs.py +484 -0
  122. moai_adk/foundation/ml_ops.py +1162 -0
  123. moai_adk/foundation/testing.py +1524 -0
  124. moai_adk/foundation/trust/trust_principles.py +676 -0
  125. moai_adk/foundation/trust/validation_checklist.py +1573 -0
  126. moai_adk/project/__init__.py +0 -0
  127. moai_adk/project/configuration.py +1084 -0
  128. moai_adk/project/documentation.py +566 -0
  129. moai_adk/project/schema.py +447 -0
  130. moai_adk/statusline/__init__.py +38 -0
  131. moai_adk/statusline/alfred_detector.py +105 -0
  132. moai_adk/statusline/config.py +376 -0
  133. moai_adk/statusline/enhanced_output_style_detector.py +372 -0
  134. moai_adk/statusline/git_collector.py +190 -0
  135. moai_adk/statusline/main.py +322 -0
  136. moai_adk/statusline/metrics_tracker.py +78 -0
  137. moai_adk/statusline/renderer.py +343 -0
  138. moai_adk/statusline/update_checker.py +129 -0
  139. moai_adk/statusline/version_reader.py +741 -0
  140. moai_adk/templates/.claude/agents/moai/ai-nano-banana.md +714 -0
  141. moai_adk/templates/.claude/agents/moai/builder-agent.md +474 -0
  142. moai_adk/templates/.claude/agents/moai/builder-command.md +1172 -0
  143. moai_adk/templates/.claude/agents/moai/builder-plugin.md +637 -0
  144. moai_adk/templates/.claude/agents/moai/builder-skill.md +666 -0
  145. moai_adk/templates/.claude/agents/moai/expert-backend.md +899 -0
  146. moai_adk/templates/.claude/agents/moai/expert-database.md +777 -0
  147. moai_adk/templates/.claude/agents/moai/expert-debug.md +401 -0
  148. moai_adk/templates/.claude/agents/moai/expert-devops.md +720 -0
  149. moai_adk/templates/.claude/agents/moai/expert-frontend.md +734 -0
  150. moai_adk/templates/.claude/agents/moai/expert-performance.md +657 -0
  151. moai_adk/templates/.claude/agents/moai/expert-security.md +513 -0
  152. moai_adk/templates/.claude/agents/moai/expert-testing.md +733 -0
  153. moai_adk/templates/.claude/agents/moai/expert-uiux.md +1041 -0
  154. moai_adk/templates/.claude/agents/moai/manager-claude-code.md +432 -0
  155. moai_adk/templates/.claude/agents/moai/manager-docs.md +573 -0
  156. moai_adk/templates/.claude/agents/moai/manager-git.md +1060 -0
  157. moai_adk/templates/.claude/agents/moai/manager-project.md +891 -0
  158. moai_adk/templates/.claude/agents/moai/manager-quality.md +624 -0
  159. moai_adk/templates/.claude/agents/moai/manager-spec.md +809 -0
  160. moai_adk/templates/.claude/agents/moai/manager-strategy.md +780 -0
  161. moai_adk/templates/.claude/agents/moai/manager-tdd.md +784 -0
  162. moai_adk/templates/.claude/agents/moai/mcp-context7.md +458 -0
  163. moai_adk/templates/.claude/agents/moai/mcp-figma.md +1607 -0
  164. moai_adk/templates/.claude/agents/moai/mcp-notion.md +789 -0
  165. moai_adk/templates/.claude/agents/moai/mcp-playwright.md +469 -0
  166. moai_adk/templates/.claude/agents/moai/mcp-sequential-thinking.md +1032 -0
  167. moai_adk/templates/.claude/commands/moai/0-project.md +1386 -0
  168. moai_adk/templates/.claude/commands/moai/1-plan.md +1427 -0
  169. moai_adk/templates/.claude/commands/moai/2-run.md +943 -0
  170. moai_adk/templates/.claude/commands/moai/3-sync.md +1324 -0
  171. moai_adk/templates/.claude/commands/moai/9-feedback.md +314 -0
  172. moai_adk/templates/.claude/hooks/__init__.py +8 -0
  173. moai_adk/templates/.claude/hooks/moai/__init__.py +8 -0
  174. moai_adk/templates/.claude/hooks/moai/lib/__init__.py +85 -0
  175. moai_adk/templates/.claude/hooks/moai/lib/checkpoint.py +244 -0
  176. moai_adk/templates/.claude/hooks/moai/lib/common.py +131 -0
  177. moai_adk/templates/.claude/hooks/moai/lib/config_manager.py +446 -0
  178. moai_adk/templates/.claude/hooks/moai/lib/config_validator.py +639 -0
  179. moai_adk/templates/.claude/hooks/moai/lib/example_config.json +104 -0
  180. moai_adk/templates/.claude/hooks/moai/lib/git_operations_manager.py +590 -0
  181. moai_adk/templates/.claude/hooks/moai/lib/language_validator.py +317 -0
  182. moai_adk/templates/.claude/hooks/moai/lib/models.py +102 -0
  183. moai_adk/templates/.claude/hooks/moai/lib/path_utils.py +28 -0
  184. moai_adk/templates/.claude/hooks/moai/lib/project.py +768 -0
  185. moai_adk/templates/.claude/hooks/moai/lib/test_hooks_improvements.py +443 -0
  186. moai_adk/templates/.claude/hooks/moai/lib/timeout.py +160 -0
  187. moai_adk/templates/.claude/hooks/moai/lib/unified_timeout_manager.py +530 -0
  188. moai_adk/templates/.claude/hooks/moai/session_end__auto_cleanup.py +862 -0
  189. moai_adk/templates/.claude/hooks/moai/session_start__show_project_info.py +1083 -0
  190. moai_adk/templates/.claude/output-styles/moai/r2d2.md +560 -0
  191. moai_adk/templates/.claude/output-styles/moai/yoda.md +359 -0
  192. moai_adk/templates/.claude/settings.json +172 -0
  193. moai_adk/templates/.claude/skills/moai-ai-nano-banana/SKILL.md +307 -0
  194. moai_adk/templates/.claude/skills/moai-ai-nano-banana/examples.md +431 -0
  195. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/batch_generate.py +560 -0
  196. moai_adk/templates/.claude/skills/moai-ai-nano-banana/scripts/generate_image.py +362 -0
  197. moai_adk/templates/.claude/skills/moai-docs-generation/SKILL.md +249 -0
  198. moai_adk/templates/.claude/skills/moai-docs-generation/examples.md +406 -0
  199. moai_adk/templates/.claude/skills/moai-docs-generation/modules/README.md +44 -0
  200. moai_adk/templates/.claude/skills/moai-docs-generation/modules/api-documentation.md +130 -0
  201. moai_adk/templates/.claude/skills/moai-docs-generation/modules/code-documentation.md +152 -0
  202. moai_adk/templates/.claude/skills/moai-docs-generation/modules/multi-format-output.md +178 -0
  203. moai_adk/templates/.claude/skills/moai-docs-generation/modules/user-guides.md +147 -0
  204. moai_adk/templates/.claude/skills/moai-docs-generation/reference.md +328 -0
  205. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +320 -0
  206. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +718 -0
  207. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +464 -0
  208. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +323 -0
  209. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +830 -0
  210. moai_adk/templates/.claude/skills/moai-domain-database/modules/README.md +53 -0
  211. moai_adk/templates/.claude/skills/moai-domain-database/modules/mongodb.md +231 -0
  212. moai_adk/templates/.claude/skills/moai-domain-database/modules/postgresql.md +169 -0
  213. moai_adk/templates/.claude/skills/moai-domain-database/modules/redis.md +262 -0
  214. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +545 -0
  215. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +497 -0
  216. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +968 -0
  217. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +664 -0
  218. moai_adk/templates/.claude/skills/moai-domain-uiux/SKILL.md +455 -0
  219. moai_adk/templates/.claude/skills/moai-domain-uiux/examples.md +560 -0
  220. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/accessibility-wcag.md +260 -0
  221. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/component-architecture.md +228 -0
  222. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/icon-libraries.md +401 -0
  223. moai_adk/templates/.claude/skills/moai-domain-uiux/modules/theming-system.md +373 -0
  224. moai_adk/templates/.claude/skills/moai-domain-uiux/reference.md +243 -0
  225. moai_adk/templates/.claude/skills/moai-formats-data/SKILL.md +492 -0
  226. moai_adk/templates/.claude/skills/moai-formats-data/examples.md +804 -0
  227. moai_adk/templates/.claude/skills/moai-formats-data/modules/README.md +98 -0
  228. moai_adk/templates/.claude/skills/moai-formats-data/modules/SKILL-MODULARIZATION-TEMPLATE.md +278 -0
  229. moai_adk/templates/.claude/skills/moai-formats-data/modules/caching-performance.md +459 -0
  230. moai_adk/templates/.claude/skills/moai-formats-data/modules/data-validation.md +485 -0
  231. moai_adk/templates/.claude/skills/moai-formats-data/modules/json-optimization.md +374 -0
  232. moai_adk/templates/.claude/skills/moai-formats-data/modules/toon-encoding.md +308 -0
  233. moai_adk/templates/.claude/skills/moai-formats-data/reference.md +585 -0
  234. moai_adk/templates/.claude/skills/moai-foundation-claude/SKILL.md +202 -0
  235. moai_adk/templates/.claude/skills/moai-foundation-claude/examples.md +732 -0
  236. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/best-practices-checklist.md +616 -0
  237. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-custom-slash-commands-official.md +729 -0
  238. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-hooks-official.md +560 -0
  239. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-iam-official.md +635 -0
  240. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-memory-official.md +543 -0
  241. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-settings-official.md +663 -0
  242. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-skills-official.md +113 -0
  243. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/claude-code-sub-agents-official.md +238 -0
  244. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/complete-configuration-guide.md +175 -0
  245. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-examples.md +1674 -0
  246. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/skill-formatting-guide.md +729 -0
  247. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-examples.md +1513 -0
  248. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-formatting-guide.md +1086 -0
  249. moai_adk/templates/.claude/skills/moai-foundation-claude/reference/sub-agents/sub-agent-integration-patterns.md +1100 -0
  250. moai_adk/templates/.claude/skills/moai-foundation-claude/reference.md +209 -0
  251. moai_adk/templates/.claude/skills/moai-foundation-context/SKILL.md +441 -0
  252. moai_adk/templates/.claude/skills/moai-foundation-context/examples.md +1048 -0
  253. moai_adk/templates/.claude/skills/moai-foundation-context/reference.md +246 -0
  254. moai_adk/templates/.claude/skills/moai-foundation-core/SKILL.md +420 -0
  255. moai_adk/templates/.claude/skills/moai-foundation-core/examples.md +358 -0
  256. moai_adk/templates/.claude/skills/moai-foundation-core/modules/README.md +296 -0
  257. moai_adk/templates/.claude/skills/moai-foundation-core/modules/agents-reference.md +359 -0
  258. moai_adk/templates/.claude/skills/moai-foundation-core/modules/commands-reference.md +432 -0
  259. moai_adk/templates/.claude/skills/moai-foundation-core/modules/delegation-patterns.md +757 -0
  260. moai_adk/templates/.claude/skills/moai-foundation-core/modules/execution-rules.md +687 -0
  261. moai_adk/templates/.claude/skills/moai-foundation-core/modules/modular-system.md +665 -0
  262. moai_adk/templates/.claude/skills/moai-foundation-core/modules/progressive-disclosure.md +649 -0
  263. moai_adk/templates/.claude/skills/moai-foundation-core/modules/spec-first-tdd.md +864 -0
  264. moai_adk/templates/.claude/skills/moai-foundation-core/modules/token-optimization.md +708 -0
  265. moai_adk/templates/.claude/skills/moai-foundation-core/modules/trust-5-framework.md +981 -0
  266. moai_adk/templates/.claude/skills/moai-foundation-core/reference.md +478 -0
  267. moai_adk/templates/.claude/skills/moai-foundation-philosopher/SKILL.md +315 -0
  268. moai_adk/templates/.claude/skills/moai-foundation-philosopher/examples.md +228 -0
  269. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/assumption-matrix.md +80 -0
  270. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/cognitive-bias.md +199 -0
  271. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/first-principles.md +140 -0
  272. moai_adk/templates/.claude/skills/moai-foundation-philosopher/modules/trade-off-analysis.md +154 -0
  273. moai_adk/templates/.claude/skills/moai-foundation-philosopher/reference.md +157 -0
  274. moai_adk/templates/.claude/skills/moai-foundation-quality/SKILL.md +364 -0
  275. moai_adk/templates/.claude/skills/moai-foundation-quality/examples.md +1232 -0
  276. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/best-practices.md +261 -0
  277. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/integration-patterns.md +194 -0
  278. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/proactive-analysis.md +229 -0
  279. moai_adk/templates/.claude/skills/moai-foundation-quality/modules/trust5-validation.md +169 -0
  280. moai_adk/templates/.claude/skills/moai-foundation-quality/reference.md +1266 -0
  281. moai_adk/templates/.claude/skills/moai-foundation-quality/scripts/quality-gate.sh +668 -0
  282. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/github-actions-quality.yml +481 -0
  283. moai_adk/templates/.claude/skills/moai-foundation-quality/templates/quality-config.yaml +519 -0
  284. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +649 -0
  285. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +478 -0
  286. moai_adk/templates/.claude/skills/moai-lang-elixir/SKILL.md +612 -0
  287. moai_adk/templates/.claude/skills/moai-lang-flutter/SKILL.md +477 -0
  288. moai_adk/templates/.claude/skills/moai-lang-flutter/examples.md +1090 -0
  289. moai_adk/templates/.claude/skills/moai-lang-flutter/reference.md +686 -0
  290. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +376 -0
  291. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +919 -0
  292. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +737 -0
  293. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +385 -0
  294. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +864 -0
  295. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +291 -0
  296. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +382 -0
  297. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +1006 -0
  298. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +562 -0
  299. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +644 -0
  300. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +481 -0
  301. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +977 -0
  302. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +804 -0
  303. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +579 -0
  304. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +687 -0
  305. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +372 -0
  306. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +659 -0
  307. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +504 -0
  308. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +497 -0
  309. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +633 -0
  310. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +423 -0
  311. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +497 -0
  312. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +918 -0
  313. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +672 -0
  314. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +368 -0
  315. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +1089 -0
  316. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +731 -0
  317. moai_adk/templates/.claude/skills/moai-library-mermaid/SKILL.md +300 -0
  318. moai_adk/templates/.claude/skills/moai-library-mermaid/advanced-patterns.md +465 -0
  319. moai_adk/templates/.claude/skills/moai-library-mermaid/examples.md +270 -0
  320. moai_adk/templates/.claude/skills/moai-library-mermaid/optimization.md +440 -0
  321. moai_adk/templates/.claude/skills/moai-library-mermaid/reference.md +228 -0
  322. moai_adk/templates/.claude/skills/moai-library-nextra/SKILL.md +319 -0
  323. moai_adk/templates/.claude/skills/moai-library-nextra/advanced-patterns.md +336 -0
  324. moai_adk/templates/.claude/skills/moai-library-nextra/examples.md +592 -0
  325. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-deployment-patterns.md +182 -0
  326. moai_adk/templates/.claude/skills/moai-library-nextra/modules/advanced-patterns.md +17 -0
  327. moai_adk/templates/.claude/skills/moai-library-nextra/modules/configuration.md +57 -0
  328. moai_adk/templates/.claude/skills/moai-library-nextra/modules/content-architecture-optimization.md +162 -0
  329. moai_adk/templates/.claude/skills/moai-library-nextra/modules/deployment.md +52 -0
  330. moai_adk/templates/.claude/skills/moai-library-nextra/modules/framework-core-configuration.md +186 -0
  331. moai_adk/templates/.claude/skills/moai-library-nextra/modules/i18n-setup.md +55 -0
  332. moai_adk/templates/.claude/skills/moai-library-nextra/modules/mdx-components.md +52 -0
  333. moai_adk/templates/.claude/skills/moai-library-nextra/optimization.md +303 -0
  334. moai_adk/templates/.claude/skills/moai-library-nextra/reference.md +379 -0
  335. moai_adk/templates/.claude/skills/moai-library-shadcn/SKILL.md +372 -0
  336. moai_adk/templates/.claude/skills/moai-library-shadcn/examples.md +575 -0
  337. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/advanced-patterns.md +394 -0
  338. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/optimization.md +278 -0
  339. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-components.md +457 -0
  340. moai_adk/templates/.claude/skills/moai-library-shadcn/modules/shadcn-theming.md +373 -0
  341. moai_adk/templates/.claude/skills/moai-library-shadcn/reference.md +74 -0
  342. moai_adk/templates/.claude/skills/moai-mcp-figma/SKILL.md +402 -0
  343. moai_adk/templates/.claude/skills/moai-mcp-figma/advanced-patterns.md +607 -0
  344. moai_adk/templates/.claude/skills/moai-mcp-notion/SKILL.md +300 -0
  345. moai_adk/templates/.claude/skills/moai-mcp-notion/advanced-patterns.md +537 -0
  346. moai_adk/templates/.claude/skills/moai-platform-auth0/SKILL.md +291 -0
  347. moai_adk/templates/.claude/skills/moai-platform-clerk/SKILL.md +390 -0
  348. moai_adk/templates/.claude/skills/moai-platform-convex/SKILL.md +398 -0
  349. moai_adk/templates/.claude/skills/moai-platform-firebase-auth/SKILL.md +379 -0
  350. moai_adk/templates/.claude/skills/moai-platform-firestore/SKILL.md +358 -0
  351. moai_adk/templates/.claude/skills/moai-platform-neon/SKILL.md +467 -0
  352. moai_adk/templates/.claude/skills/moai-platform-railway/SKILL.md +377 -0
  353. moai_adk/templates/.claude/skills/moai-platform-supabase/SKILL.md +466 -0
  354. moai_adk/templates/.claude/skills/moai-platform-vercel/SKILL.md +482 -0
  355. moai_adk/templates/.claude/skills/moai-plugin-builder/SKILL.md +474 -0
  356. moai_adk/templates/.claude/skills/moai-plugin-builder/examples.md +621 -0
  357. moai_adk/templates/.claude/skills/moai-plugin-builder/migration.md +341 -0
  358. moai_adk/templates/.claude/skills/moai-plugin-builder/reference.md +463 -0
  359. moai_adk/templates/.claude/skills/moai-plugin-builder/validation.md +373 -0
  360. moai_adk/templates/.claude/skills/moai-security-auth0/SKILL.md +275 -0
  361. moai_adk/templates/.claude/skills/moai-security-auth0/modules/adaptive-mfa.md +233 -0
  362. moai_adk/templates/.claude/skills/moai-security-auth0/modules/akamai-integration.md +215 -0
  363. moai_adk/templates/.claude/skills/moai-security-auth0/modules/application-credentials.md +280 -0
  364. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-log-events.md +225 -0
  365. moai_adk/templates/.claude/skills/moai-security-auth0/modules/attack-protection-overview.md +140 -0
  366. moai_adk/templates/.claude/skills/moai-security-auth0/modules/bot-detection.md +144 -0
  367. moai_adk/templates/.claude/skills/moai-security-auth0/modules/breached-password-detection.md +187 -0
  368. moai_adk/templates/.claude/skills/moai-security-auth0/modules/brute-force-protection.md +189 -0
  369. moai_adk/templates/.claude/skills/moai-security-auth0/modules/certifications.md +282 -0
  370. moai_adk/templates/.claude/skills/moai-security-auth0/modules/compliance-overview.md +263 -0
  371. moai_adk/templates/.claude/skills/moai-security-auth0/modules/continuous-session-protection.md +307 -0
  372. moai_adk/templates/.claude/skills/moai-security-auth0/modules/customize-mfa.md +178 -0
  373. moai_adk/templates/.claude/skills/moai-security-auth0/modules/dpop-implementation.md +283 -0
  374. moai_adk/templates/.claude/skills/moai-security-auth0/modules/fapi-implementation.md +259 -0
  375. moai_adk/templates/.claude/skills/moai-security-auth0/modules/gdpr-compliance.md +313 -0
  376. moai_adk/templates/.claude/skills/moai-security-auth0/modules/guardian-configuration.md +269 -0
  377. moai_adk/templates/.claude/skills/moai-security-auth0/modules/highly-regulated-identity.md +272 -0
  378. moai_adk/templates/.claude/skills/moai-security-auth0/modules/jwt-fundamentals.md +248 -0
  379. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mdl-verification.md +211 -0
  380. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-api-management.md +278 -0
  381. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-factors.md +226 -0
  382. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mfa-overview.md +174 -0
  383. moai_adk/templates/.claude/skills/moai-security-auth0/modules/mtls-sender-constraining.md +316 -0
  384. moai_adk/templates/.claude/skills/moai-security-auth0/modules/ropg-flow-mfa.md +217 -0
  385. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-center.md +325 -0
  386. moai_adk/templates/.claude/skills/moai-security-auth0/modules/security-guidance.md +277 -0
  387. moai_adk/templates/.claude/skills/moai-security-auth0/modules/state-parameters.md +178 -0
  388. moai_adk/templates/.claude/skills/moai-security-auth0/modules/step-up-authentication.md +251 -0
  389. moai_adk/templates/.claude/skills/moai-security-auth0/modules/suspicious-ip-throttling.md +240 -0
  390. moai_adk/templates/.claude/skills/moai-security-auth0/modules/tenant-access-control.md +180 -0
  391. moai_adk/templates/.claude/skills/moai-security-auth0/modules/webauthn-fido.md +235 -0
  392. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/SKILL.md +449 -0
  393. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/advanced-patterns.md +379 -0
  394. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/examples.md +544 -0
  395. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/optimization.md +286 -0
  396. moai_adk/templates/.claude/skills/moai-workflow-jit-docs/reference.md +307 -0
  397. moai_adk/templates/.claude/skills/moai-workflow-project/README.md +190 -0
  398. moai_adk/templates/.claude/skills/moai-workflow-project/SKILL.md +390 -0
  399. moai_adk/templates/.claude/skills/moai-workflow-project/__init__.py +520 -0
  400. moai_adk/templates/.claude/skills/moai-workflow-project/complete_workflow_demo_fixed.py +574 -0
  401. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_project_setup.py +317 -0
  402. moai_adk/templates/.claude/skills/moai-workflow-project/examples/complete_workflow_demo.py +663 -0
  403. moai_adk/templates/.claude/skills/moai-workflow-project/examples/config-migration-example.json +190 -0
  404. moai_adk/templates/.claude/skills/moai-workflow-project/examples/question-examples.json +175 -0
  405. moai_adk/templates/.claude/skills/moai-workflow-project/examples/quick_start.py +196 -0
  406. moai_adk/templates/.claude/skills/moai-workflow-project/examples.md +547 -0
  407. moai_adk/templates/.claude/skills/moai-workflow-project/modules/__init__.py +17 -0
  408. moai_adk/templates/.claude/skills/moai-workflow-project/modules/advanced-patterns.md +158 -0
  409. moai_adk/templates/.claude/skills/moai-workflow-project/modules/ask_user_integration.py +340 -0
  410. moai_adk/templates/.claude/skills/moai-workflow-project/modules/batch_questions.py +713 -0
  411. moai_adk/templates/.claude/skills/moai-workflow-project/modules/config_manager.py +538 -0
  412. moai_adk/templates/.claude/skills/moai-workflow-project/modules/documentation_manager.py +1336 -0
  413. moai_adk/templates/.claude/skills/moai-workflow-project/modules/language_initializer.py +730 -0
  414. moai_adk/templates/.claude/skills/moai-workflow-project/modules/migration_manager.py +608 -0
  415. moai_adk/templates/.claude/skills/moai-workflow-project/modules/template_optimizer.py +1005 -0
  416. moai_adk/templates/.claude/skills/moai-workflow-project/reference.md +275 -0
  417. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/config-schema.json +316 -0
  418. moai_adk/templates/.claude/skills/moai-workflow-project/schemas/tab_schema.json +1434 -0
  419. moai_adk/templates/.claude/skills/moai-workflow-project/templates/config-template.json +71 -0
  420. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/product-template.md +44 -0
  421. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/structure-template.md +48 -0
  422. moai_adk/templates/.claude/skills/moai-workflow-project/templates/doc-templates/tech-template.md +92 -0
  423. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/config-manager-setup.json +109 -0
  424. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/language-initializer.json +228 -0
  425. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/menu-project-config.json +130 -0
  426. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/project-batch-questions.json +97 -0
  427. moai_adk/templates/.claude/skills/moai-workflow-project/templates/question-templates/spec-workflow-setup.json +150 -0
  428. moai_adk/templates/.claude/skills/moai-workflow-project/test_integration_simple.py +436 -0
  429. moai_adk/templates/.claude/skills/moai-workflow-spec/SKILL.md +534 -0
  430. moai_adk/templates/.claude/skills/moai-workflow-spec/examples.md +900 -0
  431. moai_adk/templates/.claude/skills/moai-workflow-spec/reference.md +704 -0
  432. moai_adk/templates/.claude/skills/moai-workflow-templates/SKILL.md +377 -0
  433. moai_adk/templates/.claude/skills/moai-workflow-templates/examples.md +552 -0
  434. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/code-templates.md +124 -0
  435. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/feedback-templates.md +100 -0
  436. moai_adk/templates/.claude/skills/moai-workflow-templates/modules/template-optimizer.md +138 -0
  437. moai_adk/templates/.claude/skills/moai-workflow-templates/reference.md +346 -0
  438. moai_adk/templates/.claude/skills/moai-workflow-testing/LICENSE.txt +202 -0
  439. moai_adk/templates/.claude/skills/moai-workflow-testing/SKILL.md +456 -0
  440. moai_adk/templates/.claude/skills/moai-workflow-testing/advanced-patterns.md +576 -0
  441. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/ai-powered-testing.py +294 -0
  442. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/console_logging.py +35 -0
  443. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/element_discovery.py +40 -0
  444. moai_adk/templates/.claude/skills/moai-workflow-testing/examples/static_html_automation.py +34 -0
  445. moai_adk/templates/.claude/skills/moai-workflow-testing/examples.md +672 -0
  446. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/README.md +220 -0
  447. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/ai-debugging.md +845 -0
  448. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/automated-code-review.md +1416 -0
  449. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/performance-optimization.md +1234 -0
  450. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/smart-refactoring.md +1243 -0
  451. moai_adk/templates/.claude/skills/moai-workflow-testing/modules/tdd-context7.md +1260 -0
  452. moai_adk/templates/.claude/skills/moai-workflow-testing/optimization.md +505 -0
  453. moai_adk/templates/.claude/skills/moai-workflow-testing/reference/playwright-best-practices.md +57 -0
  454. moai_adk/templates/.claude/skills/moai-workflow-testing/reference.md +440 -0
  455. moai_adk/templates/.claude/skills/moai-workflow-testing/scripts/with_server.py +218 -0
  456. moai_adk/templates/.claude/skills/moai-workflow-testing/templates/alfred-integration.md +376 -0
  457. moai_adk/templates/.claude/skills/moai-workflow-testing/workflows/enterprise-testing-workflow.py +571 -0
  458. moai_adk/templates/.claude/skills/moai-worktree/SKILL.md +411 -0
  459. moai_adk/templates/.claude/skills/moai-worktree/examples.md +606 -0
  460. moai_adk/templates/.claude/skills/moai-worktree/modules/integration-patterns.md +982 -0
  461. moai_adk/templates/.claude/skills/moai-worktree/modules/parallel-development.md +778 -0
  462. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-commands.md +646 -0
  463. moai_adk/templates/.claude/skills/moai-worktree/modules/worktree-management.md +782 -0
  464. moai_adk/templates/.claude/skills/moai-worktree/reference.md +357 -0
  465. moai_adk/templates/.git-hooks/pre-commit +128 -0
  466. moai_adk/templates/.git-hooks/pre-push +365 -0
  467. moai_adk/templates/.github/workflows/ci-universal.yml +513 -0
  468. moai_adk/templates/.github/workflows/security-secrets-check.yml +179 -0
  469. moai_adk/templates/.github/workflows/spec-issue-sync.yml +337 -0
  470. moai_adk/templates/.gitignore +222 -0
  471. moai_adk/templates/.mcp.json +13 -0
  472. moai_adk/templates/.moai/config/config.yaml +58 -0
  473. moai_adk/templates/.moai/config/questions/_schema.yaml +174 -0
  474. moai_adk/templates/.moai/config/questions/tab0-init.yaml +251 -0
  475. moai_adk/templates/.moai/config/questions/tab1-user.yaml +107 -0
  476. moai_adk/templates/.moai/config/questions/tab2-project.yaml +79 -0
  477. moai_adk/templates/.moai/config/questions/tab3-git.yaml +632 -0
  478. moai_adk/templates/.moai/config/questions/tab4-quality.yaml +182 -0
  479. moai_adk/templates/.moai/config/questions/tab5-system.yaml +96 -0
  480. moai_adk/templates/.moai/config/sections/git-strategy.yaml +116 -0
  481. moai_adk/templates/.moai/config/sections/language.yaml +11 -0
  482. moai_adk/templates/.moai/config/sections/project.yaml +13 -0
  483. moai_adk/templates/.moai/config/sections/quality.yaml +17 -0
  484. moai_adk/templates/.moai/config/sections/system.yaml +24 -0
  485. moai_adk/templates/.moai/config/sections/user.yaml +5 -0
  486. moai_adk/templates/.moai/config/statusline-config.yaml +92 -0
  487. moai_adk/templates/.moai/scripts/setup-glm.py +136 -0
  488. moai_adk/templates/CLAUDE.md +642 -0
  489. moai_adk/utils/__init__.py +30 -0
  490. moai_adk/utils/banner.py +38 -0
  491. moai_adk/utils/common.py +294 -0
  492. moai_adk/utils/link_validator.py +241 -0
  493. moai_adk/utils/logger.py +147 -0
  494. moai_adk/utils/safe_file_reader.py +206 -0
  495. moai_adk/utils/timeout.py +160 -0
  496. moai_adk/utils/toon_utils.py +256 -0
  497. moai_adk/version.py +22 -0
  498. moai_adk-0.35.1.dist-info/METADATA +3018 -0
  499. moai_adk-0.35.1.dist-info/RECORD +502 -0
  500. moai_adk-0.35.1.dist-info/WHEEL +4 -0
  501. moai_adk-0.35.1.dist-info/entry_points.txt +3 -0
  502. moai_adk-0.35.1.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,607 @@
1
+ # Figma MCP Advanced Patterns
2
+
3
+ 완전한 Design-to-Code 파이프라인, 컴포넌트 변형 처리, Figma Variables 변환, 실시간 동기화, 디자인 시스템 검증을 위한 고급 패턴 가이드입니다.
4
+
5
+ ---
6
+
7
+ ## Complete Design-to-Code Pipeline
8
+
9
+ ### 전체 워크플로우 자동화
10
+
11
+ ```python
12
+ async def complete_design_to_code_pipeline(
13
+ figma_file_id: str,
14
+ target_framework: str = "react",
15
+ target_library: str = "shadcn"
16
+ ):
17
+ """Figma에서 프로덕션 코드까지 완전 자동화 파이프라인."""
18
+
19
+ # Phase 1: 디자인 토큰 추출 및 동기화
20
+ design_tokens = await figma_server.invoke_tool("sync_figma_tokens", {
21
+ "file_id": figma_file_id,
22
+ "token_types": ["colors", "typography", "spacing", "effects"],
23
+ "output_format": "typescript"
24
+ })
25
+
26
+ # Phase 2: 컴포넌트 메타데이터 추출
27
+ components = await figma_server.invoke_tool("extract_figma_components", {
28
+ "file_id": figma_file_id,
29
+ "include_variants": True,
30
+ "include_instances": True
31
+ })
32
+
33
+ # Phase 3: 각 컴포넌트를 코드로 변환
34
+ generated_components = []
35
+ for component in components["components"]:
36
+ code = await figma_server.invoke_tool("generate_react_component", {
37
+ "file_id": figma_file_id,
38
+ "component_id": component["id"],
39
+ "target_library": target_library,
40
+ "include_typescript": True,
41
+ "include_stories": True,
42
+ "include_tests": True
43
+ })
44
+ generated_components.append(code)
45
+
46
+ # Phase 4: 자산 추출 및 최적화
47
+ assets = await figma_server.invoke_tool("export_all_assets", {
48
+ "file_id": figma_file_id,
49
+ "optimize": True,
50
+ "output_directory": "./src/assets"
51
+ })
52
+
53
+ # Phase 5: 디자인 시스템 문서 생성
54
+ documentation = await figma_server.invoke_tool("generate_design_system_docs", {
55
+ "file_id": figma_file_id,
56
+ "components": components,
57
+ "tokens": design_tokens,
58
+ "include_examples": True
59
+ })
60
+
61
+ return {
62
+ "design_tokens": design_tokens,
63
+ "components": generated_components,
64
+ "assets": assets,
65
+ "documentation": documentation,
66
+ "pipeline_status": "completed"
67
+ }
68
+ ```
69
+
70
+ ### 병렬 처리를 통한 성능 최적화
71
+
72
+ ```python
73
+ import asyncio
74
+
75
+ async def optimized_pipeline(figma_file_id: str):
76
+ """병렬 처리를 통한 성능 최적화 파이프라인."""
77
+
78
+ # 병렬로 독립적인 작업 실행
79
+ tokens_task = figma_server.invoke_tool("sync_figma_tokens", {
80
+ "file_id": figma_file_id,
81
+ "token_types": ["colors", "typography", "spacing"]
82
+ })
83
+
84
+ components_task = figma_server.invoke_tool("extract_figma_components", {
85
+ "file_id": figma_file_id,
86
+ "include_variants": True
87
+ })
88
+
89
+ assets_task = figma_server.invoke_tool("export_all_assets", {
90
+ "file_id": figma_file_id,
91
+ "optimize": True
92
+ })
93
+
94
+ # 모든 작업 동시 실행
95
+ tokens, components, assets = await asyncio.gather(
96
+ tokens_task,
97
+ components_task,
98
+ assets_task
99
+ )
100
+
101
+ # 순차적으로 컴포넌트 생성 (토큰 정보 필요)
102
+ generated = []
103
+ for comp in components["components"]:
104
+ code = await figma_server.invoke_tool("generate_react_component", {
105
+ "file_id": figma_file_id,
106
+ "component_id": comp["id"],
107
+ "design_tokens": tokens # 추출된 토큰 사용
108
+ })
109
+ generated.append(code)
110
+
111
+ return {
112
+ "tokens": tokens,
113
+ "components": generated,
114
+ "assets": assets
115
+ }
116
+ ```
117
+
118
+ ---
119
+
120
+ ## Component Variants Processing
121
+
122
+ ### Component Set에서 모든 변형 추출
123
+
124
+ ```python
125
+ # Button Component Set의 모든 변형 추출
126
+ button_variants = await figma_server.invoke_tool("extract_component_variants", {
127
+ "file_id": file_id,
128
+ "component_set_id": "123:456", # Component Set ID
129
+ "generate_union_types": True
130
+ })
131
+
132
+ # TypeScript 유니온 타입 생성:
133
+ # export type ButtonVariant = 'primary' | 'secondary' | 'outline';
134
+ # export type ButtonSize = 'sm' | 'md' | 'lg';
135
+ ```
136
+
137
+ ### 변형 조합을 Props로 변환
138
+
139
+ ```python
140
+ # 모든 변형 조합을 컴포넌트 Props로 변환
141
+ component_with_variants = await figma_server.invoke_tool("generate_component_with_variants", {
142
+ "file_id": file_id,
143
+ "component_set_id": "123:456",
144
+ "target_framework": "react",
145
+ "prop_mapping": {
146
+ "Variant": "variant",
147
+ "Size": "size",
148
+ "State": "state"
149
+ }
150
+ })
151
+
152
+ # 생성된 컴포넌트:
153
+ # export interface ButtonProps {
154
+ # variant?: 'primary' | 'secondary' | 'outline';
155
+ # size?: 'sm' | 'md' | 'lg';
156
+ # state?: 'default' | 'hover' | 'disabled';
157
+ # }
158
+ ```
159
+
160
+ ### 변형별 스타일 자동 생성
161
+
162
+ ```python
163
+ async def generate_variant_styles(component_set_id: str):
164
+ """Component Set의 모든 변형에 대한 스타일 생성."""
165
+
166
+ # 변형 데이터 추출
167
+ variants = await figma_server.invoke_tool("extract_component_variants", {
168
+ "file_id": file_id,
169
+ "component_set_id": component_set_id,
170
+ "include_styles": True
171
+ })
172
+
173
+ # Tailwind CSS 변형 생성
174
+ tailwind_variants = await figma_server.invoke_tool("generate_tailwind_variants", {
175
+ "variants": variants,
176
+ "output_format": "cva" # class-variance-authority
177
+ })
178
+
179
+ # 생성된 CVA 설정:
180
+ # const buttonVariants = cva(
181
+ # "base-button-classes",
182
+ # {
183
+ # variants: {
184
+ # variant: {
185
+ # primary: "bg-blue-500 text-white",
186
+ # secondary: "bg-gray-500 text-white",
187
+ # outline: "border border-gray-300"
188
+ # },
189
+ # size: {
190
+ # sm: "px-3 py-1.5 text-sm",
191
+ # md: "px-4 py-2 text-base",
192
+ # lg: "px-6 py-3 text-lg"
193
+ # }
194
+ # }
195
+ # }
196
+ # )
197
+
198
+ return tailwind_variants
199
+ ```
200
+
201
+ ---
202
+
203
+ ## Figma Variables to Design Tokens
204
+
205
+ ### Variables 추출 및 변환
206
+
207
+ ```python
208
+ # Figma Variables (색상, 숫자, 문자열 등) 추출
209
+ variables = await figma_server.invoke_tool("extract_figma_variables", {
210
+ "file_id": file_id,
211
+ "variable_collections": ["Colors", "Spacing", "Typography"],
212
+ "include_modes": True # Light/Dark 모드 포함
213
+ })
214
+
215
+ # 결과 구조:
216
+ # {
217
+ # "Colors": {
218
+ # "modes": ["Light", "Dark"],
219
+ # "variables": {
220
+ # "primary": {
221
+ # "Light": "#3b82f6",
222
+ # "Dark": "#60a5fa"
223
+ # }
224
+ # }
225
+ # }
226
+ # }
227
+ ```
228
+
229
+ ### 테마별 토큰 생성
230
+
231
+ ```python
232
+ # Light/Dark 테마별 CSS 변수 생성
233
+ themed_tokens = await figma_server.invoke_tool("generate_themed_tokens", {
234
+ "variables": variables,
235
+ "output_format": "css",
236
+ "theme_selector": "data-theme"
237
+ })
238
+
239
+ # 생성된 CSS:
240
+ # [data-theme="light"] {
241
+ # --color-primary: #3b82f6;
242
+ # }
243
+ # [data-theme="dark"] {
244
+ # --color-primary: #60a5fa;
245
+ # }
246
+ ```
247
+
248
+ ### 시맨틱 토큰 시스템 구축
249
+
250
+ ```python
251
+ async def build_semantic_token_system(file_id: str):
252
+ """Figma Variables에서 시맨틱 토큰 시스템 구축."""
253
+
254
+ # 프리미티브 토큰 추출 (기본 색상, 간격 등)
255
+ primitive_tokens = await figma_server.invoke_tool("extract_figma_variables", {
256
+ "file_id": file_id,
257
+ "variable_collections": ["Primitives"],
258
+ "token_type": "primitive"
259
+ })
260
+
261
+ # 시맨틱 토큰 추출 (버튼 색상, 텍스트 색상 등)
262
+ semantic_tokens = await figma_server.invoke_tool("extract_figma_variables", {
263
+ "file_id": file_id,
264
+ "variable_collections": ["Semantic"],
265
+ "token_type": "semantic",
266
+ "reference_primitives": primitive_tokens
267
+ })
268
+
269
+ # 계층적 토큰 시스템 생성
270
+ token_system = await figma_server.invoke_tool("generate_token_system", {
271
+ "primitives": primitive_tokens,
272
+ "semantics": semantic_tokens,
273
+ "output_formats": ["css", "scss", "typescript", "json"]
274
+ })
275
+
276
+ return token_system
277
+ ```
278
+
279
+ ---
280
+
281
+ ## Real-time Sync and Webhooks
282
+
283
+ ### Figma 파일 변경 감지
284
+
285
+ ```python
286
+ # 파일 버전 추적
287
+ version_history = await figma_server.invoke_tool("get_file_versions", {
288
+ "file_id": file_id
289
+ })
290
+
291
+ # 최신 변경 사항 확인
292
+ latest_changes = await figma_server.invoke_tool("check_file_changes", {
293
+ "file_id": file_id,
294
+ "since_version": "last_sync_version"
295
+ })
296
+
297
+ # 변경된 컴포넌트만 재생성
298
+ if latest_changes["has_changes"]:
299
+ updated_components = await figma_server.invoke_tool("sync_changed_components", {
300
+ "file_id": file_id,
301
+ "changed_nodes": latest_changes["changed_nodes"]
302
+ })
303
+ ```
304
+
305
+ ### 자동 동기화 워크플로우
306
+
307
+ ```python
308
+ import asyncio
309
+ from datetime import datetime
310
+
311
+ async def auto_sync_workflow(file_id: str, check_interval: int = 300):
312
+ """자동 동기화 워크플로우 (5분마다 체크)."""
313
+
314
+ last_version = None
315
+
316
+ while True:
317
+ try:
318
+ # 최신 버전 확인
319
+ current_version = await figma_server.invoke_tool("get_current_version", {
320
+ "file_id": file_id
321
+ })
322
+
323
+ # 버전 변경 감지
324
+ if last_version and current_version != last_version:
325
+ print(f"[{datetime.now()}] New version detected: {current_version}")
326
+
327
+ # 변경 사항 추출
328
+ changes = await figma_server.invoke_tool("get_version_diff", {
329
+ "file_id": file_id,
330
+ "from_version": last_version,
331
+ "to_version": current_version
332
+ })
333
+
334
+ # 변경된 컴포넌트 재생성
335
+ if changes["components"]:
336
+ await regenerate_components(file_id, changes["components"])
337
+
338
+ # 변경된 토큰 재동기화
339
+ if changes["styles"]:
340
+ await resync_design_tokens(file_id)
341
+
342
+ last_version = current_version
343
+
344
+ except Exception as e:
345
+ print(f"Sync error: {e}")
346
+
347
+ # 다음 체크까지 대기
348
+ await asyncio.sleep(check_interval)
349
+ ```
350
+
351
+ ### GitHub Actions 통합
352
+
353
+ ```yaml
354
+ # .github/workflows/figma-sync.yml
355
+ name: Figma Design Sync
356
+
357
+ on:
358
+ schedule:
359
+ - cron: '0 */6 * * *' # 6시간마다 실행
360
+ workflow_dispatch: # 수동 실행 가능
361
+
362
+ jobs:
363
+ sync:
364
+ runs-on: ubuntu-latest
365
+ steps:
366
+ - uses: actions/checkout@v4
367
+
368
+ - name: Setup Python
369
+ uses: actions/setup-python@v4
370
+ with:
371
+ python-version: '3.11'
372
+
373
+ - name: Install dependencies
374
+ run: pip install moai-mcp-figma
375
+
376
+ - name: Sync Figma Design System
377
+ env:
378
+ FIGMA_TOKEN: ${{ secrets.FIGMA_TOKEN }}
379
+ run: python scripts/sync-figma.py
380
+
381
+ - name: Create Pull Request
382
+ uses: peter-evans/create-pull-request@v5
383
+ with:
384
+ title: 'chore: Sync Figma design system'
385
+ body: 'Automated Figma design system synchronization'
386
+ branch: figma-sync-${{ github.run_id }}
387
+ ```
388
+
389
+ ---
390
+
391
+ ## Design System Validation
392
+
393
+ ### 디자인 시스템 일관성 검사
394
+
395
+ ```python
396
+ # 디자인 토큰 일관성 검증
397
+ validation = await figma_server.invoke_tool("validate_design_system", {
398
+ "file_id": file_id,
399
+ "rules": [
400
+ "consistent_spacing",
401
+ "consistent_colors",
402
+ "component_naming",
403
+ "variant_completeness"
404
+ ]
405
+ })
406
+
407
+ # 검증 결과:
408
+ # {
409
+ # "errors": [
410
+ # {
411
+ # "rule": "consistent_spacing",
412
+ # "message": "Non-standard spacing found: 13px",
413
+ # "node_id": "123:456"
414
+ # }
415
+ # ],
416
+ # "warnings": [...],
417
+ # "passed": false
418
+ # }
419
+ ```
420
+
421
+ ### 커스텀 검증 규칙
422
+
423
+ ```python
424
+ async def validate_with_custom_rules(file_id: str):
425
+ """커스텀 검증 규칙을 사용한 디자인 시스템 검증."""
426
+
427
+ custom_rules = {
428
+ "color_contrast": {
429
+ "type": "accessibility",
430
+ "min_ratio": 4.5, # WCAG AA 기준
431
+ "check_text_on_background": True
432
+ },
433
+ "spacing_scale": {
434
+ "type": "consistency",
435
+ "allowed_values": [4, 8, 12, 16, 24, 32, 48, 64],
436
+ "tolerance": 0 # 정확히 일치해야 함
437
+ },
438
+ "component_naming": {
439
+ "type": "convention",
440
+ "pattern": r"^[A-Z][a-zA-Z]+(/[A-Z][a-zA-Z]+)*$",
441
+ "examples": ["Button/Primary", "Card/Header"]
442
+ }
443
+ }
444
+
445
+ validation_result = await figma_server.invoke_tool("validate_with_rules", {
446
+ "file_id": file_id,
447
+ "custom_rules": custom_rules,
448
+ "generate_report": True
449
+ })
450
+
451
+ return validation_result
452
+ ```
453
+
454
+ ---
455
+
456
+ ## Advanced Component Generation Strategies
457
+
458
+ ### 복합 컴포넌트 생성
459
+
460
+ ```python
461
+ # 중첩된 컴포넌트 구조 생성
462
+ complex_component = await figma_server.invoke_tool("generate_complex_component", {
463
+ "file_id": file_id,
464
+ "component_id": "123:456",
465
+ "resolve_nested": True, # 중첩 컴포넌트 자동 해결
466
+ "extract_subcomponents": True, # 하위 컴포넌트 별도 추출
467
+ "target_framework": "react"
468
+ })
469
+
470
+ # 생성된 구조:
471
+ # components/
472
+ # ├── Card.tsx (메인 컴포넌트)
473
+ # ├── CardHeader.tsx (서브 컴포넌트)
474
+ # ├── CardContent.tsx (서브 컴포넌트)
475
+ # └── CardFooter.tsx (서브 컴포넌트)
476
+ ```
477
+
478
+ ### 반응형 컴포넌트 생성
479
+
480
+ ```python
481
+ # Figma의 반응형 제약을 CSS로 변환
482
+ responsive_component = await figma_server.invoke_tool("generate_responsive_component", {
483
+ "file_id": file_id,
484
+ "component_id": "123:456",
485
+ "breakpoints": {
486
+ "mobile": 375,
487
+ "tablet": 768,
488
+ "desktop": 1440
489
+ },
490
+ "responsive_strategy": "container-queries" # container-queries 또는 media-queries
491
+ })
492
+ ```
493
+
494
+ ### AI 기반 컴포넌트 최적화
495
+
496
+ ```python
497
+ async def ai_optimized_component_generation(file_id: str, component_id: str):
498
+ """AI를 활용한 컴포넌트 생성 및 최적화."""
499
+
500
+ # 1. 기본 컴포넌트 생성
501
+ base_component = await figma_server.invoke_tool("generate_react_component", {
502
+ "file_id": file_id,
503
+ "component_id": component_id
504
+ })
505
+
506
+ # 2. AI를 통한 접근성 개선
507
+ accessible_component = await figma_server.invoke_tool("enhance_accessibility", {
508
+ "component_code": base_component,
509
+ "wcag_level": "AA",
510
+ "add_aria_labels": True,
511
+ "keyboard_navigation": True
512
+ })
513
+
514
+ # 3. AI를 통한 성능 최적화
515
+ optimized_component = await figma_server.invoke_tool("optimize_performance", {
516
+ "component_code": accessible_component,
517
+ "lazy_loading": True,
518
+ "code_splitting": True,
519
+ "bundle_size_target": "10kb"
520
+ })
521
+
522
+ # 4. AI를 통한 테스트 생성
523
+ with_tests = await figma_server.invoke_tool("generate_tests", {
524
+ "component_code": optimized_component,
525
+ "test_framework": "vitest",
526
+ "coverage_target": 90
527
+ })
528
+
529
+ return with_tests
530
+ ```
531
+
532
+ ---
533
+
534
+ ## Performance Optimization
535
+
536
+ ### 캐싱 전략
537
+
538
+ ```python
539
+ from functools import lru_cache
540
+ import hashlib
541
+
542
+ class FigmaCacheManager:
543
+ def __init__(self):
544
+ self.cache = {}
545
+
546
+ def get_cache_key(self, file_id: str, node_id: str, version: str):
547
+ """캐시 키 생성."""
548
+ key = f"{file_id}:{node_id}:{version}"
549
+ return hashlib.sha256(key.encode()).hexdigest()
550
+
551
+ async def get_or_fetch_component(self, file_id: str, node_id: str):
552
+ """캐시에서 컴포넌트 가져오기 또는 Figma에서 추출."""
553
+
554
+ # 현재 버전 확인
555
+ version = await figma_server.invoke_tool("get_current_version", {
556
+ "file_id": file_id
557
+ })
558
+
559
+ cache_key = self.get_cache_key(file_id, node_id, version)
560
+
561
+ # 캐시 확인
562
+ if cache_key in self.cache:
563
+ return self.cache[cache_key]
564
+
565
+ # Figma에서 추출
566
+ component = await figma_server.invoke_tool("extract_component", {
567
+ "file_id": file_id,
568
+ "node_id": node_id
569
+ })
570
+
571
+ # 캐시 저장
572
+ self.cache[cache_key] = component
573
+
574
+ return component
575
+ ```
576
+
577
+ ### 배치 처리
578
+
579
+ ```python
580
+ async def batch_component_generation(file_id: str, component_ids: list):
581
+ """여러 컴포넌트를 배치로 처리."""
582
+
583
+ # 컴포넌트를 그룹으로 나누기 (한 번에 10개씩)
584
+ batch_size = 10
585
+ batches = [component_ids[i:i+batch_size] for i in range(0, len(component_ids), batch_size)]
586
+
587
+ all_components = []
588
+
589
+ for batch in batches:
590
+ # 각 배치를 병렬로 처리
591
+ tasks = [
592
+ figma_server.invoke_tool("generate_react_component", {
593
+ "file_id": file_id,
594
+ "component_id": comp_id
595
+ })
596
+ for comp_id in batch
597
+ ]
598
+
599
+ batch_results = await asyncio.gather(*tasks)
600
+ all_components.extend(batch_results)
601
+
602
+ return all_components
603
+ ```
604
+
605
+ ---
606
+
607
+ *이 문서는 Figma MCP 통합의 고급 패턴을 다룹니다. 기본 사용법은 SKILL.md를 참조하세요.*