moai-adk 0.11.0__py3-none-any.whl → 0.12.0__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 (268) hide show
  1. moai_adk/core/issue_creator.py +2 -2
  2. moai_adk/core/project/detector.py +195 -12
  3. moai_adk/core/tags/ci_validator.py +1 -1
  4. moai_adk/core/tags/pre_commit_validator.py +1 -1
  5. moai_adk/core/tags/validator.py +1 -1
  6. moai_adk/templates/.claude/agents/alfred/cc-manager.md +316 -0
  7. moai_adk/templates/.claude/agents/alfred/debug-helper.md +208 -0
  8. moai_adk/templates/.claude/agents/alfred/doc-syncer.md +214 -0
  9. moai_adk/templates/.claude/agents/alfred/git-manager.md +406 -0
  10. moai_adk/templates/.claude/agents/alfred/implementation-planner.md +350 -0
  11. moai_adk/templates/.claude/agents/alfred/project-manager.md +273 -0
  12. moai_adk/templates/.claude/agents/alfred/quality-gate.md +343 -0
  13. moai_adk/templates/.claude/agents/alfred/skill-factory.md +865 -0
  14. moai_adk/templates/.claude/agents/alfred/spec-builder.md +287 -0
  15. moai_adk/templates/.claude/agents/alfred/tag-agent.md +287 -0
  16. moai_adk/templates/.claude/agents/alfred/tdd-implementer.md +326 -0
  17. moai_adk/templates/.claude/agents/alfred/trust-checker.md +375 -0
  18. moai_adk/templates/.claude/commands/alfred/0-project.md +1275 -0
  19. moai_adk/templates/.claude/commands/alfred/1-plan.md +734 -0
  20. moai_adk/templates/.claude/commands/alfred/2-run.md +551 -0
  21. moai_adk/templates/.claude/commands/alfred/3-sync.md +689 -0
  22. moai_adk/templates/.claude/commands/alfred/9-feedback.md +149 -0
  23. moai_adk/templates/.claude/hooks/alfred/alfred_hooks.py +206 -0
  24. moai_adk/templates/.claude/hooks/alfred/core/project.py +742 -0
  25. moai_adk/templates/.claude/hooks/alfred/core/timeout.py +136 -0
  26. moai_adk/templates/.claude/hooks/alfred/core/ttl_cache.py +108 -0
  27. moai_adk/templates/.claude/hooks/alfred/core/version_cache.py +198 -0
  28. moai_adk/templates/.claude/hooks/alfred/notification__handle_events.py +95 -0
  29. moai_adk/templates/.claude/hooks/alfred/post_tool__log_changes.py +95 -0
  30. moai_adk/templates/.claude/hooks/alfred/pre_tool__auto_checkpoint.py +101 -0
  31. moai_adk/templates/.claude/hooks/alfred/session_end__cleanup.py +95 -0
  32. moai_adk/templates/.claude/hooks/alfred/session_start__show_project_info.py +97 -0
  33. moai_adk/templates/.claude/hooks/alfred/shared/core/__init__.py +170 -0
  34. moai_adk/templates/.claude/hooks/alfred/shared/core/checkpoint.py +271 -0
  35. moai_adk/templates/.claude/hooks/alfred/shared/core/context.py +67 -0
  36. moai_adk/templates/.claude/hooks/alfred/shared/core/project.py +749 -0
  37. moai_adk/templates/.claude/hooks/alfred/shared/core/tags.py +230 -0
  38. moai_adk/templates/.claude/hooks/alfred/shared/core/version_cache.py +198 -0
  39. moai_adk/templates/.claude/hooks/alfred/shared/handlers/__init__.py +21 -0
  40. moai_adk/templates/.claude/hooks/alfred/shared/handlers/notification.py +154 -0
  41. moai_adk/templates/.claude/hooks/alfred/shared/handlers/session.py +174 -0
  42. moai_adk/templates/.claude/hooks/alfred/shared/handlers/tool.py +87 -0
  43. moai_adk/templates/.claude/hooks/alfred/shared/handlers/user.py +61 -0
  44. moai_adk/templates/.claude/hooks/alfred/stop__handle_interrupt.py +95 -0
  45. moai_adk/templates/.claude/hooks/alfred/subagent_stop__handle_subagent_end.py +95 -0
  46. moai_adk/templates/.claude/hooks/alfred/user_prompt__jit_load_docs.py +111 -0
  47. moai_adk/templates/.claude/hooks/alfred/utils/__init__.py +1 -0
  48. moai_adk/templates/.claude/hooks/alfred/utils/timeout.py +136 -0
  49. moai_adk/templates/.claude/output-styles/alfred/agentic-coding.md +640 -0
  50. moai_adk/templates/.claude/output-styles/alfred/moai-adk-learning.md +696 -0
  51. moai_adk/templates/.claude/output-styles/alfred/study-with-alfred.md +474 -0
  52. moai_adk/templates/.claude/settings.json +144 -0
  53. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/SKILL.md +113 -0
  54. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/examples.md +29 -0
  55. moai_adk/templates/.claude/skills/moai-alfred-ears-authoring/reference.md +28 -0
  56. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/SKILL.md +122 -0
  57. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/examples.md +29 -0
  58. moai_adk/templates/.claude/skills/moai-alfred-git-workflow/reference.md +29 -0
  59. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/SKILL.md +237 -0
  60. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/examples.md +615 -0
  61. moai_adk/templates/.claude/skills/moai-alfred-interactive-questions/reference.md +653 -0
  62. moai_adk/templates/.claude/skills/moai-alfred-language-detection/SKILL.md +113 -0
  63. moai_adk/templates/.claude/skills/moai-alfred-language-detection/examples.md +29 -0
  64. moai_adk/templates/.claude/skills/moai-alfred-language-detection/reference.md +28 -0
  65. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/SKILL.md +113 -0
  66. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/examples.md +29 -0
  67. moai_adk/templates/.claude/skills/moai-alfred-spec-metadata-validation/reference.md +28 -0
  68. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/SKILL.md +113 -0
  69. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/examples.md +29 -0
  70. moai_adk/templates/.claude/skills/moai-alfred-tag-scanning/reference.md +28 -0
  71. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/SKILL.md +113 -0
  72. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/examples.md +29 -0
  73. moai_adk/templates/.claude/skills/moai-alfred-trust-validation/reference.md +28 -0
  74. moai_adk/templates/.claude/skills/moai-cc-agents/SKILL.md +269 -0
  75. moai_adk/templates/.claude/skills/moai-cc-agents/templates/agent-template.md +32 -0
  76. moai_adk/templates/.claude/skills/moai-cc-claude-md/SKILL.md +298 -0
  77. moai_adk/templates/.claude/skills/moai-cc-claude-md/templates/CLAUDE-template.md +26 -0
  78. moai_adk/templates/.claude/skills/moai-cc-commands/SKILL.md +307 -0
  79. moai_adk/templates/.claude/skills/moai-cc-commands/templates/command-template.md +21 -0
  80. moai_adk/templates/.claude/skills/moai-cc-hooks/SKILL.md +252 -0
  81. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/pre-bash-check.sh +19 -0
  82. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/preserve-permissions.sh +19 -0
  83. moai_adk/templates/.claude/skills/moai-cc-hooks/scripts/validate-bash-command.py +24 -0
  84. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/SKILL.md +199 -0
  85. moai_adk/templates/.claude/skills/moai-cc-mcp-plugins/templates/settings-mcp-template.json +39 -0
  86. moai_adk/templates/.claude/skills/moai-cc-memory/SKILL.md +316 -0
  87. moai_adk/templates/.claude/skills/moai-cc-memory/templates/session-summary-template.md +18 -0
  88. moai_adk/templates/.claude/skills/moai-cc-settings/SKILL.md +263 -0
  89. moai_adk/templates/.claude/skills/moai-cc-settings/templates/settings-complete-template.json +30 -0
  90. moai_adk/templates/.claude/skills/moai-cc-skills/SKILL.md +291 -0
  91. moai_adk/templates/.claude/skills/moai-cc-skills/templates/SKILL-template.md +15 -0
  92. moai_adk/templates/.claude/skills/moai-domain-backend/SKILL.md +290 -0
  93. moai_adk/templates/.claude/skills/moai-domain-backend/examples.md +1633 -0
  94. moai_adk/templates/.claude/skills/moai-domain-backend/reference.md +660 -0
  95. moai_adk/templates/.claude/skills/moai-domain-cli-tool/SKILL.md +123 -0
  96. moai_adk/templates/.claude/skills/moai-domain-cli-tool/examples.md +29 -0
  97. moai_adk/templates/.claude/skills/moai-domain-cli-tool/reference.md +30 -0
  98. moai_adk/templates/.claude/skills/moai-domain-data-science/SKILL.md +123 -0
  99. moai_adk/templates/.claude/skills/moai-domain-data-science/examples.md +29 -0
  100. moai_adk/templates/.claude/skills/moai-domain-data-science/reference.md +30 -0
  101. moai_adk/templates/.claude/skills/moai-domain-database/SKILL.md +123 -0
  102. moai_adk/templates/.claude/skills/moai-domain-database/examples.md +29 -0
  103. moai_adk/templates/.claude/skills/moai-domain-database/reference.md +30 -0
  104. moai_adk/templates/.claude/skills/moai-domain-devops/SKILL.md +124 -0
  105. moai_adk/templates/.claude/skills/moai-domain-devops/examples.md +29 -0
  106. moai_adk/templates/.claude/skills/moai-domain-devops/reference.md +31 -0
  107. moai_adk/templates/.claude/skills/moai-domain-frontend/SKILL.md +124 -0
  108. moai_adk/templates/.claude/skills/moai-domain-frontend/examples.md +29 -0
  109. moai_adk/templates/.claude/skills/moai-domain-frontend/reference.md +31 -0
  110. moai_adk/templates/.claude/skills/moai-domain-ml/SKILL.md +123 -0
  111. moai_adk/templates/.claude/skills/moai-domain-ml/examples.md +29 -0
  112. moai_adk/templates/.claude/skills/moai-domain-ml/reference.md +30 -0
  113. moai_adk/templates/.claude/skills/moai-domain-mobile-app/SKILL.md +123 -0
  114. moai_adk/templates/.claude/skills/moai-domain-mobile-app/examples.md +29 -0
  115. moai_adk/templates/.claude/skills/moai-domain-mobile-app/reference.md +30 -0
  116. moai_adk/templates/.claude/skills/moai-domain-security/SKILL.md +123 -0
  117. moai_adk/templates/.claude/skills/moai-domain-security/examples.md +29 -0
  118. moai_adk/templates/.claude/skills/moai-domain-security/reference.md +30 -0
  119. moai_adk/templates/.claude/skills/moai-domain-web-api/SKILL.md +123 -0
  120. moai_adk/templates/.claude/skills/moai-domain-web-api/examples.md +29 -0
  121. moai_adk/templates/.claude/skills/moai-domain-web-api/reference.md +30 -0
  122. moai_adk/templates/.claude/skills/moai-essentials-debug/SKILL.md +303 -0
  123. moai_adk/templates/.claude/skills/moai-essentials-debug/examples.md +1064 -0
  124. moai_adk/templates/.claude/skills/moai-essentials-debug/reference.md +1047 -0
  125. moai_adk/templates/.claude/skills/moai-essentials-perf/SKILL.md +113 -0
  126. moai_adk/templates/.claude/skills/moai-essentials-perf/examples.md +29 -0
  127. moai_adk/templates/.claude/skills/moai-essentials-perf/reference.md +28 -0
  128. moai_adk/templates/.claude/skills/moai-essentials-refactor/SKILL.md +113 -0
  129. moai_adk/templates/.claude/skills/moai-essentials-refactor/examples.md +29 -0
  130. moai_adk/templates/.claude/skills/moai-essentials-refactor/reference.md +28 -0
  131. moai_adk/templates/.claude/skills/moai-essentials-review/SKILL.md +113 -0
  132. moai_adk/templates/.claude/skills/moai-essentials-review/examples.md +29 -0
  133. moai_adk/templates/.claude/skills/moai-essentials-review/reference.md +28 -0
  134. moai_adk/templates/.claude/skills/moai-foundation-ears/SKILL.md +116 -0
  135. moai_adk/templates/.claude/skills/moai-foundation-ears/examples.md +29 -0
  136. moai_adk/templates/.claude/skills/moai-foundation-ears/reference.md +28 -0
  137. moai_adk/templates/.claude/skills/moai-foundation-git/SKILL.md +122 -0
  138. moai_adk/templates/.claude/skills/moai-foundation-git/examples.md +29 -0
  139. moai_adk/templates/.claude/skills/moai-foundation-git/reference.md +29 -0
  140. moai_adk/templates/.claude/skills/moai-foundation-langs/SKILL.md +113 -0
  141. moai_adk/templates/.claude/skills/moai-foundation-langs/examples.md +29 -0
  142. moai_adk/templates/.claude/skills/moai-foundation-langs/reference.md +28 -0
  143. moai_adk/templates/.claude/skills/moai-foundation-specs/SKILL.md +113 -0
  144. moai_adk/templates/.claude/skills/moai-foundation-specs/examples.md +29 -0
  145. moai_adk/templates/.claude/skills/moai-foundation-specs/reference.md +28 -0
  146. moai_adk/templates/.claude/skills/moai-foundation-tags/SKILL.md +113 -0
  147. moai_adk/templates/.claude/skills/moai-foundation-tags/examples.md +29 -0
  148. moai_adk/templates/.claude/skills/moai-foundation-tags/reference.md +28 -0
  149. moai_adk/templates/.claude/skills/moai-foundation-trust/SKILL.md +307 -0
  150. moai_adk/templates/.claude/skills/moai-foundation-trust/examples.md +0 -0
  151. moai_adk/templates/.claude/skills/moai-foundation-trust/reference.md +1099 -0
  152. moai_adk/templates/.claude/skills/moai-lang-c/SKILL.md +124 -0
  153. moai_adk/templates/.claude/skills/moai-lang-c/examples.md +29 -0
  154. moai_adk/templates/.claude/skills/moai-lang-c/reference.md +31 -0
  155. moai_adk/templates/.claude/skills/moai-lang-cpp/SKILL.md +124 -0
  156. moai_adk/templates/.claude/skills/moai-lang-cpp/examples.md +29 -0
  157. moai_adk/templates/.claude/skills/moai-lang-cpp/reference.md +31 -0
  158. moai_adk/templates/.claude/skills/moai-lang-csharp/SKILL.md +123 -0
  159. moai_adk/templates/.claude/skills/moai-lang-csharp/examples.md +29 -0
  160. moai_adk/templates/.claude/skills/moai-lang-csharp/reference.md +30 -0
  161. moai_adk/templates/.claude/skills/moai-lang-dart/SKILL.md +123 -0
  162. moai_adk/templates/.claude/skills/moai-lang-dart/examples.md +29 -0
  163. moai_adk/templates/.claude/skills/moai-lang-dart/reference.md +30 -0
  164. moai_adk/templates/.claude/skills/moai-lang-go/SKILL.md +124 -0
  165. moai_adk/templates/.claude/skills/moai-lang-go/examples.md +29 -0
  166. moai_adk/templates/.claude/skills/moai-lang-go/reference.md +31 -0
  167. moai_adk/templates/.claude/skills/moai-lang-java/SKILL.md +124 -0
  168. moai_adk/templates/.claude/skills/moai-lang-java/examples.md +29 -0
  169. moai_adk/templates/.claude/skills/moai-lang-java/reference.md +31 -0
  170. moai_adk/templates/.claude/skills/moai-lang-javascript/SKILL.md +125 -0
  171. moai_adk/templates/.claude/skills/moai-lang-javascript/examples.md +29 -0
  172. moai_adk/templates/.claude/skills/moai-lang-javascript/reference.md +32 -0
  173. moai_adk/templates/.claude/skills/moai-lang-kotlin/SKILL.md +124 -0
  174. moai_adk/templates/.claude/skills/moai-lang-kotlin/examples.md +29 -0
  175. moai_adk/templates/.claude/skills/moai-lang-kotlin/reference.md +31 -0
  176. moai_adk/templates/.claude/skills/moai-lang-php/SKILL.md +123 -0
  177. moai_adk/templates/.claude/skills/moai-lang-php/examples.md +29 -0
  178. moai_adk/templates/.claude/skills/moai-lang-php/reference.md +30 -0
  179. moai_adk/templates/.claude/skills/moai-lang-python/SKILL.md +431 -0
  180. moai_adk/templates/.claude/skills/moai-lang-python/examples.md +624 -0
  181. moai_adk/templates/.claude/skills/moai-lang-python/reference.md +316 -0
  182. moai_adk/templates/.claude/skills/moai-lang-r/SKILL.md +123 -0
  183. moai_adk/templates/.claude/skills/moai-lang-r/examples.md +29 -0
  184. moai_adk/templates/.claude/skills/moai-lang-r/reference.md +30 -0
  185. moai_adk/templates/.claude/skills/moai-lang-ruby/SKILL.md +124 -0
  186. moai_adk/templates/.claude/skills/moai-lang-ruby/examples.md +29 -0
  187. moai_adk/templates/.claude/skills/moai-lang-ruby/reference.md +31 -0
  188. moai_adk/templates/.claude/skills/moai-lang-rust/SKILL.md +124 -0
  189. moai_adk/templates/.claude/skills/moai-lang-rust/examples.md +29 -0
  190. moai_adk/templates/.claude/skills/moai-lang-rust/reference.md +31 -0
  191. moai_adk/templates/.claude/skills/moai-lang-scala/SKILL.md +123 -0
  192. moai_adk/templates/.claude/skills/moai-lang-scala/examples.md +29 -0
  193. moai_adk/templates/.claude/skills/moai-lang-scala/reference.md +30 -0
  194. moai_adk/templates/.claude/skills/moai-lang-shell/SKILL.md +123 -0
  195. moai_adk/templates/.claude/skills/moai-lang-shell/examples.md +29 -0
  196. moai_adk/templates/.claude/skills/moai-lang-shell/reference.md +30 -0
  197. moai_adk/templates/.claude/skills/moai-lang-sql/SKILL.md +124 -0
  198. moai_adk/templates/.claude/skills/moai-lang-sql/examples.md +29 -0
  199. moai_adk/templates/.claude/skills/moai-lang-sql/reference.md +31 -0
  200. moai_adk/templates/.claude/skills/moai-lang-swift/SKILL.md +123 -0
  201. moai_adk/templates/.claude/skills/moai-lang-swift/examples.md +29 -0
  202. moai_adk/templates/.claude/skills/moai-lang-swift/reference.md +30 -0
  203. moai_adk/templates/.claude/skills/moai-lang-typescript/SKILL.md +127 -0
  204. moai_adk/templates/.claude/skills/moai-lang-typescript/examples.md +29 -0
  205. moai_adk/templates/.claude/skills/moai-lang-typescript/reference.md +34 -0
  206. moai_adk/templates/.claude/skills/moai-skill-factory/CHECKLIST.md +482 -0
  207. moai_adk/templates/.claude/skills/moai-skill-factory/EXAMPLES.md +278 -0
  208. moai_adk/templates/.claude/skills/moai-skill-factory/INTERACTIVE-DISCOVERY.md +524 -0
  209. moai_adk/templates/.claude/skills/moai-skill-factory/METADATA.md +477 -0
  210. moai_adk/templates/.claude/skills/moai-skill-factory/PARALLEL-ANALYSIS-REPORT.md +429 -0
  211. moai_adk/templates/.claude/skills/moai-skill-factory/PYTHON-VERSION-MATRIX.md +391 -0
  212. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-FACTORY-WORKFLOW.md +431 -0
  213. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL-UPDATE-ADVISOR.md +577 -0
  214. moai_adk/templates/.claude/skills/moai-skill-factory/SKILL.md +271 -0
  215. moai_adk/templates/.claude/skills/moai-skill-factory/STEP-BY-STEP-GUIDE.md +466 -0
  216. moai_adk/templates/.claude/skills/moai-skill-factory/STRUCTURE.md +583 -0
  217. moai_adk/templates/.claude/skills/moai-skill-factory/WEB-RESEARCH.md +526 -0
  218. moai_adk/templates/.claude/skills/moai-skill-factory/reference.md +465 -0
  219. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/generate-structure.sh +328 -0
  220. moai_adk/templates/.claude/skills/moai-skill-factory/scripts/validate-skill.sh +312 -0
  221. moai_adk/templates/.claude/skills/moai-skill-factory/templates/SKILL_TEMPLATE.md +245 -0
  222. moai_adk/templates/.claude/skills/moai-skill-factory/templates/examples-template.md +285 -0
  223. moai_adk/templates/.claude/skills/moai-skill-factory/templates/reference-template.md +278 -0
  224. moai_adk/templates/.claude/skills/moai-skill-factory/templates/scripts-template.sh +303 -0
  225. moai_adk/templates/.claude/skills/moai-spec-authoring/README.md +137 -0
  226. moai_adk/templates/.claude/skills/moai-spec-authoring/SKILL.md +219 -0
  227. moai_adk/templates/.claude/skills/moai-spec-authoring/examples/validate-spec.sh +161 -0
  228. moai_adk/templates/.claude/skills/moai-spec-authoring/examples.md +541 -0
  229. moai_adk/templates/.claude/skills/moai-spec-authoring/reference.md +622 -0
  230. moai_adk/templates/.github/workflows/c-tag-validation.yml +83 -0
  231. moai_adk/templates/.github/workflows/cpp-tag-validation.yml +79 -0
  232. moai_adk/templates/.github/workflows/csharp-tag-validation.yml +65 -0
  233. moai_adk/templates/.github/workflows/dart-tag-validation.yml +82 -0
  234. moai_adk/templates/.github/workflows/java-tag-validation.yml +75 -0
  235. moai_adk/templates/.github/workflows/kotlin-tag-validation.yml +67 -0
  236. moai_adk/templates/.github/workflows/php-tag-validation.yml +56 -0
  237. moai_adk/templates/.github/workflows/ruby-tag-validation.yml +68 -0
  238. moai_adk/templates/.github/workflows/rust-tag-validation.yml +73 -0
  239. moai_adk/templates/.github/workflows/shell-tag-validation.yml +65 -0
  240. moai_adk/templates/.github/workflows/swift-tag-validation.yml +79 -0
  241. moai_adk/templates/.moai/config.json +113 -0
  242. moai_adk/templates/.moai/memory/CLAUDE-AGENTS-GUIDE.md +208 -0
  243. moai_adk/templates/.moai/memory/CLAUDE-PRACTICES.md +369 -0
  244. moai_adk/templates/.moai/memory/CLAUDE-RULES.md +539 -0
  245. moai_adk/templates/.moai/memory/DEVELOPMENT-GUIDE.md +344 -0
  246. moai_adk/templates/.moai/memory/GITFLOW-PROTECTION-POLICY.md +330 -0
  247. moai_adk/templates/.moai/memory/ISSUE-LABEL-MAPPING.md +150 -0
  248. moai_adk/templates/.moai/memory/SKILLS-DESCRIPTION-POLICY.md +218 -0
  249. moai_adk/templates/.moai/memory/SPEC-METADATA.md +356 -0
  250. moai_adk/templates/.moai/memory/gitflow-protection-policy.md +330 -0
  251. moai_adk/templates/.moai/memory/spec-metadata.md +356 -0
  252. moai_adk/templates/.moai/project/product.md +161 -0
  253. moai_adk/templates/.moai/project/structure.md +156 -0
  254. moai_adk/templates/.moai/project/tech.md +227 -0
  255. moai_adk/templates/CLAUDE.md +90 -10
  256. moai_adk/templates/workflows/go-tag-validation.yml +130 -0
  257. moai_adk/templates/workflows/javascript-tag-validation.yml +135 -0
  258. moai_adk/templates/workflows/python-tag-validation.yml +118 -0
  259. moai_adk/templates/workflows/typescript-tag-validation.yml +154 -0
  260. {moai_adk-0.11.0.dist-info → moai_adk-0.12.0.dist-info}/METADATA +43 -1
  261. moai_adk-0.12.0.dist-info/RECORD +330 -0
  262. moai_adk-0.11.0.dist-info/RECORD +0 -77
  263. /moai_adk/templates/.github/workflows/{release.yml → moai-adk-release.yml} +0 -0
  264. /moai_adk/templates/.github/workflows/{spec-issue-sync.yml → moai-adk-spec-issue-sync.yml} +0 -0
  265. /moai_adk/templates/.github/workflows/{tag-validation.yml → moai-adk-tag-validation.yml} +0 -0
  266. {moai_adk-0.11.0.dist-info → moai_adk-0.12.0.dist-info}/WHEEL +0 -0
  267. {moai_adk-0.11.0.dist-info → moai_adk-0.12.0.dist-info}/entry_points.txt +0 -0
  268. {moai_adk-0.11.0.dist-info → moai_adk-0.12.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,29 @@
1
+ # moai-lang-kotlin - Working Examples
2
+
3
+ _Last updated: 2025-10-22_
4
+
5
+ ## Example 1: Basic Setup
6
+
7
+ ```bash
8
+ # Setup commands
9
+ # ...
10
+ ```
11
+
12
+ ## Example 2: TDD Workflow
13
+
14
+ ```bash
15
+ # RED: Write failing test
16
+ # GREEN: Implement feature
17
+ # REFACTOR: Improve code
18
+ ```
19
+
20
+ ## Example 3: Quality Gate
21
+
22
+ ```bash
23
+ # Run quality checks
24
+ # Verify coverage ≥85%
25
+ ```
26
+
27
+ ---
28
+
29
+ _For more examples, see SKILL.md reference section_
@@ -0,0 +1,31 @@
1
+ # moai-lang-kotlin - CLI Reference
2
+
3
+ _Last updated: 2025-10-22_
4
+
5
+ ## Quick Reference
6
+
7
+ ### Installation
8
+
9
+ ```bash
10
+ # Installation commands
11
+ ```
12
+
13
+ ### Common Commands
14
+
15
+ ```bash
16
+ # Test
17
+ # Lint
18
+ # Format
19
+ # Build
20
+ ```
21
+
22
+ ## Tool Versions (2025-10-22)
23
+
24
+ - **Kotlin**: 2.1.0
25
+ - **JUnit**: 5.11.0
26
+ - **Gradle**: 8.12.0
27
+ - **ktlint**: 1.5.0
28
+
29
+ ---
30
+
31
+ _For detailed usage, see SKILL.md_
@@ -0,0 +1,123 @@
1
+ ---
2
+ name: moai-lang-php
3
+ version: 2.0.0
4
+ created: 2025-10-22
5
+ updated: 2025-10-22
6
+ status: active
7
+ description: PHP 8.4+ best practices with PHPUnit 11, Composer, and PSR-12 standards.
8
+ keywords: ['php', 'phpunit', 'composer', 'psr']
9
+ allowed-tools:
10
+ - Read
11
+ - Bash
12
+ ---
13
+
14
+ # Lang Php Skill
15
+
16
+ ## Skill Metadata
17
+
18
+ | Field | Value |
19
+ | ----- | ----- |
20
+ | **Skill Name** | moai-lang-php |
21
+ | **Version** | 2.0.0 (2025-10-22) |
22
+ | **Allowed tools** | Read (read_file), Bash (terminal) |
23
+ | **Auto-load** | On demand when keywords detected |
24
+ | **Tier** | Language |
25
+
26
+ ---
27
+
28
+ ## What It Does
29
+
30
+ PHP 8.4+ best practices with PHPUnit 11, Composer, and PSR-12 standards.
31
+
32
+ **Key capabilities**:
33
+ - ✅ Best practices enforcement for language domain
34
+ - ✅ TRUST 5 principles integration
35
+ - ✅ Latest tool versions (2025-10-22)
36
+ - ✅ TDD workflow support
37
+
38
+ ---
39
+
40
+ ## When to Use
41
+
42
+ **Automatic triggers**:
43
+ - Related code discussions and file patterns
44
+ - SPEC implementation (`/alfred:2-run`)
45
+ - Code review requests
46
+
47
+ **Manual invocation**:
48
+ - Review code for TRUST 5 compliance
49
+ - Design new features
50
+ - Troubleshoot issues
51
+
52
+ ---
53
+
54
+ ## Tool Version Matrix (2025-10-22)
55
+
56
+ | Tool | Version | Purpose | Status |
57
+ |------|---------|---------|--------|
58
+ | **PHP** | 8.4.0 | Primary | ✅ Current |
59
+ | **PHPUnit** | 11.5.0 | Primary | ✅ Current |
60
+ | **Composer** | 2.8.0 | Primary | ✅ Current |
61
+
62
+ ---
63
+
64
+ ## Inputs
65
+
66
+ - Language-specific source directories
67
+ - Configuration files
68
+ - Test suites and sample data
69
+
70
+ ## Outputs
71
+
72
+ - Test/lint execution plan
73
+ - TRUST 5 review checkpoints
74
+ - Migration guidance
75
+
76
+ ## Failure Modes
77
+
78
+ - When required tools are not installed
79
+ - When dependencies are missing
80
+ - When test coverage falls below 85%
81
+
82
+ ## Dependencies
83
+
84
+ - Access to project files via Read/Bash tools
85
+ - Integration with `moai-foundation-langs` for language detection
86
+ - Integration with `moai-foundation-trust` for quality gates
87
+
88
+ ---
89
+
90
+ ## References (Latest Documentation)
91
+
92
+ _Documentation links updated 2025-10-22_
93
+
94
+ ---
95
+
96
+ ## Changelog
97
+
98
+ - **v2.0.0** (2025-10-22): Major update with latest tool versions, comprehensive best practices, TRUST 5 integration
99
+ - **v1.0.0** (2025-03-29): Initial Skill release
100
+
101
+ ---
102
+
103
+ ## Works Well With
104
+
105
+ - `moai-foundation-trust` (quality gates)
106
+ - `moai-alfred-code-reviewer` (code review)
107
+ - `moai-essentials-debug` (debugging support)
108
+
109
+ ---
110
+
111
+ ## Best Practices
112
+
113
+ ✅ **DO**:
114
+ - Follow language best practices
115
+ - Use latest stable tool versions
116
+ - Maintain test coverage ≥85%
117
+ - Document all public APIs
118
+
119
+ ❌ **DON'T**:
120
+ - Skip quality gates
121
+ - Use deprecated tools
122
+ - Ignore security warnings
123
+ - Mix testing frameworks
@@ -0,0 +1,29 @@
1
+ # moai-lang-php - Working Examples
2
+
3
+ _Last updated: 2025-10-22_
4
+
5
+ ## Example 1: Basic Setup
6
+
7
+ ```bash
8
+ # Setup commands
9
+ # ...
10
+ ```
11
+
12
+ ## Example 2: TDD Workflow
13
+
14
+ ```bash
15
+ # RED: Write failing test
16
+ # GREEN: Implement feature
17
+ # REFACTOR: Improve code
18
+ ```
19
+
20
+ ## Example 3: Quality Gate
21
+
22
+ ```bash
23
+ # Run quality checks
24
+ # Verify coverage ≥85%
25
+ ```
26
+
27
+ ---
28
+
29
+ _For more examples, see SKILL.md reference section_
@@ -0,0 +1,30 @@
1
+ # moai-lang-php - CLI Reference
2
+
3
+ _Last updated: 2025-10-22_
4
+
5
+ ## Quick Reference
6
+
7
+ ### Installation
8
+
9
+ ```bash
10
+ # Installation commands
11
+ ```
12
+
13
+ ### Common Commands
14
+
15
+ ```bash
16
+ # Test
17
+ # Lint
18
+ # Format
19
+ # Build
20
+ ```
21
+
22
+ ## Tool Versions (2025-10-22)
23
+
24
+ - **PHP**: 8.4.0
25
+ - **PHPUnit**: 11.5.0
26
+ - **Composer**: 2.8.0
27
+
28
+ ---
29
+
30
+ _For detailed usage, see SKILL.md_
@@ -0,0 +1,431 @@
1
+ ---
2
+
3
+ name: moai-lang-python
4
+ version: 2.0.0
5
+ created: 2025-10-22
6
+ updated: 2025-10-22
7
+ status: active
8
+ description: Python 3.13+ best practices with pytest 8.4.2, mypy 1.8.0, ruff 0.13.1, and uv 0.9.3. Use when writing or reviewing Python code in project workflows.
9
+ keywords: [python, testing, pytest, mypy, ruff, uv, async, fastapi, pydantic]
10
+ allowed-tools:
11
+ - Read
12
+ - Bash
13
+ ---
14
+
15
+ # Python 3.13 Expert Skill
16
+
17
+ ## Skill Metadata
18
+
19
+ | Field | Value |
20
+ | ----- | ----- |
21
+ | **Skill Name** | moai-lang-python |
22
+ | **Version** | 2.0.0 (2025-10-22) |
23
+ | **Python Support** | 3.13.1 (latest), 3.12.7 (LTS), 3.11.10 (maintenance) |
24
+ | **Allowed tools** | Read (read_file), Bash (terminal) |
25
+ | **Auto-load** | On demand when language keywords detected |
26
+ | **Trigger cues** | `.py` files, Python frameworks, TDD discussions, async patterns |
27
+ | **Tier** | Language / 23 (comprehensive coverage) |
28
+
29
+ ---
30
+
31
+ ## What It Does
32
+
33
+ Provides **Python 3.13+ expertise** for modern TDD development, including:
34
+
35
+ - ✅ **Testing Framework**: pytest 8.4.2 (fixtures, asyncio, parametrization)
36
+ - ✅ **Code Quality**: ruff 0.13.1 (unified linter + formatter, replaces black/pylint)
37
+ - ✅ **Type Safety**: mypy 1.8.0 + Pydantic 2.7.0 (static + runtime validation)
38
+ - ✅ **Package Management**: uv 0.9.3 (10x faster than pip)
39
+ - ✅ **Python 3.13 Features**: PEP 695 (type params), PEP 701 (f-strings), PEP 698 (@override)
40
+ - ✅ **Async/Await**: asyncio.TaskGroup, context variables, concurrent patterns
41
+ - ✅ **Security**: Secrets module, secure hashing, SQLAlchemy 2.0.28
42
+
43
+ ---
44
+
45
+ ## When to Use
46
+
47
+ **Automatic triggers**:
48
+ - Python code discussions, `.py` files, framework guidance
49
+ - "Writing Python tests", "How to use pytest", "Python type hints"
50
+ - Python SPEC implementation (`/alfred:2-run`)
51
+ - Async pattern requests
52
+
53
+ **Manual invocation**:
54
+ - Review Python code for TRUST 5 compliance
55
+ - Design Python microservices (FastAPI 0.115.0 recommended)
56
+ - Upgrade from Python 3.12 to 3.13
57
+ - Refactor async code to use TaskGroup
58
+
59
+ ---
60
+
61
+ ## How It Works (Best Practices)
62
+
63
+ ### 1. TDD Framework (pytest 8.4.2)
64
+
65
+ ```python
66
+ # Test discovery & fixtures
67
+ import pytest
68
+ from src.calculator import add
69
+
70
+ def test_add_positive_numbers():
71
+ """Verify addition of positive integers."""
72
+ assert add(2, 3) == 5
73
+
74
+ @pytest.mark.asyncio
75
+ async def test_async_operation():
76
+ """Test async functions with pytest-asyncio."""
77
+ result = await async_fetch_data()
78
+ assert result is not None
79
+ ```
80
+
81
+ **Key Points**:
82
+ - ✅ Use pytest 8.4.2+ (not unittest)
83
+ - ✅ One assertion per test (clarity)
84
+ - ✅ Fixtures for setup/teardown
85
+ - ✅ `pytest.mark.asyncio` for async tests
86
+ - ✅ `pytest-mock` for mocking (not mock.patch)
87
+ - ✅ Coverage ≥85% enforced by quality gate
88
+
89
+ **CLI Commands**:
90
+ ```bash
91
+ pytest # Run all tests
92
+ pytest -v # Verbose output
93
+ pytest --cov=src --cov-report=term # Coverage report (≥85% required)
94
+ pytest -k "pattern" # Run matching tests
95
+ pytest -m asyncio # Run async tests only
96
+ ```
97
+
98
+ ### 2. Code Quality (ruff 0.13.1 — NEW STANDARD)
99
+
100
+ **⚠️ BREAKING CHANGE**: Ruff 0.13.1 replaces black + pylint + isort. Update workflows:
101
+
102
+ ```yaml
103
+ # OLD (deprecated)
104
+ - black . # Format
105
+ - pylint src/ # Lint
106
+ - isort . # Import sort
107
+
108
+ # NEW (ruff 0.13.1)
109
+ - ruff check . --fix # Lint + fix
110
+ - ruff format . # Format (replaces black)
111
+ ```
112
+
113
+ **Configuration** (`pyproject.toml`):
114
+ ```toml
115
+ [tool.ruff]
116
+ line-length = 100
117
+ target-version = "py313"
118
+
119
+ [tool.ruff.lint]
120
+ select = ["E", "F", "W"] # Errors, formatting, warnings
121
+ extend-select = ["I"] # Import sorting (replaces isort)
122
+ ```
123
+
124
+ **CLI Commands**:
125
+ ```bash
126
+ ruff check . # Lint all files
127
+ ruff format . # Format with auto-fix
128
+ ruff check --show-fixes . # Show what would be fixed
129
+ ruff check --select E501 . # Check specific rule (line length)
130
+ ```
131
+
132
+ ### 3. Type Safety (mypy 1.8.0 + Pydantic 2.7.0)
133
+
134
+ **Static Type Checking** (mypy):
135
+
136
+ ```python
137
+ from typing import override
138
+
139
+ class Parent:
140
+ def method(self, x: int) -> str: ...
141
+
142
+ class Child(Parent):
143
+ @override # NEW in Python 3.13 — mypy validates this
144
+ def method(self, x: int) -> str:
145
+ return str(x)
146
+ ```
147
+
148
+ **Runtime Validation** (Pydantic 2.7.0):
149
+
150
+ ```python
151
+ from pydantic import BaseModel, Field
152
+
153
+ class User(BaseModel):
154
+ id: int = Field(gt=0) # Must be > 0
155
+ name: str = Field(min_length=1)
156
+ email: str # Auto-validated as email
157
+ ```
158
+
159
+ **CLI Commands**:
160
+ ```bash
161
+ mypy . # Run type checker
162
+ mypy --strict . # Strict mode (recommended)
163
+ mypy --show-column-numbers . # Precise error locations
164
+ ```
165
+
166
+ ### 4. Package Management (uv 0.9.3)
167
+
168
+ **Why uv?**: 10x faster than pip, integrated with ruff + pytest
169
+
170
+ ```bash
171
+ # Create virtual environment
172
+ uv venv # Create .venv/
173
+ source .venv/bin/activate # Activate
174
+
175
+ # Install dependencies
176
+ uv add pytest ruff mypy # Add to pyproject.toml
177
+ uv add --dev pytest-asyncio # Add as dev dependency
178
+ uv sync # Install all (from lock file)
179
+
180
+ # Publish
181
+ uv publish # Push to PyPI
182
+ ```
183
+
184
+ **pyproject.toml** (uv config):
185
+ ```toml
186
+ [project]
187
+ name = "my-project"
188
+ version = "2.0.0"
189
+ requires-python = ">=3.13"
190
+
191
+ [project.optional-dependencies]
192
+ dev = ["pytest>=8.4.2", "ruff>=0.13.1", "mypy>=1.8.0"]
193
+
194
+ [build-system]
195
+ requires = ["hatchling"]
196
+ build-backend = "hatchling.build"
197
+ ```
198
+
199
+ ### 5. Async Patterns (Python 3.13)
200
+
201
+ **TaskGroup** (cleaner than `asyncio.gather`):
202
+
203
+ ```python
204
+ import asyncio
205
+
206
+ async def main():
207
+ async with asyncio.TaskGroup() as tg:
208
+ task1 = tg.create_task(fetch_user(1))
209
+ task2 = tg.create_task(fetch_posts(1))
210
+ # Tasks run concurrently
211
+ # Exceptions propagate automatically (no need for gather)
212
+
213
+ asyncio.run(main())
214
+ ```
215
+
216
+ **Context Variables** (thread-safe in async):
217
+
218
+ ```python
219
+ from contextvars import ContextVar
220
+
221
+ request_id = ContextVar('request_id', default=None)
222
+
223
+ async def handle_request(req_id):
224
+ token = request_id.set(req_id)
225
+ # All spawned tasks inherit this context var
226
+ await process_async()
227
+ ```
228
+
229
+ ### 6. Security Best Practices
230
+
231
+ **Secrets Module** (token generation):
232
+ ```python
233
+ import secrets
234
+
235
+ api_key = secrets.token_urlsafe(32) # Safe random tokens
236
+ nonce = secrets.token_bytes(16) # Cryptographic nonce
237
+ ```
238
+
239
+ **Secure Hashing** (sha256, not md5):
240
+ ```python
241
+ import hashlib
242
+
243
+ # ✅ SECURE
244
+ hash_obj = hashlib.sha256(b"password")
245
+
246
+ # ❌ INSECURE (removed in Python 3.13)
247
+ hash_obj = hashlib.md5(b"password") # ValueError!
248
+ ```
249
+
250
+ ---
251
+
252
+ ## Python 3.13 New Features
253
+
254
+ ### PEP 695 — Type Parameter Syntax
255
+
256
+ ```python
257
+ # OLD (3.12)
258
+ from typing import TypeVar, Generic
259
+ T = TypeVar('T')
260
+ class Stack(Generic[T]):
261
+ def push(self, item: T) -> None: ...
262
+
263
+ # NEW (3.13)
264
+ class Stack[T]:
265
+ def push(self, item: T) -> None: ...
266
+ ```
267
+
268
+ ### PEP 701 — Improved F-Strings
269
+
270
+ ```python
271
+ # NEW: Nested f-strings, arbitrary expressions
272
+ user = {"name": "Alice", "age": 30}
273
+ print(f"User: {user['name']}, Age: {user['age']}") # Works!
274
+
275
+ # Nested f-strings
276
+ x = 10
277
+ print(f"Result: {f'{x:>10}'}") # Works in 3.13!
278
+ ```
279
+
280
+ ### PEP 698 — Override Decorator
281
+
282
+ ```python
283
+ from typing import override
284
+
285
+ class Parent:
286
+ def method(self) -> None: ...
287
+
288
+ class Child(Parent):
289
+ @override # mypy checks this is actually overriding
290
+ def method(self) -> None: ...
291
+ ```
292
+
293
+ ---
294
+
295
+ ## Example Workflow
296
+
297
+ **Setup** (uv + Python 3.13):
298
+ ```bash
299
+ uv venv --python 3.13 # Create venv with Python 3.13
300
+ source .venv/bin/activate
301
+ uv add pytest ruff mypy fastapi pydantic
302
+ ```
303
+
304
+ **TDD Loop** (pytest):
305
+ ```bash
306
+ pytest # RED: Watch tests fail
307
+ # [implement code]
308
+ pytest # GREEN: Watch tests pass
309
+ ruff check --fix . # REFACTOR: Fix code quality
310
+ ```
311
+
312
+ **Quality Gate** (before commit):
313
+ ```bash
314
+ pytest --cov=src --cov-report=term # Coverage ≥85%?
315
+ ruff check . # Lint pass?
316
+ mypy --strict . # Type check pass?
317
+ ```
318
+
319
+ ---
320
+
321
+ ## Tool Version Matrix (2025-10-22)
322
+
323
+ | Tool | Version | Purpose | Status |
324
+ |------|---------|---------|--------|
325
+ | **Python** | 3.13.1 | Runtime | ✅ Latest |
326
+ | **pytest** | 8.4.2 | Testing | ✅ Current |
327
+ | **ruff** | 0.13.1 | Lint/Format | ✅ New standard |
328
+ | **mypy** | 1.8.0 | Type checking | ✅ Current |
329
+ | **uv** | 0.9.3 | Package manager | ✅ Recommended |
330
+ | **FastAPI** | 0.115.0 | Web framework | ✅ Latest |
331
+ | **Pydantic** | 2.7.0 | Validation | ✅ Latest |
332
+ | **SQLAlchemy** | 2.0.28 | ORM | ✅ Latest |
333
+
334
+ ---
335
+
336
+ ## Inputs
337
+
338
+ - Python source directories (e.g., `src/`, `app/`)
339
+ - Configuration files (`pyproject.toml`, `pytest.ini`)
340
+ - Test suites and sample data
341
+ - Existing CI/CD workflows
342
+
343
+ ## Outputs
344
+
345
+ - Test/lint execution plan for Python 3.13
346
+ - Code review checklist (TRUST 5 principles)
347
+ - Migration guide (3.12 → 3.13)
348
+ - Performance optimization recommendations
349
+
350
+ ## Failure Modes
351
+
352
+ - ❌ Python 3.13 not installed → Recommend `uv venv --python 3.13`
353
+ - ❌ Dependencies missing → Run `uv sync`
354
+ - ❌ Tests fail → Use `debug-helper` agent for triage
355
+
356
+ ---
357
+
358
+ ## Inputs
359
+
360
+ - Language-specific source directories (e.g. `src/`, `app/`).
361
+ - Language-specific build/test configuration files (e.g. `pyproject.toml`).
362
+ - Relevant test suites and sample data.
363
+
364
+ ## Outputs
365
+
366
+ - Test/lint execution plan tailored to Python 3.13+.
367
+ - TRUST 5 review checkpoints (coverage, linting, types, security, tags).
368
+ - Migration path from older Python versions.
369
+
370
+ ## Failure Modes
371
+
372
+ - When Python 3.13 runtime is not installed.
373
+ - When project dependencies are not in pyproject.toml.
374
+ - When test coverage falls below 85%.
375
+
376
+ ## Dependencies
377
+
378
+ - Access to the project file is required using the Read/Bash tools.
379
+ - Integration with `moai-foundation-langs` for language detection.
380
+ - Integration with `moai-foundation-trust` for quality gate enforcement.
381
+
382
+ ---
383
+
384
+ ## References (Latest Documentation)
385
+
386
+ - **Python 3.13**: https://docs.python.org/3.13/ (accessed 2025-10-22)
387
+ - **pytest 8.4.2**: https://docs.pytest.org/en/stable/ (accessed 2025-10-22)
388
+ - **ruff 0.13.1**: https://docs.astral.sh/ruff/ (accessed 2025-10-22)
389
+ - **mypy 1.8.0**: https://mypy.readthedocs.io/ (accessed 2025-10-22)
390
+ - **uv 0.9.3**: https://docs.astral.sh/uv/ (accessed 2025-10-22)
391
+ - **FastAPI 0.115.0**: https://fastapi.tiangolo.com/ (accessed 2025-10-22)
392
+ - **Pydantic 2.7.0**: https://docs.pydantic.dev/ (accessed 2025-10-22)
393
+
394
+ ---
395
+
396
+ ## Changelog
397
+
398
+ - **v2.0.0** (2025-10-22): Major update with Python 3.13 support, ruff 0.13.1 standard, uv 0.9.3 package manager, async/await TaskGroup patterns, security best practices, PEP 695/701/698 features
399
+ - **v1.0.0** (2025-03-29): Initial Skill with pytest, mypy, ruff, black, uv coverage
400
+
401
+ ---
402
+
403
+ ## Works Well With
404
+
405
+ - `moai-foundation-trust` (coverage verification, quality gates)
406
+ - `moai-alfred-code-reviewer` (Python-specific code review)
407
+ - `moai-alfred-debugger-pro` (Python debugging with pdb, pudb)
408
+ - `moai-lang-sql` (SQLAlchemy integration)
409
+ - `moai-domain-backend` (FastAPI microservices)
410
+
411
+ ---
412
+
413
+ ## Best Practices
414
+
415
+ ✅ **DO**:
416
+ - Use ruff 0.13.1 as linter + formatter (not black + pylint)
417
+ - Specify exact Python version: `requires-python = "^3.13"`
418
+ - Use pytest 8.4.2 for all tests
419
+ - Enable type checking: mypy --strict
420
+ - Run quality gate before each commit
421
+ - Use uv for package management (10x faster)
422
+ - Add docstrings to public APIs
423
+ - Use f-strings (PEP 701 supports nested expressions)
424
+
425
+ ❌ **DON'T**:
426
+ - Use black + pylint (deprecated, use ruff instead)
427
+ - Use md5 hashing (removed in Python 3.13)
428
+ - Mix pytest with unittest
429
+ - Ignore coverage requirements (<85% fails)
430
+ - Use old type hint syntax (use PEP 695 `class Foo[T]:`)
431
+ - Use `asyncio.gather` without error handling (use TaskGroup instead)