oh-my-agent-commandcode 0.0.0-stage → 20.38.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/README.md +35 -2
  2. package/filter-test-output.sh +52 -0
  3. package/mods/oma.ts +347 -0
  4. package/package.json +30 -4
  5. package/skills/_shared/conditional/experiment-ledger.md +28 -0
  6. package/skills/_shared/conditional/exploration-loop.md +22 -0
  7. package/skills/_shared/conditional/quality-score.md +33 -0
  8. package/skills/_shared/core/anti-ai-prose.md +191 -0
  9. package/skills/_shared/core/api-contracts/README.md +28 -0
  10. package/skills/_shared/core/api-contracts/template.md +90 -0
  11. package/skills/_shared/core/clarification-protocol.md +23 -0
  12. package/skills/_shared/core/code-intelligence.md +46 -0
  13. package/skills/_shared/core/collaboration-policy.md +28 -0
  14. package/skills/_shared/core/common-checklist.md +28 -0
  15. package/skills/_shared/core/context-budget.md +22 -0
  16. package/skills/_shared/core/context-loading.md +34 -0
  17. package/skills/_shared/core/difficulty-guide.md +26 -0
  18. package/skills/_shared/core/execution-policy.md +31 -0
  19. package/skills/_shared/core/lessons-learned.md +33 -0
  20. package/skills/_shared/core/prompt-structure.md +18 -0
  21. package/skills/_shared/core/quality-principles.md +11 -0
  22. package/skills/_shared/core/session-metrics.md +35 -0
  23. package/skills/_shared/core/skill-routing.md +39 -0
  24. package/skills/_shared/core/test-approach.md +54 -0
  25. package/skills/_shared/core/vendor-detection.md +52 -0
  26. package/skills/_shared/runtime/memory-protocol.md +118 -0
  27. package/skills/_shared/runtime/result-contract.md +64 -0
  28. package/skills/_shared/ui-interaction-quality.md +133 -0
  29. package/skills/oma-academic-writing/SKILL.md +181 -0
  30. package/skills/oma-academic-writing/resources/abstract-guide.md +51 -0
  31. package/skills/oma-academic-writing/resources/academic-verb-tiers.md +42 -0
  32. package/skills/oma-academic-writing/resources/anti-ai-checklist.md +52 -0
  33. package/skills/oma-academic-writing/resources/hedging-guide.md +132 -0
  34. package/skills/oma-academic-writing/resources/sentence-structure-reference.md +151 -0
  35. package/skills/oma-architecture/SKILL.md +203 -0
  36. package/skills/oma-architecture/resources/api-evolution.md +41 -0
  37. package/skills/oma-architecture/resources/checklist.md +42 -0
  38. package/skills/oma-architecture/resources/execution-protocol.md +115 -0
  39. package/skills/oma-architecture/resources/methodology-selection.md +92 -0
  40. package/skills/oma-architecture/resources/migration-patterns.md +28 -0
  41. package/skills/oma-architecture/resources/output-templates.md +111 -0
  42. package/skills/oma-architecture/resources/stakeholder-synthesis.md +80 -0
  43. package/skills/oma-backend/SKILL.md +202 -0
  44. package/skills/oma-backend/resources/checklist.md +45 -0
  45. package/skills/oma-backend/resources/error-playbook.md +97 -0
  46. package/skills/oma-backend/resources/execution-protocol.md +39 -0
  47. package/skills/oma-backend/resources/orm-reference.md +61 -0
  48. package/skills/oma-backend/variants/node/api-template.ts +315 -0
  49. package/skills/oma-backend/variants/node/snippets.md +475 -0
  50. package/skills/oma-backend/variants/node/stack.yaml +21 -0
  51. package/skills/oma-backend/variants/node/tech-stack.md +33 -0
  52. package/skills/oma-backend/variants/python/api-template.py +378 -0
  53. package/skills/oma-backend/variants/python/snippets.md +199 -0
  54. package/skills/oma-backend/variants/python/stack.yaml +18 -0
  55. package/skills/oma-backend/variants/python/tech-stack.md +45 -0
  56. package/skills/oma-backend/variants/rust/api-template.rs +635 -0
  57. package/skills/oma-backend/variants/rust/snippets.md +471 -0
  58. package/skills/oma-backend/variants/rust/stack.yaml +20 -0
  59. package/skills/oma-backend/variants/rust/tech-stack.md +36 -0
  60. package/skills/oma-backend/variants/stack.schema.json +73 -0
  61. package/skills/oma-brainstorm/SKILL.md +166 -0
  62. package/skills/oma-brainstorm/resources/triz-lite.md +117 -0
  63. package/skills/oma-coordination/SKILL.md +171 -0
  64. package/skills/oma-db/SKILL.md +201 -0
  65. package/skills/oma-db/resources/anti-patterns.md +177 -0
  66. package/skills/oma-db/resources/checklist.md +67 -0
  67. package/skills/oma-db/resources/document-templates.md +107 -0
  68. package/skills/oma-db/resources/error-playbook.md +50 -0
  69. package/skills/oma-db/resources/examples.md +170 -0
  70. package/skills/oma-db/resources/execution-protocol.md +127 -0
  71. package/skills/oma-db/resources/iso-controls.md +98 -0
  72. package/skills/oma-db/resources/migration-playbook.md +93 -0
  73. package/skills/oma-db/resources/query-tuning.md +57 -0
  74. package/skills/oma-db/resources/vector-db.md +159 -0
  75. package/skills/oma-debug/SKILL.md +146 -0
  76. package/skills/oma-debug/resources/bug-report-template.md +327 -0
  77. package/skills/oma-debug/resources/checklist.md +31 -0
  78. package/skills/oma-debug/resources/common-patterns.md +734 -0
  79. package/skills/oma-debug/resources/debugging-checklist.md +364 -0
  80. package/skills/oma-debug/resources/error-playbook.md +94 -0
  81. package/skills/oma-debug/resources/execution-protocol.md +40 -0
  82. package/skills/oma-design/SKILL.md +135 -0
  83. package/skills/oma-design/resources/asset-strategy.md +34 -0
  84. package/skills/oma-design/resources/checklist.md +63 -0
  85. package/skills/oma-design/resources/data-grid.md +48 -0
  86. package/skills/oma-design/resources/design-md-spec.md +107 -0
  87. package/skills/oma-design/resources/design-tokens.md +53 -0
  88. package/skills/oma-design/resources/error-playbook.md +18 -0
  89. package/skills/oma-design/resources/execution-protocol.md +95 -0
  90. package/skills/oma-design/resources/external-design-skills.md +130 -0
  91. package/skills/oma-design/resources/getdesign-fetcher.md +104 -0
  92. package/skills/oma-design/resources/product-interface-review.md +59 -0
  93. package/skills/oma-design/resources/redesign-protocol.md +52 -0
  94. package/skills/oma-design/resources/stitch-integration.md +244 -0
  95. package/skills/oma-dev-workflow/SKILL.md +375 -0
  96. package/skills/oma-dev-workflow/resources/affected-checks.py +58 -0
  97. package/skills/oma-dev-workflow/resources/api-workflows.md +58 -0
  98. package/skills/oma-dev-workflow/resources/database-patterns.md +107 -0
  99. package/skills/oma-dev-workflow/resources/i18n-patterns.md +63 -0
  100. package/skills/oma-dev-workflow/resources/release-coordination.md +240 -0
  101. package/skills/oma-dev-workflow/resources/tooling-profiles.md +217 -0
  102. package/skills/oma-dev-workflow/resources/troubleshooting.md +78 -0
  103. package/skills/oma-dev-workflow/resources/validation-pipeline.md +246 -0
  104. package/skills/oma-docs/SKILL.md +77 -0
  105. package/skills/oma-docs/resources/commands.md +76 -0
  106. package/skills/oma-explanation/SKILL.md +212 -0
  107. package/skills/oma-explanation/resources/document-structure.md +115 -0
  108. package/skills/oma-explanation/resources/draft-format.md +199 -0
  109. package/skills/oma-explanation/resources/html-contract.md +102 -0
  110. package/skills/oma-frontend/SKILL.md +227 -0
  111. package/skills/oma-frontend/resources/angular-rules.md +110 -0
  112. package/skills/oma-frontend/resources/checklist.md +76 -0
  113. package/skills/oma-frontend/resources/error-playbook.md +125 -0
  114. package/skills/oma-frontend/resources/execution-protocol.md +46 -0
  115. package/skills/oma-frontend/resources/snippets.md +354 -0
  116. package/skills/oma-frontend/resources/specialized-visual-implementation.md +193 -0
  117. package/skills/oma-frontend/resources/tailwind-rules.md +83 -0
  118. package/skills/oma-frontend/resources/tech-stack.md +156 -0
  119. package/skills/oma-hwp/SKILL.md +166 -0
  120. package/skills/oma-hwp/config/hwp-config.yaml +35 -0
  121. package/skills/oma-hwp/resources/balanced-tables.ts +39 -0
  122. package/skills/oma-hwp/resources/execution-protocol.md +145 -0
  123. package/skills/oma-hwp/resources/flatten-tables.ts +101 -0
  124. package/skills/oma-hwp/resources/package.json +13 -0
  125. package/skills/oma-hwp/resources/troubleshooting.md +70 -0
  126. package/skills/oma-hwp/resources/tsconfig.json +10 -0
  127. package/skills/oma-hwp/resources/turndown-plugin-gfm.d.ts +9 -0
  128. package/skills/oma-image/SKILL.md +142 -0
  129. package/skills/oma-image/config/image-config.yaml +70 -0
  130. package/skills/oma-image/resources/checklist.md +18 -0
  131. package/skills/oma-image/resources/execution-protocol.md +117 -0
  132. package/skills/oma-image/resources/invocation.md +105 -0
  133. package/skills/oma-image/resources/prompt-tips.md +71 -0
  134. package/skills/oma-image/resources/vendor-matrix.md +90 -0
  135. package/skills/oma-market/SKILL.md +142 -0
  136. package/skills/oma-market/resources/checklist.md +12 -0
  137. package/skills/oma-market/resources/error-playbook.md +12 -0
  138. package/skills/oma-market/resources/execution-protocol.md +60 -0
  139. package/skills/oma-market/resources/frameworks/pestel.md +101 -0
  140. package/skills/oma-market/resources/frameworks/porters-5f.md +90 -0
  141. package/skills/oma-market/resources/frameworks/swot.md +61 -0
  142. package/skills/oma-market/resources/intent-rules.md +35 -0
  143. package/skills/oma-market/resources/output-laws.md +53 -0
  144. package/skills/oma-mobile/SKILL.md +168 -0
  145. package/skills/oma-mobile/resources/checklist.md +77 -0
  146. package/skills/oma-mobile/resources/error-playbook.md +198 -0
  147. package/skills/oma-mobile/resources/execution-protocol.md +47 -0
  148. package/skills/oma-mobile/resources/screen-template.dart +331 -0
  149. package/skills/oma-mobile/resources/screen-template.swift +239 -0
  150. package/skills/oma-mobile/resources/screen-template.tsx +179 -0
  151. package/skills/oma-mobile/resources/tech-stack.md +69 -0
  152. package/skills/oma-mobile/variants/README.md +45 -0
  153. package/skills/oma-mobile/variants/flutter/api-template.dart +461 -0
  154. package/skills/oma-mobile/variants/flutter/snippets.md +1353 -0
  155. package/skills/oma-mobile/variants/flutter/stack.yaml +21 -0
  156. package/skills/oma-mobile/variants/flutter/tech-stack.md +201 -0
  157. package/skills/oma-mobile/variants/kotlin-android/api-template.kt +182 -0
  158. package/skills/oma-mobile/variants/kotlin-android/snippets.md +871 -0
  159. package/skills/oma-mobile/variants/kotlin-android/stack.yaml +32 -0
  160. package/skills/oma-mobile/variants/kotlin-android/tech-stack.md +159 -0
  161. package/skills/oma-mobile/variants/react-native/api-template.ts +531 -0
  162. package/skills/oma-mobile/variants/react-native/snippets.md +1014 -0
  163. package/skills/oma-mobile/variants/react-native/stack.yaml +22 -0
  164. package/skills/oma-mobile/variants/react-native/tech-stack.md +192 -0
  165. package/skills/oma-mobile/variants/stack.schema.json +68 -0
  166. package/skills/oma-mobile/variants/swift-ios/api-template.swift +165 -0
  167. package/skills/oma-mobile/variants/swift-ios/snippets.md +1028 -0
  168. package/skills/oma-mobile/variants/swift-ios/stack.yaml +25 -0
  169. package/skills/oma-mobile/variants/swift-ios/tech-stack.md +174 -0
  170. package/skills/oma-observability/SKILL.md +225 -0
  171. package/skills/oma-observability/resources/anti-patterns.md +555 -0
  172. package/skills/oma-observability/resources/boundaries/cross-application.md +348 -0
  173. package/skills/oma-observability/resources/boundaries/multi-tenant.md +290 -0
  174. package/skills/oma-observability/resources/boundaries/release.md +372 -0
  175. package/skills/oma-observability/resources/boundaries/slo.md +225 -0
  176. package/skills/oma-observability/resources/checklist.md +123 -0
  177. package/skills/oma-observability/resources/examples.md +448 -0
  178. package/skills/oma-observability/resources/execution-protocol.md +166 -0
  179. package/skills/oma-observability/resources/incident-forensics.md +348 -0
  180. package/skills/oma-observability/resources/intent-rules.md +307 -0
  181. package/skills/oma-observability/resources/layers/L3-network.md +281 -0
  182. package/skills/oma-observability/resources/layers/L4-transport.md +299 -0
  183. package/skills/oma-observability/resources/layers/L7-application/crash-analytics.md +359 -0
  184. package/skills/oma-observability/resources/layers/L7-application/mobile-rum.md +278 -0
  185. package/skills/oma-observability/resources/layers/L7-application/waf.md +246 -0
  186. package/skills/oma-observability/resources/layers/L7-application/web-rum.md +350 -0
  187. package/skills/oma-observability/resources/layers/mesh.md +368 -0
  188. package/skills/oma-observability/resources/matrix.md +177 -0
  189. package/skills/oma-observability/resources/meta-observability.md +605 -0
  190. package/skills/oma-observability/resources/observability-as-code.md +666 -0
  191. package/skills/oma-observability/resources/signals/audit.md +310 -0
  192. package/skills/oma-observability/resources/signals/cost.md +303 -0
  193. package/skills/oma-observability/resources/signals/logs.md +263 -0
  194. package/skills/oma-observability/resources/signals/metrics.md +478 -0
  195. package/skills/oma-observability/resources/signals/privacy.md +351 -0
  196. package/skills/oma-observability/resources/signals/profiles.md +245 -0
  197. package/skills/oma-observability/resources/signals/traces.md +360 -0
  198. package/skills/oma-observability/resources/standards.md +214 -0
  199. package/skills/oma-observability/resources/transport/collector-topology.md +308 -0
  200. package/skills/oma-observability/resources/transport/otlp-grpc-vs-http.md +256 -0
  201. package/skills/oma-observability/resources/transport/sampling-recipes.md +297 -0
  202. package/skills/oma-observability/resources/transport/udp-statsd-mtu.md +167 -0
  203. package/skills/oma-observability/resources/vendor-categories.md +352 -0
  204. package/skills/oma-orchestration/SKILL.md +302 -0
  205. package/skills/oma-orchestration/config/cli-config.yaml +92 -0
  206. package/skills/oma-orchestration/resources/memory-schema.md +232 -0
  207. package/skills/oma-orchestration/resources/subagent-prompt-template.md +30 -0
  208. package/skills/oma-orchestration/scripts/parallel-run.sh +6 -0
  209. package/skills/oma-orchestration/scripts/spawn-agent.sh +5 -0
  210. package/skills/oma-orchestration/scripts/verify.sh +20 -0
  211. package/skills/oma-orchestration/templates/backend-task.md +19 -0
  212. package/skills/oma-orchestration/templates/debug-task.md +16 -0
  213. package/skills/oma-orchestration/templates/frontend-task.md +18 -0
  214. package/skills/oma-orchestration/templates/mobile-task.md +18 -0
  215. package/skills/oma-orchestration/templates/qa-task.md +16 -0
  216. package/skills/oma-orchestration/templates/tasks-example.yaml +15 -0
  217. package/skills/oma-pdf/SKILL.md +162 -0
  218. package/skills/oma-pdf/config/pdf-config.yaml +27 -0
  219. package/skills/oma-pdf/resources/execution-protocol.md +127 -0
  220. package/skills/oma-pm/SKILL.md +157 -0
  221. package/skills/oma-pm/resources/error-playbook.md +75 -0
  222. package/skills/oma-pm/resources/examples.md +439 -0
  223. package/skills/oma-pm/resources/execution-protocol.md +62 -0
  224. package/skills/oma-pm/resources/iso-planning.md +110 -0
  225. package/skills/oma-pm/resources/plan-phase-protocol.md +66 -0
  226. package/skills/oma-pm/resources/task-template.json +86 -0
  227. package/skills/oma-qa/SKILL.md +141 -0
  228. package/skills/oma-qa/resources/checklist.md +339 -0
  229. package/skills/oma-qa/resources/error-playbook.md +98 -0
  230. package/skills/oma-qa/resources/execution-protocol.md +169 -0
  231. package/skills/oma-qa/resources/iso-quality.md +82 -0
  232. package/skills/oma-qa/resources/verify-ship-protocol.md +116 -0
  233. package/skills/oma-recap/SKILL.md +245 -0
  234. package/skills/oma-recap/resources/output-formats.md +83 -0
  235. package/skills/oma-refactor/SKILL.md +184 -0
  236. package/skills/oma-refactor/resources/definition.md +108 -0
  237. package/skills/oma-refactor/resources/governance.md +33 -0
  238. package/skills/oma-refactor/resources/hotspots.py +44 -0
  239. package/skills/oma-refactor/resources/measurement.md +93 -0
  240. package/skills/oma-scholar/SKILL.md +276 -0
  241. package/skills/oma-scholar/config/scholar-config.yaml +79 -0
  242. package/skills/oma-scholar/resources/api-endpoints.md +174 -0
  243. package/skills/oma-scholar/resources/checklist.md +92 -0
  244. package/skills/oma-scholar/resources/execution-protocol.md +224 -0
  245. package/skills/oma-scholar/resources/fallback-providers.md +143 -0
  246. package/skills/oma-scholar/resources/setup-openalex.md +85 -0
  247. package/skills/oma-scholar/resources/sidecar-spec.md +341 -0
  248. package/skills/oma-scholar/resources/upstream-spec-cache.md +972 -0
  249. package/skills/oma-scm/SKILL.md +103 -0
  250. package/skills/oma-scm/resources/cm-operations.md +56 -0
  251. package/skills/oma-scm/resources/codeowners-playbook.md +45 -0
  252. package/skills/oma-scm/resources/conventional-commits.md +108 -0
  253. package/skills/oma-scm/resources/merge-risk.md +76 -0
  254. package/skills/oma-scm/resources/onboarding-risk-signals.md +71 -0
  255. package/skills/oma-search/SKILL.md +125 -0
  256. package/skills/oma-search/resources/checklist.md +36 -0
  257. package/skills/oma-search/resources/error-playbook.md +66 -0
  258. package/skills/oma-search/resources/examples.md +80 -0
  259. package/skills/oma-search/resources/execution-protocol.md +86 -0
  260. package/skills/oma-search/resources/intent-rules.md +47 -0
  261. package/skills/oma-search/resources/trust-registry.md +53 -0
  262. package/skills/oma-security/SKILL.md +172 -0
  263. package/skills/oma-security/resources/artex.md +108 -0
  264. package/skills/oma-security/resources/ci.md +134 -0
  265. package/skills/oma-security/resources/cisco-source.md +108 -0
  266. package/skills/oma-security/resources/deepsec-config.md +45 -0
  267. package/skills/oma-security/resources/deepsec-matchers.md +35 -0
  268. package/skills/oma-security/resources/deepsec-scanning.md +45 -0
  269. package/skills/oma-security/resources/deepsec-setup.md +41 -0
  270. package/skills/oma-security/resources/findings-contract.md +408 -0
  271. package/skills/oma-security/resources/mcp-scanning.md +122 -0
  272. package/skills/oma-security/resources/skill-scanning.md +106 -0
  273. package/skills/oma-security/resources/validation.md +71 -0
  274. package/skills/oma-skill-creation/SKILL.md +84 -0
  275. package/skills/oma-skill-creation/resources/prompt-evaluation.md +36 -0
  276. package/skills/oma-skill-creation/resources/ssl-lite-template.md +108 -0
  277. package/skills/oma-skill-creation/resources/validation-checklist.md +101 -0
  278. package/skills/oma-slide/SKILL.md +277 -0
  279. package/skills/oma-slide/resources/animation-patterns.md +245 -0
  280. package/skills/oma-slide/resources/assets/deck-stage.js +514 -0
  281. package/skills/oma-slide/resources/assets/viewport-base.css +257 -0
  282. package/skills/oma-slide/resources/canva-integration.md +203 -0
  283. package/skills/oma-slide/resources/checklist.md +46 -0
  284. package/skills/oma-slide/resources/design-doctrine.md +260 -0
  285. package/skills/oma-slide/resources/fixed-stage.md +232 -0
  286. package/skills/oma-slide/resources/generation-protocol.md +393 -0
  287. package/skills/oma-slide/resources/native-pptx.md +84 -0
  288. package/skills/oma-slide/resources/selection-index.json +461 -0
  289. package/skills/oma-slide/resources/style-presets.LICENSE +10 -0
  290. package/skills/oma-slide/resources/style-presets.md +520 -0
  291. package/skills/oma-tf-infra/SKILL.md +201 -0
  292. package/skills/oma-tf-infra/resources/checklist.md +53 -0
  293. package/skills/oma-tf-infra/resources/cost-optimization.md +574 -0
  294. package/skills/oma-tf-infra/resources/error-playbook.md +68 -0
  295. package/skills/oma-tf-infra/resources/examples.md +38 -0
  296. package/skills/oma-tf-infra/resources/execution-protocol.md +129 -0
  297. package/skills/oma-tf-infra/resources/iso-42001-infra.md +229 -0
  298. package/skills/oma-tf-infra/resources/multi-cloud-examples.md +241 -0
  299. package/skills/oma-tf-infra/resources/policy-testing-examples.md +332 -0
  300. package/skills/oma-translation/SKILL.md +229 -0
  301. package/skills/oma-translation/resources/anti-ai-patterns.md +104 -0
  302. package/skills/oma-translation/resources/lang/_template.md +73 -0
  303. package/skills/oma-translation/resources/lang/en.md +123 -0
  304. package/skills/oma-translation/resources/lang/ja.md +274 -0
  305. package/skills/oma-translation/resources/lang/ko.md +228 -0
  306. package/skills/oma-translation/resources/lang/zh.md +285 -0
  307. package/skills/oma-translation/resources/style-skills.md +104 -0
  308. package/skills/oma-translation/resources/translation-rubric.md +126 -0
  309. package/skills/oma-video/SKILL.md +229 -0
  310. package/skills/oma-video/config/video-config.yaml +60 -0
  311. package/skills/oma-video/resources/checklist.md +26 -0
  312. package/skills/oma-video/resources/execution-protocol.md +122 -0
  313. package/skills/oma-video/resources/existing-media.md +185 -0
  314. package/skills/oma-video/resources/hyperframes-authoring/README.md +44 -0
  315. package/skills/oma-video/resources/hyperframes-authoring/demo.md +31 -0
  316. package/skills/oma-video/resources/hyperframes-authoring/explainer.md +10 -0
  317. package/skills/oma-video/resources/hyperframes-authoring/shorts.md +10 -0
  318. package/skills/oma-video/resources/motion-principles.md +81 -0
  319. package/skills/oma-video/resources/mpt/driver.py +301 -0
  320. package/skills/oma-video/resources/prompt-tips.md +75 -0
  321. package/skills/oma-video/resources/script-schema.md +81 -0
  322. package/skills/oma-video/resources/sound-design.md +127 -0
  323. package/skills/oma-video/resources/strudel/package.json +11 -0
  324. package/skills/oma-video/resources/strudel/page.html +87 -0
  325. package/skills/oma-video/resources/strudel/render.mjs +295 -0
  326. package/skills/oma-video/resources/vendor-matrix.md +124 -0
  327. package/skills/oma-voice/SKILL.md +249 -0
  328. package/skills/oma-voice/config/voice-config.yaml +30 -0
  329. package/skills/oma-voice/resources/audio-processing.md +119 -0
  330. package/skills/oma-voice/resources/checklist.md +47 -0
  331. package/skills/oma-voice/resources/execution-protocol.md +215 -0
  332. package/skills/oma-voice/resources/prompt-tips.md +43 -0
  333. package/skills/oma-voice/resources/voice-matrix.md +51 -0
  334. package/skills/oma-voice/resources/voicestudio.md +87 -0
@@ -0,0 +1,375 @@
1
+ ---
2
+ name: oma-dev-workflow
3
+ description: Configure development tasks, git hooks, CI/CD, or release
4
+ automation. Use when creating or fixing a repository development workflow.
5
+ ---
6
+
7
+ # Dev Workflow - Monorepo Task Automation Specialist
8
+
9
+ ## Scheduling
10
+
11
+ ### Goal
12
+ Set up, run, optimize, and troubleshoot reproducible development workflows using `mise`, language-specific checks, commitlint, validation pipelines, CI/CD, migrations, i18n builds, and release coordination.
13
+
14
+ ### Intent signature
15
+ - User asks about dev servers, mise tasks, lint/format/typecheck/test/build, git hooks, CI/CD, migrations, generated clients, i18n builds, or release automation.
16
+ - User needs workflow execution or developer environment setup rather than product feature implementation.
17
+ - User asks to configure Ruff/pyrefly, Biome/TypeScript 7, Dart/Flutter checks, Hadolint, or commitlint.
18
+
19
+ ### When to use
20
+
21
+ - Running development servers for monorepo with multiple applications
22
+ - Executing lint, format, typecheck across multiple apps in parallel
23
+ - Managing database migrations and schema changes
24
+ - Generating API clients or code from schemas
25
+ - Building internationalization (i18n) files
26
+ - Executing production builds and deployment preparation
27
+ - Running parallel tasks in monorepo context
28
+ - Setting up pre-commit validation workflows
29
+ - Configuring language-specific lint, format, and typecheck tools, Dockerfile linting, and commit-message validation
30
+ - Troubleshooting mise task failures or configuration issues
31
+ - Optimizing CI/CD pipelines with mise
32
+
33
+ ### When NOT to use
34
+
35
+ - Database schema design or query tuning -> use DB Agent
36
+ - Backend API implementation -> use Backend Agent
37
+ - Frontend UI implementation -> use Frontend Agent
38
+ - Mobile development -> use Mobile Agent
39
+
40
+ ### Expected inputs
41
+ - Requested workflow operation, affected apps/packages, and current monorepo structure
42
+ - Project manifests, lockfiles, tool configs, `mise.toml`, task definitions, CI files, hook manager, and failure logs when relevant
43
+ - Desired validation, setup, or release outcome
44
+
45
+ ### Expected outputs
46
+ - Executed or documented mise task workflow
47
+ - Updated workflow config, CI/CD pipeline, hooks, env template, or release guidance when requested
48
+ - Project-local tool dependencies/configs and runnable `lint`, `format`, `format:check`, `typecheck`, and commitlint tasks for the selected profiles
49
+ - Status report with commands, outputs, failures, and next actions
50
+
51
+ ### Dependencies
52
+ - `mise`, project task definitions, runtime versions, package managers behind mise tasks
53
+ - Resource guides for validation, database patterns, API workflows, i18n, release coordination, and troubleshooting
54
+ - Selected language toolchains and locally provisioned commitlint; no package downloads from Git hooks
55
+
56
+ ### Control-flow features
57
+ - Branches by affected apps, task dependency graph, port availability, task failure, and CI/release context
58
+ - Calls local process commands; may write workflow/config files
59
+ - Must avoid destructive tasks and secrets in workflow configs
60
+
61
+ ## Structural Flow
62
+
63
+ ### Entry
64
+ 1. Identify affected apps/packages and requested workflow outcome.
65
+ 2. Read `mise.toml` files and available tasks.
66
+ 3. Determine whether tasks can run in parallel or must be sequential.
67
+
68
+ ### Scenes
69
+ 1. **PREPARE**: Analyze requirements, task graph, runtime prerequisites, and ports.
70
+ 2. **ACQUIRE**: Inspect mise config, task definitions, CI hooks, env patterns, and logs.
71
+ 3. **ACT**: Run or modify mise tasks, workflow configs, or validation pipelines.
72
+ 4. **VERIFY**: Check exit codes, generated artifacts, logs, and CI compatibility.
73
+ 5. **FINALIZE**: Report command status, duration, failures, and next steps.
74
+
75
+ ### Transitions
76
+ - If runtime versions changed, run `mise install`.
77
+ - If changed-file tasks exist, prefer changed-scope validation.
78
+ - If port is occupied, resolve or select another port before starting dev server.
79
+ - If a task is unfamiliar, read its definition before running.
80
+ - For setup, preserve existing tools and commands; apply language defaults only where configuration is missing. For execution-only requests, use existing checks without installing or replacing tools.
81
+ - `/stack-set` detects and records the stack. This skill owns tool setup and task/CI wiring; domain skills consume the resulting verification commands.
82
+
83
+ ### Failure and recovery
84
+ - If task is missing, run `mise tasks --all`.
85
+ - If runtime is missing, run or recommend `mise install`.
86
+ - If task hangs, check for prompts or long-running dev-server behavior.
87
+ - If destructive task is requested, require confirmation.
88
+ - If a selected checker cannot run, report that check as incomplete and fix its setup within scope; do not replace it with a passing placeholder or a build.
89
+ - If a hook skips because another check is still running and exits 0, that push was not validated. Stop the owned previous run, or exit nonzero. Do not hide a gate failure with `|| true`.
90
+
91
+ ### Exit
92
+ - Success: workflow runs or config changes are verified.
93
+ - Partial success: task failures, missing runtime, or CI/environment blockers are explicit.
94
+
95
+ ## Logical Operations
96
+
97
+ ### Actions
98
+ | Action | SSL primitive | Evidence |
99
+ |--------|---------------|----------|
100
+ | Read task definitions | `READ` | `mise.toml`, CI config |
101
+ | Select task strategy | `SELECT` | Parallel/sequential/changed-scope |
102
+ | Run workflow commands | `CALL_TOOL` | `mise run`, `mise install`, `mise tasks` |
103
+ | Write workflow config | `WRITE` | Hooks, CI, env templates |
104
+ | Validate outputs | `VALIDATE` | Exit codes, logs, artifacts |
105
+ | Report status | `NOTIFY` | Final workflow summary |
106
+
107
+ ### Tools and instruments
108
+ - `mise`, shell, CI/CD tooling, project package manager tasks behind mise
109
+ - Resource guides for validation, database, API, i18n, release, and troubleshooting
110
+
111
+ ### Canonical command path
112
+ 1. Inspect affected app manifests, lockfiles, tool configs, `mise.toml`, CI, hooks, and any `stack/stack.yaml`. Read task definitions and use `mise tasks --all` to discover existing commands.
113
+ 2. For setup or tool changes, load the selected tooling profiles from References. Configure missing dependencies, settings, and tasks with the detected package manager; preserve existing tool choices. For checks alone, skip setup.
114
+ 3. Expose applicable checks as `lint`, `format:check`, and `typecheck`; keep mutating `format` separate. A `check` task can aggregate non-emitting checks. Connect existing stack `verify.syntax.cmd` to that task without adding unsupported schema keys; preserve `verify.tests` and domain-specific scans.
115
+ 4. For hook/CI setup, load the validation pipeline. Provision locked local tools first, preserve the existing hook manager, and connect commitlint to the local `commit-msg` hook. Staged lint stays on pre-commit. Typecheck the whole affected app on the push gate when commit time is the constraint. Configure CI for app checks and tests. Default hooks and required CI run hermetic checks and unit tests only; integration tests get a separate opt-in task.
116
+ 5. Before relaunching local validation, follow the validation pipeline's repeated-run guidance. A skipped run is not a pass. Run the configured `mise run check` aggregate, or the applicable individual `lint`, `format:check`, and `typecheck` tasks, plus the relevant hermetic tests. Do not start Docker or external services for validation. Run each underlying checker once. Use `mise run //{path}:{task}` for configured monorepos; typecheck the complete affected app rather than individual changed files.
117
+ 6. Report the selected tools, commands, checks passed, and any unavailable or inapplicable checks. Builds remain subject to the execution policy.
118
+
119
+ ### Resource scope
120
+ | Scope | Resource target |
121
+ |-------|-----------------|
122
+ | `CODEBASE` | `mise.toml`, CI configs, scripts, generated clients |
123
+ | `LOCAL_FS` | Env templates, build outputs, logs |
124
+ | `PROCESS` | mise, build, test, lint, dev-server commands |
125
+ | `CREDENTIALS` | Secrets must not be hardcoded in workflow configs |
126
+
127
+ ### Preconditions
128
+ - Target workflow and affected project area are identifiable.
129
+ - Task definitions can be discovered or missing-task state is reported.
130
+
131
+ ### Effects and side effects
132
+ - May start dev servers, run tests/builds, generate clients, run migrations, or edit workflow configs.
133
+ - May consume CPU/time or occupy ports.
134
+
135
+ ### Guardrails
136
+
137
+ 1. Always use `mise run` tasks instead of direct package manager commands
138
+ 2. Run `mise install` after pulling changes that might update runtime versions
139
+ 3. Use parallel tasks (`mise run lint`, `mise run test`) for independent operations. Cap concurrency when a measurement shows more workers slow the same suite
140
+ 4. Run lint and test on changed scope. Keep a repository selector that already fails closed on shared or unknown paths; do not replace it with the generic affected-checks helper
141
+ 5. Validate commit messages with commitlint before committing
142
+ 6. Run pre-commit validation pipeline for staged files only
143
+ 7. Configure CI to skip unchanged apps for faster builds
144
+ 8. Check `mise tasks --all` to discover available tasks before running
145
+ 9. Verify task output and exit codes for CI/CD integration
146
+ 10. Document task dependencies in mise.toml comments
147
+ 11. Use consistent task naming conventions across apps
148
+ 12. Enable mise in CI/CD pipelines for reproducible builds
149
+ 13. Pin runtime versions in mise.toml for consistency
150
+ 14. Test tasks locally before committing CI/CD changes
151
+ 15. Never fetch packages from a Git hook. When a mise task already runs a checker, call that task. A hook running under `mise exec` may call the pinned local binary directly
152
+ 16. Never modify mise.toml without understanding task dependencies
153
+ 17. Never skip `mise install` after toolchain version updates
154
+ 18. Never run dev servers without checking port availability first
155
+ 19. Never commit past a failing staged lint. Typecheck the whole affected app on the push gate when doing it on every commit would dominate commit time
156
+ 20. Never ignore task failures - always investigate root cause
157
+ 21. Never hardcode secrets in mise.toml files
158
+ 22. Never assume task availability - always verify with `mise tasks`
159
+ 23. Never run destructive tasks (clean, reset) without confirmation
160
+ 24. Never skip reading task definitions before running unfamiliar tasks
161
+ 25. Always quote task names containing `:` in mise.toml (`[tasks."lint:changed"]`) — unquoted colons fail TOML parsing
162
+ 26. Always set `monorepo_root = true` (plus `[monorepo].config_roots`) in the root mise.toml before using `//path:task` syntax
163
+ 27. Keep check tasks non-mutating; run format/fix tasks only within the requested edit scope, and never rewrite unstaged changes from a Git hook
164
+ 28. Keep integration tests in a separate opt-in task and out of `git:pre-commit`, `git:pre-push`, `validate:changed`, and required CI gates
165
+ 29. Prefer hermetic tests: do not introduce tests that need Docker, containers (including testcontainers), or external services. If unavoidable, isolate them in the integration task and document the dependency
166
+
167
+ ### Technical Guidelines
168
+
169
+ ### Prerequisites
170
+
171
+ Reuse an existing `mise` installation. If it is missing, install it with a package manager supported by your platform. For example, with Homebrew already installed:
172
+
173
+ ```bash
174
+ brew install mise
175
+ ```
176
+
177
+ For other platforms, use a package-manager method from the [official installation guide](https://mise.jdx.dev/installing-mise.html). Do not pipe a remote installation script directly into a shell.
178
+
179
+ Follow the [shell setup guide](https://mise.jdx.dev/shell-setup.html) for your current shell when activation is needed. Check for existing activation before editing shell configuration, and use `mise` from `PATH` rather than assuming `~/.local/bin/mise`.
180
+
181
+ ```bash
182
+ # Verify mise is available
183
+ mise --version
184
+
185
+ # Install all runtimes defined in mise.toml
186
+ mise install
187
+
188
+ # Verify installation
189
+ mise list
190
+ ```
191
+
192
+ ### Project Structure (Monorepo)
193
+
194
+ ```
195
+ project-root/
196
+ ├── mise.toml # Root task definitions
197
+ ├── apps/
198
+ │ ├── api/ # Backend application
199
+ │ │ └── mise.toml # App-specific tasks
200
+ │ ├── web/ # Frontend application
201
+ │ │ └── mise.toml
202
+ │ └── mobile/ # Mobile application
203
+ │ └── mise.toml
204
+ ├── packages/
205
+ │ ├── shared/ # Shared libraries
206
+ │ └── config/ # Shared configuration
207
+ └── scripts/ # Utility scripts
208
+ ```
209
+
210
+ The root `mise.toml` must enable monorepo task paths, or every `//path:task` invocation fails with "require a monorepo root configuration":
211
+
212
+ ```toml
213
+ # Root mise.toml — monorepo_root is a top-level key (before any [table])
214
+ monorepo_root = true
215
+
216
+ [monorepo]
217
+ config_roots = ["apps/*", "packages/*"]
218
+ ```
219
+
220
+ ### Task Syntax
221
+
222
+ **Root-level tasks:**
223
+ ```bash
224
+ mise run lint # Lint all apps (parallel)
225
+ mise run test # Test all apps (parallel)
226
+ mise run dev # Start all dev servers
227
+ mise run build # Production builds
228
+ ```
229
+
230
+ **App-specific tasks:**
231
+ ```bash
232
+ # Syntax: mise run //{path}:{task}
233
+ # Requires monorepo_root = true in root mise.toml (see Project Structure)
234
+ mise run //apps/api:dev
235
+ mise run //apps/api:test
236
+ mise run //apps/web:build
237
+ ```
238
+
239
+ **TOML quoting rule:** task names containing `:` must be quoted — `[tasks."gen:api"]`, never `[tasks.gen:api]` (unquoted colons are a TOML parse error).
240
+
241
+ ### Common Task Patterns
242
+
243
+ | Task Type | Purpose | Example |
244
+ |-----------|---------|---------|
245
+ | `dev` | Start development server | `mise run //apps/api:dev` |
246
+ | `build` | Production build | `mise run //apps/web:build` |
247
+ | `test` | Run test suite | `mise run //apps/api:test` |
248
+ | `lint` | Run linter | `mise run lint` |
249
+ | `format` | Format code | `mise run format` |
250
+ | `format:check` | Check formatting without writes | `mise run format:check` |
251
+ | `typecheck` | Type checking | `mise run typecheck` |
252
+ | `check` | Aggregate applicable non-emitting checks | `mise run check` |
253
+ | `migrate` | Database migrations | `mise run //apps/api:migrate` |
254
+
255
+ ### Reference Guide
256
+
257
+ | Topic | Resource File | When to Load |
258
+ |-------|---------------|--------------|
259
+ | Validation Pipeline | `resources/validation-pipeline.md` | Git hooks, CI/CD, change-based testing, repeated local validation |
260
+ | Database & Infrastructure | `resources/database-patterns.md` | Migrations, optional local Docker infra (not a test dependency) |
261
+ | API Generation | `resources/api-workflows.md` | Generating API clients |
262
+ | i18n Patterns | `resources/i18n-patterns.md` | Internationalization |
263
+ | Release Coordination | `resources/release-coordination.md` | Versioning, changelog, releases |
264
+ | Troubleshooting | `resources/troubleshooting.md` | Debugging issues |
265
+
266
+ ### Task Dependencies
267
+
268
+ Define dependencies in `mise.toml`:
269
+
270
+ ```toml
271
+ [tasks.build]
272
+ depends = ["lint", "test"]
273
+ run = "echo 'Building after lint and test pass'"
274
+
275
+ [tasks.dev]
276
+ depends = ["//apps/api:dev", "//apps/web:dev"]
277
+ ```
278
+
279
+ ### Parallel vs Sequential Execution
280
+
281
+ **Parallel (independent tasks):**
282
+ ```bash
283
+ # Runs all lint tasks simultaneously (via depends)
284
+ mise run lint
285
+
286
+ # mise-native parallel execution of multiple tasks
287
+ mise run lint ::: test
288
+ ```
289
+
290
+ **Sequential (dependent tasks):**
291
+ ```bash
292
+ # Runs in order: lint → test → build
293
+ mise run lint && mise run test && mise run build
294
+ ```
295
+
296
+ **Mixed approach:**
297
+ ```bash
298
+ # Start dev servers in background
299
+ mise run //apps/api:dev &
300
+ mise run //apps/web:dev &
301
+ wait
302
+ ```
303
+
304
+ ### Environment Variables
305
+
306
+ Common patterns for monorepo env vars:
307
+
308
+ ```bash
309
+ # Database
310
+ DATABASE_URL=postgresql://user:pass@localhost:5432/db
311
+
312
+ # Cache
313
+ REDIS_URL=redis://localhost:6379/0
314
+
315
+ # API
316
+ API_URL=http://localhost:8000
317
+
318
+ # Frontend
319
+ PUBLIC_API_URL=http://localhost:8000
320
+ ```
321
+
322
+ ### Output Templates
323
+
324
+ When setting up development environment:
325
+ 1. Runtime installation verification (`mise list`)
326
+ 2. Dependency installation commands per app
327
+ 3. Environment variable template (.env.example)
328
+ 4. Development server startup commands
329
+ 5. Common task quick reference
330
+
331
+ When running tasks:
332
+ 1. Command executed with full path
333
+ 2. Expected output summary
334
+ 3. Duration and success/failure status
335
+ 4. Next recommended actions
336
+
337
+ When troubleshooting:
338
+ 1. Diagnostic commands (`mise config`, `mise doctor`)
339
+ 2. Common issue solutions
340
+ 3. Port/process conflict resolution
341
+ 4. Cleanup commands if needed
342
+
343
+ ### Troubleshooting Guide
344
+
345
+ | Issue | Solution |
346
+ |-------|----------|
347
+ | Task not found | Run `mise tasks --all` to list available tasks |
348
+ | Runtime not found | Run `mise install` to install missing runtime |
349
+ | Task hangs | Check for interactive prompts, use `--yes` if available |
350
+ | Port already in use | Find process: `lsof -ti:PORT` then kill |
351
+ | Permission denied | Check file permissions, try with proper user |
352
+ | Missing dependencies | Run `mise run install` or app-specific install |
353
+
354
+ ### How to Execute
355
+
356
+ Follow the core workflow step by step:
357
+ 1. **Analyze Task Requirements** - Identify which apps are affected and task dependencies
358
+ 2. **Check mise Configuration** - Verify mise.toml structure and available tasks
359
+ 3. **Determine Execution Strategy** - Decide between parallel vs sequential task execution
360
+ 4. **Run Prerequisites** - Install runtimes, dependencies if needed
361
+ 5. **Execute Tasks** - Run mise tasks with proper error handling
362
+ 6. **Verify Results** - Check output, logs, and generated artifacts
363
+ 7. **Report Status** - Summarize success/failure with actionable next steps
364
+
365
+ ### Execution Protocol (CLI Mode)
366
+
367
+ ## References
368
+
369
+ - Tooling profiles: [resources/tooling-profiles.md](resources/tooling-profiles.md) (configure or change Python, JS/TS, Dart/Flutter, Dockerfile, or commitlint tooling)
370
+ - Clarification: `../_shared/core/clarification-protocol.md`
371
+ - Task decomposition: `../_shared/core/difficulty-guide.md` (unresolved scope or dependencies)
372
+
373
+ ### Knowledge Reference
374
+
375
+ mise, task runner, monorepo, dev server, lint, format, test, typecheck, build, deployment, ci/cd, parallel execution, workflow, automation, tooling
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env python3
2
+ """Run existing app checks for staged changes or a complete branch diff."""
3
+ import argparse
4
+ from pathlib import Path
5
+ import subprocess
6
+
7
+ APPS = ("web", "api", "mobile")
8
+ # Adapt each entry to applicable apps; absent required tasks must fail.
9
+ CHECK_APPS = {kind: APPS for kind in ("check", "lint", "typecheck", "test")}
10
+
11
+ def affected_apps(paths):
12
+ """Unknown/shared/root paths conservatively affect every example app."""
13
+ affected = set()
14
+ for path in paths:
15
+ parts = path.split("/")
16
+ if len(parts) >= 3 and parts[0] == "apps" and parts[1] in APPS:
17
+ affected.add(parts[1])
18
+ else:
19
+ return list(APPS)
20
+ return [app for app in APPS if app in affected]
21
+
22
+ def changed_paths(repo, *, staged=False, base=None):
23
+ prefix = ["git", "-C", str(repo)]
24
+ if staged:
25
+ args = ["diff", "--cached", "--name-only", "-z"]
26
+ result = subprocess.run(prefix + args, check=True, capture_output=True)
27
+ return [p.decode("utf-8", "surrogateescape") for p in result.stdout.split(b"\0") if p]
28
+ if not base:
29
+ return None # unknown base: run every app instead of silently skipping
30
+ result = subprocess.run(prefix + ["diff", "--name-only", "-z", f"{base}...HEAD"],
31
+ capture_output=True)
32
+ if result.returncode:
33
+ return None
34
+ working = subprocess.run(prefix + ["diff", "--name-only", "-z", "HEAD"],
35
+ check=True, capture_output=True)
36
+ return [p.decode("utf-8", "surrogateescape")
37
+ for p in (result.stdout + working.stdout).split(b"\0") if p]
38
+
39
+ def main():
40
+ parser = argparse.ArgumentParser(description=__doc__)
41
+ parser.add_argument("--kind", choices=tuple(CHECK_APPS), required=True)
42
+ parser.add_argument("--staged", action="store_true")
43
+ parser.add_argument("--base", help="PR target revision or configured target branch")
44
+ parser.add_argument("--repo", type=Path, default=Path.cwd())
45
+ parser.add_argument("--list", action="store_true", help="Print app names without running checks")
46
+ args = parser.parse_args()
47
+ paths = changed_paths(args.repo, staged=args.staged, base=args.base)
48
+ apps = list(APPS) if paths is None else affected_apps(paths)
49
+ apps = [app for app in apps if app in CHECK_APPS[args.kind]]
50
+ for app in apps:
51
+ if args.list:
52
+ print(app)
53
+ else:
54
+ subprocess.run(["mise", "run", f"//apps/{app}:{args.kind}"],
55
+ cwd=args.repo, check=True)
56
+
57
+ if __name__ == "__main__":
58
+ main()
@@ -0,0 +1,58 @@
1
+ # API Generation Workflows
2
+
3
+ Generate API clients from OpenAPI schemas.
4
+
5
+ ## OpenAPI to Client Pipeline
6
+
7
+ ```bash
8
+ # 1. Generate OpenAPI schema from backend
9
+ mise run //apps/api:gen:openapi
10
+
11
+ # 2. Generate TypeScript client for web
12
+ mise run //apps/web:gen:api
13
+
14
+ # 3. Generate Dart client for mobile
15
+ mise run //apps/mobile:gen:api
16
+ ```
17
+
18
+ ## Backend Tasks
19
+
20
+ ```toml
21
+ # apps/api/mise.toml
22
+ [tasks."gen:openapi"]
23
+ description = "Generate OpenAPI schema"
24
+ run = "uv run python -c 'from src.main import app; import json; print(json.dumps(app.openapi()))' > openapi.json"
25
+ ```
26
+
27
+ ## Web Tasks
28
+
29
+ ```toml
30
+ # apps/web/mise.toml
31
+ [tasks."gen:api"]
32
+ description = "Generate API client from OpenAPI"
33
+ depends = ["//apps/api:gen:openapi"]
34
+ run = "bunx orval"
35
+ ```
36
+
37
+ ## Mobile Tasks
38
+
39
+ ```toml
40
+ # apps/mobile/mise.toml
41
+ [tasks."gen:api"]
42
+ description = "Generate API client from OpenAPI"
43
+ depends = ["//apps/api:gen:openapi"]
44
+ run = "flutter pub run swagger_parser"
45
+ ```
46
+
47
+ ## Root-Level API Generation
48
+
49
+ ```toml
50
+ # Root mise.toml
51
+ [tasks."gen:api"]
52
+ description = "Generate API clients for all apps"
53
+ depends = [
54
+ "//apps/api:gen:openapi",
55
+ "//apps/web:gen:api",
56
+ "//apps/mobile:gen:api"
57
+ ]
58
+ ```
@@ -0,0 +1,107 @@
1
+ # Database & Local Infrastructure
2
+
3
+ Database migration workflows and local development infrastructure.
4
+
5
+ ## Migration Tasks
6
+
7
+ ```toml
8
+ # apps/api/mise.toml
9
+ [tasks.migrate]
10
+ description = "Run Alembic migrations"
11
+ run = "uv run alembic upgrade head"
12
+
13
+ [tasks."migrate:create"]
14
+ description = "Create new migration"
15
+ usage = 'arg "<name>"'
16
+ run = 'uv run alembic revision --autogenerate -m "$usage_name"'
17
+
18
+ [tasks."migrate:check"]
19
+ description = "Check migration status"
20
+ run = "uv run alembic current"
21
+
22
+ [tasks."migrate:history"]
23
+ description = "Show migration history"
24
+ run = "uv run alembic history --verbose"
25
+
26
+ [tasks."migrate:rollback"]
27
+ description = "Rollback one migration"
28
+ run = "uv run alembic downgrade -1"
29
+
30
+ [tasks."migrate:reset"]
31
+ description = "Reset database (all down then up)"
32
+ run = "uv run alembic downgrade base && uv run alembic upgrade head"
33
+ ```
34
+
35
+ ## Creating Migrations
36
+
37
+ ```bash
38
+ # Create new migration
39
+ mise run //apps/api:migrate:create "add users table"
40
+
41
+ # Review generated migration
42
+ # Edit: apps/api/alembic/versions/xxx_add_users_table.py
43
+
44
+ # Apply migration
45
+ mise run //apps/api:migrate
46
+
47
+ # Check current version
48
+ mise run //apps/api:migrate:check
49
+
50
+ # View history
51
+ mise run //apps/api:migrate:history
52
+
53
+ # Rollback (if needed)
54
+ mise run //apps/api:migrate:rollback
55
+ ```
56
+
57
+ ## Root-Level Database Tasks
58
+
59
+ ```toml
60
+ # Root mise.toml
61
+ [tasks."db:migrate"]
62
+ description = "Run all database migrations"
63
+ depends = ["//apps/api:migrate"]
64
+
65
+ [tasks."db:reset"]
66
+ description = "Reset all databases"
67
+ depends = ["//apps/api:migrate:reset"]
68
+ ```
69
+
70
+ ## Local Infrastructure (Docker, manual)
71
+
72
+ These tasks are manual development conveniences. They are not a test dependency:
73
+ the default test suite must not require `infra:up`, and tests that need a live
74
+ database belong to the opt-in `test:integration` task described in
75
+ [validation-pipeline.md](validation-pipeline.md).
76
+
77
+ ```toml
78
+ # apps/api/mise.toml
79
+ [tasks."infra:up"]
80
+ description = "Start local infrastructure (PostgreSQL, Redis, etc.)"
81
+ run = "docker compose -f docker-compose.infra.yml up -d"
82
+
83
+ [tasks."infra:down"]
84
+ description = "Stop local infrastructure"
85
+ run = "docker compose -f docker-compose.infra.yml down"
86
+
87
+ [tasks."infra:logs"]
88
+ description = "View infrastructure logs"
89
+ run = "docker compose -f docker-compose.infra.yml logs -f"
90
+
91
+ [tasks."infra:reset"]
92
+ description = "Reset infrastructure (remove volumes)"
93
+ run = "docker compose -f docker-compose.infra.yml down -v"
94
+ ```
95
+
96
+ ## Root-Level Infrastructure Tasks
97
+
98
+ ```toml
99
+ # Root mise.toml
100
+ [tasks."infra:up"]
101
+ description = "Start all local infrastructure"
102
+ depends = ["//apps/api:infra:up"]
103
+
104
+ [tasks."infra:down"]
105
+ description = "Stop all local infrastructure"
106
+ depends = ["//apps/api:infra:down"]
107
+ ```
@@ -0,0 +1,63 @@
1
+ # i18n Build Patterns
2
+
3
+ Internationalization workflows for monorepos.
4
+
5
+ ## Shared i18n Package
6
+
7
+ ```toml
8
+ # packages/i18n/mise.toml
9
+ [tasks.build]
10
+ description = "Build i18n files for all platforms"
11
+ depends = ["build:web", "build:mobile"]
12
+
13
+ [tasks."build:web"]
14
+ description = "Build for web (next-intl JSON)"
15
+ run = "bun scripts/build-web.js"
16
+
17
+ [tasks."build:mobile"]
18
+ description = "Build for mobile (Flutter ARB)"
19
+ run = "bun scripts/build-mobile.js"
20
+
21
+ [tasks.watch]
22
+ description = "Watch for changes and rebuild"
23
+ run = "bun scripts/watch.js"
24
+ ```
25
+
26
+ ## Usage in Apps
27
+
28
+ ```bash
29
+ # Build i18n for all apps
30
+ mise run //packages/i18n:build
31
+
32
+ # Watch for changes during development
33
+ mise run //packages/i18n:watch
34
+ ```
35
+
36
+ ## Web Integration
37
+
38
+ ```toml
39
+ # apps/web/mise.toml
40
+ [tasks.dev]
41
+ description = "Start Next.js dev server"
42
+ depends = ["//packages/i18n:build"]
43
+ run = "bun dev"
44
+
45
+ [tasks.build]
46
+ description = "Production build"
47
+ depends = ["//packages/i18n:build"]
48
+ run = "bun run build"
49
+ ```
50
+
51
+ ## Mobile Integration
52
+
53
+ ```toml
54
+ # apps/mobile/mise.toml
55
+ [tasks."gen:l10n"]
56
+ description = "Generate Flutter localizations"
57
+ run = "flutter gen-l10n"
58
+
59
+ [tasks.dev]
60
+ description = "Run Flutter on device"
61
+ depends = ["gen:l10n"]
62
+ run = "flutter run"
63
+ ```