@maka/maka-cli 5.2.11 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (478) hide show
  1. package/package.json +23 -35
  2. package/.claude/codebase-overview.md +0 -736
  3. package/.claude/mcp.json +0 -17
  4. package/.eslintrc.json +0 -29
  5. package/.github/workflows/npm-publish.yml +0 -35
  6. package/.mocharc.json +0 -3
  7. package/.vscode/mcp.json +0 -8
  8. package/CLAUDE.md +0 -239
  9. package/docs/MCP_SERVER.md +0 -396
  10. package/eslint.config.js +0 -19
  11. package/jest.config.js +0 -12
  12. package/test/integration/default.test.js +0 -84
  13. package/test/integration/fixtures/blaze/.maka/config.json +0 -30
  14. package/test/integration/fixtures/blaze/.tern-project +0 -17
  15. package/test/integration/fixtures/blaze/app/.meteor/.finished-upgraders +0 -17
  16. package/test/integration/fixtures/blaze/app/.meteor/.id +0 -7
  17. package/test/integration/fixtures/blaze/app/.meteor/packages +0 -21
  18. package/test/integration/fixtures/blaze/app/.meteor/platforms +0 -2
  19. package/test/integration/fixtures/blaze/app/.meteor/release +0 -1
  20. package/test/integration/fixtures/blaze/app/.meteor/versions +0 -78
  21. package/test/integration/fixtures/blaze/app/client/.gitkeep +0 -1
  22. package/test/integration/fixtures/blaze/app/client/body.html +0 -2
  23. package/test/integration/fixtures/blaze/app/client/head.html +0 -8
  24. package/test/integration/fixtures/blaze/app/client/main.js +0 -1
  25. package/test/integration/fixtures/blaze/app/imports/api/.gitkeep +0 -1
  26. package/test/integration/fixtures/blaze/app/imports/startup/client/index.js +0 -3
  27. package/test/integration/fixtures/blaze/app/imports/startup/client/routes.js +0 -25
  28. package/test/integration/fixtures/blaze/app/imports/startup/client/templates.js +0 -15
  29. package/test/integration/fixtures/blaze/app/imports/startup/lib/index.js +0 -1
  30. package/test/integration/fixtures/blaze/app/imports/startup/server/index.js +0 -1
  31. package/test/integration/fixtures/blaze/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
  32. package/test/integration/fixtures/blaze/app/imports/ui/layouts/master-layout/master-layout.html +0 -3
  33. package/test/integration/fixtures/blaze/app/imports/ui/layouts/master-layout/master-layout.js +0 -29
  34. package/test/integration/fixtures/blaze/app/imports/ui/pages/home/home.css +0 -5
  35. package/test/integration/fixtures/blaze/app/imports/ui/pages/home/home.html +0 -5
  36. package/test/integration/fixtures/blaze/app/imports/ui/pages/home/home.js +0 -53
  37. package/test/integration/fixtures/blaze/app/imports/ui/pages/not-found/not-found.css +0 -5
  38. package/test/integration/fixtures/blaze/app/imports/ui/pages/not-found/not-found.html +0 -5
  39. package/test/integration/fixtures/blaze/app/imports/ui/pages/not-found/not-found.js +0 -53
  40. package/test/integration/fixtures/blaze/app/imports/ui/test-helpers.js +0 -25
  41. package/test/integration/fixtures/blaze/app/lib/.gitkeep +0 -1
  42. package/test/integration/fixtures/blaze/app/lib/main.js +0 -1
  43. package/test/integration/fixtures/blaze/app/packages/.gitkeep +0 -1
  44. package/test/integration/fixtures/blaze/app/private/.gitkeep +0 -1
  45. package/test/integration/fixtures/blaze/app/public/.gitkeep +0 -1
  46. package/test/integration/fixtures/blaze/app/public/favicon.ico +0 -0
  47. package/test/integration/fixtures/blaze/app/server/.gitkeep +0 -1
  48. package/test/integration/fixtures/blaze/app/server/main.js +0 -1
  49. package/test/integration/fixtures/blaze/bin/.gitkeep +0 -1
  50. package/test/integration/fixtures/blaze/build/.gitkeep +0 -1
  51. package/test/integration/fixtures/blaze/build/README +0 -4
  52. package/test/integration/fixtures/blaze/config/.gitkeep +0 -1
  53. package/test/integration/fixtures/blaze/config/development/env.sh +0 -9
  54. package/test/integration/fixtures/blaze/config/development/settings.json +0 -6
  55. package/test/integration/fixtures/blaze/config/production/env.sh +0 -9
  56. package/test/integration/fixtures/blaze/config/production/settings.json +0 -6
  57. package/test/integration/fixtures/blaze/config/staging/env.sh +0 -9
  58. package/test/integration/fixtures/blaze/config/staging/settings.json +0 -6
  59. package/test/integration/fixtures/react/.maka/config.json +0 -30
  60. package/test/integration/fixtures/react/.tern-project +0 -17
  61. package/test/integration/fixtures/react/app/.meteor/.finished-upgraders +0 -17
  62. package/test/integration/fixtures/react/app/.meteor/.id +0 -7
  63. package/test/integration/fixtures/react/app/.meteor/packages +0 -21
  64. package/test/integration/fixtures/react/app/.meteor/platforms +0 -2
  65. package/test/integration/fixtures/react/app/.meteor/release +0 -1
  66. package/test/integration/fixtures/react/app/.meteor/versions +0 -78
  67. package/test/integration/fixtures/react/app/client/.gitkeep +0 -1
  68. package/test/integration/fixtures/react/app/client/body.html +0 -3
  69. package/test/integration/fixtures/react/app/client/head.html +0 -8
  70. package/test/integration/fixtures/react/app/client/main.jsx +0 -1
  71. package/test/integration/fixtures/react/app/imports/api/.gitkeep +0 -1
  72. package/test/integration/fixtures/react/app/imports/startup/client/index.jsx +0 -12
  73. package/test/integration/fixtures/react/app/imports/startup/client/routes.jsx +0 -24
  74. package/test/integration/fixtures/react/app/imports/startup/client/templates.jsx +0 -21
  75. package/test/integration/fixtures/react/app/imports/startup/lib/index.jsx +0 -1
  76. package/test/integration/fixtures/react/app/imports/startup/server/index.jsx +0 -1
  77. package/test/integration/fixtures/react/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
  78. package/test/integration/fixtures/react/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -28
  79. package/test/integration/fixtures/react/app/imports/ui/pages/home/home.css +0 -5
  80. package/test/integration/fixtures/react/app/imports/ui/pages/home/home.jsx +0 -29
  81. package/test/integration/fixtures/react/app/imports/ui/pages/not-found/not-found.css +0 -5
  82. package/test/integration/fixtures/react/app/imports/ui/pages/not-found/not-found.jsx +0 -29
  83. package/test/integration/fixtures/react/app/imports/ui/test-helpers.jsx +0 -1
  84. package/test/integration/fixtures/react/app/lib/.gitkeep +0 -1
  85. package/test/integration/fixtures/react/app/lib/main.jsx +0 -1
  86. package/test/integration/fixtures/react/app/packages/.gitkeep +0 -1
  87. package/test/integration/fixtures/react/app/private/.gitkeep +0 -1
  88. package/test/integration/fixtures/react/app/public/.gitkeep +0 -1
  89. package/test/integration/fixtures/react/app/public/favicon.ico +0 -0
  90. package/test/integration/fixtures/react/app/server/.gitkeep +0 -1
  91. package/test/integration/fixtures/react/app/server/main.jsx +0 -1
  92. package/test/integration/fixtures/react/bin/.gitkeep +0 -1
  93. package/test/integration/fixtures/react/build/.gitkeep +0 -1
  94. package/test/integration/fixtures/react/build/README +0 -4
  95. package/test/integration/fixtures/react/config/.gitkeep +0 -1
  96. package/test/integration/fixtures/react/config/development/env.sh +0 -9
  97. package/test/integration/fixtures/react/config/development/settings.json +0 -6
  98. package/test/integration/fixtures/react/config/production/env.sh +0 -9
  99. package/test/integration/fixtures/react/config/production/settings.json +0 -6
  100. package/test/integration/fixtures/react/config/staging/env.sh +0 -9
  101. package/test/integration/fixtures/react/config/staging/settings.json +0 -6
  102. package/test/integration/fixtures/react-apollo/.maka/config.json +0 -30
  103. package/test/integration/fixtures/react-apollo/.tern-project +0 -17
  104. package/test/integration/fixtures/react-apollo/app/.meteor/.finished-upgraders +0 -17
  105. package/test/integration/fixtures/react-apollo/app/.meteor/.id +0 -7
  106. package/test/integration/fixtures/react-apollo/app/.meteor/packages +0 -21
  107. package/test/integration/fixtures/react-apollo/app/.meteor/platforms +0 -2
  108. package/test/integration/fixtures/react-apollo/app/.meteor/release +0 -1
  109. package/test/integration/fixtures/react-apollo/app/.meteor/versions +0 -78
  110. package/test/integration/fixtures/react-apollo/app/client/.gitkeep +0 -1
  111. package/test/integration/fixtures/react-apollo/app/client/body.html +0 -3
  112. package/test/integration/fixtures/react-apollo/app/client/head.html +0 -8
  113. package/test/integration/fixtures/react-apollo/app/client/main.jsx +0 -1
  114. package/test/integration/fixtures/react-apollo/app/imports/api/.gitkeep +0 -1
  115. package/test/integration/fixtures/react-apollo/app/imports/startup/client/index.jsx +0 -20
  116. package/test/integration/fixtures/react-apollo/app/imports/startup/client/routes.jsx +0 -24
  117. package/test/integration/fixtures/react-apollo/app/imports/startup/client/templates.jsx +0 -21
  118. package/test/integration/fixtures/react-apollo/app/imports/startup/lib/index.jsx +0 -1
  119. package/test/integration/fixtures/react-apollo/app/imports/startup/server/index.jsx +0 -25
  120. package/test/integration/fixtures/react-apollo/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
  121. package/test/integration/fixtures/react-apollo/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -28
  122. package/test/integration/fixtures/react-apollo/app/imports/ui/pages/home/home.css +0 -5
  123. package/test/integration/fixtures/react-apollo/app/imports/ui/pages/home/home.jsx +0 -34
  124. package/test/integration/fixtures/react-apollo/app/imports/ui/pages/not-found/not-found.css +0 -5
  125. package/test/integration/fixtures/react-apollo/app/imports/ui/pages/not-found/not-found.jsx +0 -34
  126. package/test/integration/fixtures/react-apollo/app/imports/ui/test-helpers.jsx +0 -1
  127. package/test/integration/fixtures/react-apollo/app/lib/.gitkeep +0 -1
  128. package/test/integration/fixtures/react-apollo/app/lib/main.jsx +0 -1
  129. package/test/integration/fixtures/react-apollo/app/packages/.gitkeep +0 -1
  130. package/test/integration/fixtures/react-apollo/app/private/.gitkeep +0 -1
  131. package/test/integration/fixtures/react-apollo/app/public/.gitkeep +0 -1
  132. package/test/integration/fixtures/react-apollo/app/public/favicon.ico +0 -0
  133. package/test/integration/fixtures/react-apollo/app/server/.gitkeep +0 -1
  134. package/test/integration/fixtures/react-apollo/app/server/main.jsx +0 -1
  135. package/test/integration/fixtures/react-apollo/bin/.gitkeep +0 -1
  136. package/test/integration/fixtures/react-apollo/build/.gitkeep +0 -1
  137. package/test/integration/fixtures/react-apollo/build/README +0 -4
  138. package/test/integration/fixtures/react-apollo/config/.gitkeep +0 -1
  139. package/test/integration/fixtures/react-apollo/config/development/env.sh +0 -9
  140. package/test/integration/fixtures/react-apollo/config/development/settings.json +0 -6
  141. package/test/integration/fixtures/react-apollo/config/production/env.sh +0 -9
  142. package/test/integration/fixtures/react-apollo/config/production/settings.json +0 -6
  143. package/test/integration/fixtures/react-apollo/config/staging/env.sh +0 -9
  144. package/test/integration/fixtures/react-apollo/config/staging/settings.json +0 -6
  145. package/test/integration/fixtures/react-apollo-ssr/.maka/config.json +0 -30
  146. package/test/integration/fixtures/react-apollo-ssr/.tern-project +0 -17
  147. package/test/integration/fixtures/react-apollo-ssr/app/.meteor/.finished-upgraders +0 -17
  148. package/test/integration/fixtures/react-apollo-ssr/app/.meteor/.id +0 -7
  149. package/test/integration/fixtures/react-apollo-ssr/app/.meteor/packages +0 -21
  150. package/test/integration/fixtures/react-apollo-ssr/app/.meteor/platforms +0 -2
  151. package/test/integration/fixtures/react-apollo-ssr/app/.meteor/release +0 -1
  152. package/test/integration/fixtures/react-apollo-ssr/app/.meteor/versions +0 -78
  153. package/test/integration/fixtures/react-apollo-ssr/app/client/.gitkeep +0 -1
  154. package/test/integration/fixtures/react-apollo-ssr/app/client/body.html +0 -3
  155. package/test/integration/fixtures/react-apollo-ssr/app/client/head.html +0 -8
  156. package/test/integration/fixtures/react-apollo-ssr/app/client/main.jsx +0 -1
  157. package/test/integration/fixtures/react-apollo-ssr/app/imports/api/.gitkeep +0 -1
  158. package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/client/index.jsx +0 -29
  159. package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/lib/index.jsx +0 -1
  160. package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/lib/routes.jsx +0 -21
  161. package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/lib/templates.jsx +0 -21
  162. package/test/integration/fixtures/react-apollo-ssr/app/imports/startup/server/index.jsx +0 -65
  163. package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -27
  164. package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/pages/home/home.jsx +0 -33
  165. package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -33
  166. package/test/integration/fixtures/react-apollo-ssr/app/imports/ui/test-helpers.jsx +0 -1
  167. package/test/integration/fixtures/react-apollo-ssr/app/lib/.gitkeep +0 -1
  168. package/test/integration/fixtures/react-apollo-ssr/app/lib/main.jsx +0 -1
  169. package/test/integration/fixtures/react-apollo-ssr/app/packages/.gitkeep +0 -1
  170. package/test/integration/fixtures/react-apollo-ssr/app/private/.gitkeep +0 -1
  171. package/test/integration/fixtures/react-apollo-ssr/app/public/.gitkeep +0 -1
  172. package/test/integration/fixtures/react-apollo-ssr/app/public/favicon.ico +0 -0
  173. package/test/integration/fixtures/react-apollo-ssr/app/server/.gitkeep +0 -1
  174. package/test/integration/fixtures/react-apollo-ssr/app/server/main.jsx +0 -1
  175. package/test/integration/fixtures/react-apollo-ssr/bin/.gitkeep +0 -1
  176. package/test/integration/fixtures/react-apollo-ssr/build/.gitkeep +0 -1
  177. package/test/integration/fixtures/react-apollo-ssr/build/README +0 -4
  178. package/test/integration/fixtures/react-apollo-ssr/config/.gitkeep +0 -1
  179. package/test/integration/fixtures/react-apollo-ssr/config/development/env.sh +0 -9
  180. package/test/integration/fixtures/react-apollo-ssr/config/development/settings.json +0 -6
  181. package/test/integration/fixtures/react-apollo-ssr/config/production/env.sh +0 -9
  182. package/test/integration/fixtures/react-apollo-ssr/config/production/settings.json +0 -6
  183. package/test/integration/fixtures/react-apollo-ssr/config/staging/env.sh +0 -9
  184. package/test/integration/fixtures/react-apollo-ssr/config/staging/settings.json +0 -6
  185. package/test/integration/fixtures/react-material/.maka/config.json +0 -30
  186. package/test/integration/fixtures/react-material/.tern-project +0 -17
  187. package/test/integration/fixtures/react-material/app/.meteor/.finished-upgraders +0 -17
  188. package/test/integration/fixtures/react-material/app/.meteor/.id +0 -7
  189. package/test/integration/fixtures/react-material/app/.meteor/packages +0 -21
  190. package/test/integration/fixtures/react-material/app/.meteor/platforms +0 -2
  191. package/test/integration/fixtures/react-material/app/.meteor/release +0 -1
  192. package/test/integration/fixtures/react-material/app/.meteor/versions +0 -78
  193. package/test/integration/fixtures/react-material/app/client/.gitkeep +0 -1
  194. package/test/integration/fixtures/react-material/app/client/body.html +0 -3
  195. package/test/integration/fixtures/react-material/app/client/head.html +0 -8
  196. package/test/integration/fixtures/react-material/app/client/main.jsx +0 -1
  197. package/test/integration/fixtures/react-material/app/imports/api/.gitkeep +0 -1
  198. package/test/integration/fixtures/react-material/app/imports/startup/client/index.jsx +0 -19
  199. package/test/integration/fixtures/react-material/app/imports/startup/client/routes.jsx +0 -24
  200. package/test/integration/fixtures/react-material/app/imports/startup/client/templates.jsx +0 -21
  201. package/test/integration/fixtures/react-material/app/imports/startup/lib/index.jsx +0 -1
  202. package/test/integration/fixtures/react-material/app/imports/startup/server/index.jsx +0 -1
  203. package/test/integration/fixtures/react-material/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
  204. package/test/integration/fixtures/react-material/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -28
  205. package/test/integration/fixtures/react-material/app/imports/ui/pages/home/home.css +0 -5
  206. package/test/integration/fixtures/react-material/app/imports/ui/pages/home/home.jsx +0 -29
  207. package/test/integration/fixtures/react-material/app/imports/ui/pages/not-found/not-found.css +0 -5
  208. package/test/integration/fixtures/react-material/app/imports/ui/pages/not-found/not-found.jsx +0 -29
  209. package/test/integration/fixtures/react-material/app/imports/ui/test-helpers.jsx +0 -1
  210. package/test/integration/fixtures/react-material/app/lib/.gitkeep +0 -1
  211. package/test/integration/fixtures/react-material/app/lib/main.jsx +0 -1
  212. package/test/integration/fixtures/react-material/app/packages/.gitkeep +0 -1
  213. package/test/integration/fixtures/react-material/app/private/.gitkeep +0 -1
  214. package/test/integration/fixtures/react-material/app/public/.gitkeep +0 -1
  215. package/test/integration/fixtures/react-material/app/public/favicon.ico +0 -0
  216. package/test/integration/fixtures/react-material/app/server/.gitkeep +0 -1
  217. package/test/integration/fixtures/react-material/app/server/main.jsx +0 -1
  218. package/test/integration/fixtures/react-material/bin/.gitkeep +0 -1
  219. package/test/integration/fixtures/react-material/build/.gitkeep +0 -1
  220. package/test/integration/fixtures/react-material/build/README +0 -4
  221. package/test/integration/fixtures/react-material/config/.gitkeep +0 -1
  222. package/test/integration/fixtures/react-material/config/development/env.sh +0 -9
  223. package/test/integration/fixtures/react-material/config/development/settings.json +0 -6
  224. package/test/integration/fixtures/react-material/config/production/env.sh +0 -9
  225. package/test/integration/fixtures/react-material/config/production/settings.json +0 -6
  226. package/test/integration/fixtures/react-material/config/staging/env.sh +0 -9
  227. package/test/integration/fixtures/react-material/config/staging/settings.json +0 -6
  228. package/test/integration/fixtures/react-ssr/.maka/config.json +0 -30
  229. package/test/integration/fixtures/react-ssr/.tern-project +0 -17
  230. package/test/integration/fixtures/react-ssr/app/.meteor/.finished-upgraders +0 -17
  231. package/test/integration/fixtures/react-ssr/app/.meteor/.id +0 -7
  232. package/test/integration/fixtures/react-ssr/app/.meteor/packages +0 -21
  233. package/test/integration/fixtures/react-ssr/app/.meteor/platforms +0 -2
  234. package/test/integration/fixtures/react-ssr/app/.meteor/release +0 -1
  235. package/test/integration/fixtures/react-ssr/app/.meteor/versions +0 -78
  236. package/test/integration/fixtures/react-ssr/app/client/.gitkeep +0 -1
  237. package/test/integration/fixtures/react-ssr/app/client/body.html +0 -3
  238. package/test/integration/fixtures/react-ssr/app/client/head.html +0 -8
  239. package/test/integration/fixtures/react-ssr/app/client/main.jsx +0 -1
  240. package/test/integration/fixtures/react-ssr/app/imports/api/.gitkeep +0 -1
  241. package/test/integration/fixtures/react-ssr/app/imports/startup/client/index.jsx +0 -21
  242. package/test/integration/fixtures/react-ssr/app/imports/startup/lib/index.jsx +0 -1
  243. package/test/integration/fixtures/react-ssr/app/imports/startup/lib/routes.jsx +0 -21
  244. package/test/integration/fixtures/react-ssr/app/imports/startup/lib/templates.jsx +0 -21
  245. package/test/integration/fixtures/react-ssr/app/imports/startup/server/index.jsx +0 -36
  246. package/test/integration/fixtures/react-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -27
  247. package/test/integration/fixtures/react-ssr/app/imports/ui/pages/home/home.jsx +0 -28
  248. package/test/integration/fixtures/react-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -28
  249. package/test/integration/fixtures/react-ssr/app/imports/ui/test-helpers.jsx +0 -1
  250. package/test/integration/fixtures/react-ssr/app/lib/.gitkeep +0 -1
  251. package/test/integration/fixtures/react-ssr/app/lib/main.jsx +0 -1
  252. package/test/integration/fixtures/react-ssr/app/packages/.gitkeep +0 -1
  253. package/test/integration/fixtures/react-ssr/app/private/.gitkeep +0 -1
  254. package/test/integration/fixtures/react-ssr/app/public/.gitkeep +0 -1
  255. package/test/integration/fixtures/react-ssr/app/public/favicon.ico +0 -0
  256. package/test/integration/fixtures/react-ssr/app/server/.gitkeep +0 -1
  257. package/test/integration/fixtures/react-ssr/app/server/main.jsx +0 -1
  258. package/test/integration/fixtures/react-ssr/bin/.gitkeep +0 -1
  259. package/test/integration/fixtures/react-ssr/build/.gitkeep +0 -1
  260. package/test/integration/fixtures/react-ssr/build/README +0 -4
  261. package/test/integration/fixtures/react-ssr/config/.gitkeep +0 -1
  262. package/test/integration/fixtures/react-ssr/config/development/env.sh +0 -9
  263. package/test/integration/fixtures/react-ssr/config/development/settings.json +0 -6
  264. package/test/integration/fixtures/react-ssr/config/production/env.sh +0 -9
  265. package/test/integration/fixtures/react-ssr/config/production/settings.json +0 -6
  266. package/test/integration/fixtures/react-ssr/config/staging/env.sh +0 -9
  267. package/test/integration/fixtures/react-ssr/config/staging/settings.json +0 -6
  268. package/test/integration/fixtures/reflux/.maka/config.json +0 -30
  269. package/test/integration/fixtures/reflux/.tern-project +0 -17
  270. package/test/integration/fixtures/reflux/app/.meteor/.finished-upgraders +0 -17
  271. package/test/integration/fixtures/reflux/app/.meteor/.id +0 -7
  272. package/test/integration/fixtures/reflux/app/.meteor/packages +0 -21
  273. package/test/integration/fixtures/reflux/app/.meteor/platforms +0 -2
  274. package/test/integration/fixtures/reflux/app/.meteor/release +0 -1
  275. package/test/integration/fixtures/reflux/app/.meteor/versions +0 -78
  276. package/test/integration/fixtures/reflux/app/client/.gitkeep +0 -1
  277. package/test/integration/fixtures/reflux/app/client/body.html +0 -3
  278. package/test/integration/fixtures/reflux/app/client/head.html +0 -8
  279. package/test/integration/fixtures/reflux/app/client/main.jsx +0 -1
  280. package/test/integration/fixtures/reflux/app/imports/api/.gitkeep +0 -1
  281. package/test/integration/fixtures/reflux/app/imports/startup/client/index.jsx +0 -12
  282. package/test/integration/fixtures/reflux/app/imports/startup/client/routes.jsx +0 -24
  283. package/test/integration/fixtures/reflux/app/imports/startup/client/templates.jsx +0 -21
  284. package/test/integration/fixtures/reflux/app/imports/startup/lib/index.jsx +0 -1
  285. package/test/integration/fixtures/reflux/app/imports/startup/server/index.jsx +0 -1
  286. package/test/integration/fixtures/reflux/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
  287. package/test/integration/fixtures/reflux/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -31
  288. package/test/integration/fixtures/reflux/app/imports/ui/pages/home/home.css +0 -5
  289. package/test/integration/fixtures/reflux/app/imports/ui/pages/home/home.jsx +0 -33
  290. package/test/integration/fixtures/reflux/app/imports/ui/pages/not-found/not-found.css +0 -5
  291. package/test/integration/fixtures/reflux/app/imports/ui/pages/not-found/not-found.jsx +0 -33
  292. package/test/integration/fixtures/reflux/app/imports/ui/test-helpers.jsx +0 -1
  293. package/test/integration/fixtures/reflux/app/lib/.gitkeep +0 -1
  294. package/test/integration/fixtures/reflux/app/lib/main.jsx +0 -1
  295. package/test/integration/fixtures/reflux/app/packages/.gitkeep +0 -1
  296. package/test/integration/fixtures/reflux/app/private/.gitkeep +0 -1
  297. package/test/integration/fixtures/reflux/app/public/.gitkeep +0 -1
  298. package/test/integration/fixtures/reflux/app/public/favicon.ico +0 -0
  299. package/test/integration/fixtures/reflux/app/server/.gitkeep +0 -1
  300. package/test/integration/fixtures/reflux/app/server/main.jsx +0 -1
  301. package/test/integration/fixtures/reflux/bin/.gitkeep +0 -1
  302. package/test/integration/fixtures/reflux/build/.gitkeep +0 -1
  303. package/test/integration/fixtures/reflux/build/README +0 -4
  304. package/test/integration/fixtures/reflux/config/.gitkeep +0 -1
  305. package/test/integration/fixtures/reflux/config/development/env.sh +0 -9
  306. package/test/integration/fixtures/reflux/config/development/settings.json +0 -6
  307. package/test/integration/fixtures/reflux/config/production/env.sh +0 -9
  308. package/test/integration/fixtures/reflux/config/production/settings.json +0 -6
  309. package/test/integration/fixtures/reflux/config/staging/env.sh +0 -9
  310. package/test/integration/fixtures/reflux/config/staging/settings.json +0 -6
  311. package/test/integration/fixtures/reflux-apollo/.maka/config.json +0 -30
  312. package/test/integration/fixtures/reflux-apollo/.tern-project +0 -17
  313. package/test/integration/fixtures/reflux-apollo/app/.meteor/.finished-upgraders +0 -17
  314. package/test/integration/fixtures/reflux-apollo/app/.meteor/.id +0 -7
  315. package/test/integration/fixtures/reflux-apollo/app/.meteor/packages +0 -21
  316. package/test/integration/fixtures/reflux-apollo/app/.meteor/platforms +0 -2
  317. package/test/integration/fixtures/reflux-apollo/app/.meteor/release +0 -1
  318. package/test/integration/fixtures/reflux-apollo/app/.meteor/versions +0 -78
  319. package/test/integration/fixtures/reflux-apollo/app/client/.gitkeep +0 -1
  320. package/test/integration/fixtures/reflux-apollo/app/client/body.html +0 -3
  321. package/test/integration/fixtures/reflux-apollo/app/client/head.html +0 -8
  322. package/test/integration/fixtures/reflux-apollo/app/client/main.jsx +0 -1
  323. package/test/integration/fixtures/reflux-apollo/app/imports/api/.gitkeep +0 -1
  324. package/test/integration/fixtures/reflux-apollo/app/imports/startup/client/index.jsx +0 -20
  325. package/test/integration/fixtures/reflux-apollo/app/imports/startup/client/routes.jsx +0 -24
  326. package/test/integration/fixtures/reflux-apollo/app/imports/startup/client/templates.jsx +0 -21
  327. package/test/integration/fixtures/reflux-apollo/app/imports/startup/lib/index.jsx +0 -1
  328. package/test/integration/fixtures/reflux-apollo/app/imports/startup/server/index.jsx +0 -25
  329. package/test/integration/fixtures/reflux-apollo/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
  330. package/test/integration/fixtures/reflux-apollo/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -31
  331. package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/home/home.css +0 -5
  332. package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/home/home.jsx +0 -38
  333. package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/not-found/not-found.css +0 -5
  334. package/test/integration/fixtures/reflux-apollo/app/imports/ui/pages/not-found/not-found.jsx +0 -38
  335. package/test/integration/fixtures/reflux-apollo/app/imports/ui/test-helpers.jsx +0 -1
  336. package/test/integration/fixtures/reflux-apollo/app/lib/.gitkeep +0 -1
  337. package/test/integration/fixtures/reflux-apollo/app/lib/main.jsx +0 -1
  338. package/test/integration/fixtures/reflux-apollo/app/packages/.gitkeep +0 -1
  339. package/test/integration/fixtures/reflux-apollo/app/private/.gitkeep +0 -1
  340. package/test/integration/fixtures/reflux-apollo/app/public/.gitkeep +0 -1
  341. package/test/integration/fixtures/reflux-apollo/app/public/favicon.ico +0 -0
  342. package/test/integration/fixtures/reflux-apollo/app/server/.gitkeep +0 -1
  343. package/test/integration/fixtures/reflux-apollo/app/server/main.jsx +0 -1
  344. package/test/integration/fixtures/reflux-apollo/bin/.gitkeep +0 -1
  345. package/test/integration/fixtures/reflux-apollo/build/.gitkeep +0 -1
  346. package/test/integration/fixtures/reflux-apollo/build/README +0 -4
  347. package/test/integration/fixtures/reflux-apollo/config/.gitkeep +0 -1
  348. package/test/integration/fixtures/reflux-apollo/config/development/env.sh +0 -9
  349. package/test/integration/fixtures/reflux-apollo/config/development/settings.json +0 -6
  350. package/test/integration/fixtures/reflux-apollo/config/production/env.sh +0 -9
  351. package/test/integration/fixtures/reflux-apollo/config/production/settings.json +0 -6
  352. package/test/integration/fixtures/reflux-apollo/config/staging/env.sh +0 -9
  353. package/test/integration/fixtures/reflux-apollo/config/staging/settings.json +0 -6
  354. package/test/integration/fixtures/reflux-apollo-ssr/.maka/config.json +0 -30
  355. package/test/integration/fixtures/reflux-apollo-ssr/.tern-project +0 -17
  356. package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/.finished-upgraders +0 -17
  357. package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/.id +0 -7
  358. package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/packages +0 -21
  359. package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/platforms +0 -2
  360. package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/release +0 -1
  361. package/test/integration/fixtures/reflux-apollo-ssr/app/.meteor/versions +0 -78
  362. package/test/integration/fixtures/reflux-apollo-ssr/app/client/.gitkeep +0 -1
  363. package/test/integration/fixtures/reflux-apollo-ssr/app/client/body.html +0 -3
  364. package/test/integration/fixtures/reflux-apollo-ssr/app/client/head.html +0 -8
  365. package/test/integration/fixtures/reflux-apollo-ssr/app/client/main.jsx +0 -1
  366. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/api/.gitkeep +0 -1
  367. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/client/index.jsx +0 -29
  368. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/lib/index.jsx +0 -1
  369. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/lib/routes.jsx +0 -21
  370. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/lib/templates.jsx +0 -21
  371. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/startup/server/index.jsx +0 -65
  372. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -27
  373. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/pages/home/home.jsx +0 -33
  374. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -33
  375. package/test/integration/fixtures/reflux-apollo-ssr/app/imports/ui/test-helpers.jsx +0 -1
  376. package/test/integration/fixtures/reflux-apollo-ssr/app/lib/.gitkeep +0 -1
  377. package/test/integration/fixtures/reflux-apollo-ssr/app/lib/main.jsx +0 -1
  378. package/test/integration/fixtures/reflux-apollo-ssr/app/packages/.gitkeep +0 -1
  379. package/test/integration/fixtures/reflux-apollo-ssr/app/private/.gitkeep +0 -1
  380. package/test/integration/fixtures/reflux-apollo-ssr/app/public/.gitkeep +0 -1
  381. package/test/integration/fixtures/reflux-apollo-ssr/app/public/favicon.ico +0 -0
  382. package/test/integration/fixtures/reflux-apollo-ssr/app/server/.gitkeep +0 -1
  383. package/test/integration/fixtures/reflux-apollo-ssr/app/server/main.jsx +0 -1
  384. package/test/integration/fixtures/reflux-apollo-ssr/bin/.gitkeep +0 -1
  385. package/test/integration/fixtures/reflux-apollo-ssr/build/.gitkeep +0 -1
  386. package/test/integration/fixtures/reflux-apollo-ssr/build/README +0 -4
  387. package/test/integration/fixtures/reflux-apollo-ssr/config/.gitkeep +0 -1
  388. package/test/integration/fixtures/reflux-apollo-ssr/config/development/env.sh +0 -9
  389. package/test/integration/fixtures/reflux-apollo-ssr/config/development/settings.json +0 -6
  390. package/test/integration/fixtures/reflux-apollo-ssr/config/production/env.sh +0 -9
  391. package/test/integration/fixtures/reflux-apollo-ssr/config/production/settings.json +0 -6
  392. package/test/integration/fixtures/reflux-apollo-ssr/config/staging/env.sh +0 -9
  393. package/test/integration/fixtures/reflux-apollo-ssr/config/staging/settings.json +0 -6
  394. package/test/integration/fixtures/reflux-material/.maka/config.json +0 -30
  395. package/test/integration/fixtures/reflux-material/.tern-project +0 -17
  396. package/test/integration/fixtures/reflux-material/app/.meteor/.finished-upgraders +0 -17
  397. package/test/integration/fixtures/reflux-material/app/.meteor/.id +0 -7
  398. package/test/integration/fixtures/reflux-material/app/.meteor/packages +0 -21
  399. package/test/integration/fixtures/reflux-material/app/.meteor/platforms +0 -2
  400. package/test/integration/fixtures/reflux-material/app/.meteor/release +0 -1
  401. package/test/integration/fixtures/reflux-material/app/.meteor/versions +0 -78
  402. package/test/integration/fixtures/reflux-material/app/client/.gitkeep +0 -1
  403. package/test/integration/fixtures/reflux-material/app/client/body.html +0 -3
  404. package/test/integration/fixtures/reflux-material/app/client/head.html +0 -8
  405. package/test/integration/fixtures/reflux-material/app/client/main.jsx +0 -1
  406. package/test/integration/fixtures/reflux-material/app/imports/api/.gitkeep +0 -1
  407. package/test/integration/fixtures/reflux-material/app/imports/startup/client/index.jsx +0 -19
  408. package/test/integration/fixtures/reflux-material/app/imports/startup/client/routes.jsx +0 -24
  409. package/test/integration/fixtures/reflux-material/app/imports/startup/client/templates.jsx +0 -21
  410. package/test/integration/fixtures/reflux-material/app/imports/startup/lib/index.jsx +0 -1
  411. package/test/integration/fixtures/reflux-material/app/imports/startup/server/index.jsx +0 -1
  412. package/test/integration/fixtures/reflux-material/app/imports/ui/layouts/master-layout/master-layout.css +0 -5
  413. package/test/integration/fixtures/reflux-material/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -31
  414. package/test/integration/fixtures/reflux-material/app/imports/ui/pages/home/home.css +0 -5
  415. package/test/integration/fixtures/reflux-material/app/imports/ui/pages/home/home.jsx +0 -33
  416. package/test/integration/fixtures/reflux-material/app/imports/ui/pages/not-found/not-found.css +0 -5
  417. package/test/integration/fixtures/reflux-material/app/imports/ui/pages/not-found/not-found.jsx +0 -33
  418. package/test/integration/fixtures/reflux-material/app/imports/ui/test-helpers.jsx +0 -1
  419. package/test/integration/fixtures/reflux-material/app/lib/.gitkeep +0 -1
  420. package/test/integration/fixtures/reflux-material/app/lib/main.jsx +0 -1
  421. package/test/integration/fixtures/reflux-material/app/packages/.gitkeep +0 -1
  422. package/test/integration/fixtures/reflux-material/app/private/.gitkeep +0 -1
  423. package/test/integration/fixtures/reflux-material/app/public/.gitkeep +0 -1
  424. package/test/integration/fixtures/reflux-material/app/public/favicon.ico +0 -0
  425. package/test/integration/fixtures/reflux-material/app/server/.gitkeep +0 -1
  426. package/test/integration/fixtures/reflux-material/app/server/main.jsx +0 -1
  427. package/test/integration/fixtures/reflux-material/bin/.gitkeep +0 -1
  428. package/test/integration/fixtures/reflux-material/build/.gitkeep +0 -1
  429. package/test/integration/fixtures/reflux-material/build/README +0 -4
  430. package/test/integration/fixtures/reflux-material/config/.gitkeep +0 -1
  431. package/test/integration/fixtures/reflux-material/config/development/env.sh +0 -9
  432. package/test/integration/fixtures/reflux-material/config/development/settings.json +0 -6
  433. package/test/integration/fixtures/reflux-material/config/production/env.sh +0 -9
  434. package/test/integration/fixtures/reflux-material/config/production/settings.json +0 -6
  435. package/test/integration/fixtures/reflux-material/config/staging/env.sh +0 -9
  436. package/test/integration/fixtures/reflux-material/config/staging/settings.json +0 -6
  437. package/test/integration/fixtures/reflux-ssr/.maka/config.json +0 -30
  438. package/test/integration/fixtures/reflux-ssr/.tern-project +0 -17
  439. package/test/integration/fixtures/reflux-ssr/app/.meteor/.finished-upgraders +0 -17
  440. package/test/integration/fixtures/reflux-ssr/app/.meteor/.id +0 -7
  441. package/test/integration/fixtures/reflux-ssr/app/.meteor/packages +0 -21
  442. package/test/integration/fixtures/reflux-ssr/app/.meteor/platforms +0 -2
  443. package/test/integration/fixtures/reflux-ssr/app/.meteor/release +0 -1
  444. package/test/integration/fixtures/reflux-ssr/app/.meteor/versions +0 -78
  445. package/test/integration/fixtures/reflux-ssr/app/client/.gitkeep +0 -1
  446. package/test/integration/fixtures/reflux-ssr/app/client/body.html +0 -3
  447. package/test/integration/fixtures/reflux-ssr/app/client/head.html +0 -8
  448. package/test/integration/fixtures/reflux-ssr/app/client/main.jsx +0 -1
  449. package/test/integration/fixtures/reflux-ssr/app/imports/api/.gitkeep +0 -1
  450. package/test/integration/fixtures/reflux-ssr/app/imports/startup/client/index.jsx +0 -21
  451. package/test/integration/fixtures/reflux-ssr/app/imports/startup/lib/index.jsx +0 -1
  452. package/test/integration/fixtures/reflux-ssr/app/imports/startup/lib/routes.jsx +0 -21
  453. package/test/integration/fixtures/reflux-ssr/app/imports/startup/lib/templates.jsx +0 -21
  454. package/test/integration/fixtures/reflux-ssr/app/imports/startup/server/index.jsx +0 -36
  455. package/test/integration/fixtures/reflux-ssr/app/imports/ui/layouts/master-layout/master-layout.jsx +0 -30
  456. package/test/integration/fixtures/reflux-ssr/app/imports/ui/pages/home/home.jsx +0 -32
  457. package/test/integration/fixtures/reflux-ssr/app/imports/ui/pages/not-found/not-found.jsx +0 -32
  458. package/test/integration/fixtures/reflux-ssr/app/imports/ui/test-helpers.jsx +0 -1
  459. package/test/integration/fixtures/reflux-ssr/app/lib/.gitkeep +0 -1
  460. package/test/integration/fixtures/reflux-ssr/app/lib/main.jsx +0 -1
  461. package/test/integration/fixtures/reflux-ssr/app/packages/.gitkeep +0 -1
  462. package/test/integration/fixtures/reflux-ssr/app/private/.gitkeep +0 -1
  463. package/test/integration/fixtures/reflux-ssr/app/public/.gitkeep +0 -1
  464. package/test/integration/fixtures/reflux-ssr/app/public/favicon.ico +0 -0
  465. package/test/integration/fixtures/reflux-ssr/app/server/.gitkeep +0 -1
  466. package/test/integration/fixtures/reflux-ssr/app/server/main.jsx +0 -1
  467. package/test/integration/fixtures/reflux-ssr/bin/.gitkeep +0 -1
  468. package/test/integration/fixtures/reflux-ssr/build/.gitkeep +0 -1
  469. package/test/integration/fixtures/reflux-ssr/build/README +0 -4
  470. package/test/integration/fixtures/reflux-ssr/config/.gitkeep +0 -1
  471. package/test/integration/fixtures/reflux-ssr/config/development/env.sh +0 -9
  472. package/test/integration/fixtures/reflux-ssr/config/development/settings.json +0 -6
  473. package/test/integration/fixtures/reflux-ssr/config/production/env.sh +0 -9
  474. package/test/integration/fixtures/reflux-ssr/config/production/settings.json +0 -6
  475. package/test/integration/fixtures/reflux-ssr/config/staging/env.sh +0 -9
  476. package/test/integration/fixtures/reflux-ssr/config/staging/settings.json +0 -6
  477. package/test/integration/integration_helpers.js +0 -60
  478. package/tsconfig.json +0 -28
package/.claude/mcp.json DELETED
@@ -1,17 +0,0 @@
1
- {
2
- "mcpServers": {
3
- "maka-cli": {
4
- "command": "maka",
5
- "args": [
6
- "ai:mcp",
7
- "--port=5050"
8
- ],
9
- "autoApprove": [
10
- "list-maka-commands",
11
- "get-command-info",
12
- "get-project-info",
13
- "get-run-logs"
14
- ]
15
- }
16
- }
17
- }
package/.eslintrc.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "env": {
3
- "es2021": true,
4
- "node": true
5
- },
6
- "extends": [
7
- "eslint:recommended",
8
- "plugin:@typescript-eslint/recommended"
9
- ],
10
- "overrides": [
11
- ],
12
- "parser": "@typescript-eslint/parser",
13
- "parserOptions": {
14
- "ecmaVersion": "latest",
15
- "sourceType": "module"
16
- },
17
- "plugins": [
18
- "@typescript-eslint"
19
- ],
20
- "rules": {
21
- "@typescript-eslint/ban-types": "off",
22
- "prefer-spread": "off",
23
- "no-prototype-builtins": "off",
24
- "no-useless-escape": "off",
25
- "@typescript-eslint/no-explicit-any": "off",
26
- "no-console": 1
27
- },
28
- "ignorePatterns": ["**/templates/**", "*.test.*"]
29
- }
@@ -1,35 +0,0 @@
1
- # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
- # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3
-
4
- name: Node.js Package
5
-
6
- on:
7
- release:
8
- types: [created]
9
-
10
- jobs:
11
- build:
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v4
15
- - uses: actions/setup-node@v4
16
- with:
17
- node-version: 22
18
- - run: npm ci
19
- - run: npm test
20
-
21
- publish-npm:
22
- needs: build
23
- runs-on: ubuntu-latest
24
- permissions:
25
- contents: read
26
- id-token: write # required for npm trusted publishing (OIDC)
27
- steps:
28
- - uses: actions/checkout@v4
29
- - uses: actions/setup-node@v4
30
- with:
31
- node-version: 22
32
- registry-url: https://registry.npmjs.org/
33
- - run: npm ci
34
- - run: npm install -g npm@latest # trusted publishing needs npm >=11.5.1
35
- - run: npm publish --access public
package/.mocharc.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "loader": "ts-node/esm"
3
- }
package/.vscode/mcp.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "servers": {
3
- "maka-cli": {
4
- "type": "http",
5
- "url": "http://localhost:5050/mcp"
6
- }
7
- }
8
- }
package/CLAUDE.md DELETED
@@ -1,239 +0,0 @@
1
- # CLAUDE.md
2
-
3
- This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
-
5
- ## About
6
-
7
- Maka-CLI is a command-line scaffolding and DevOps tool for Meteor 2.x applications with React. It provides generators for creating application components and commands for building, deploying, and managing Meteor applications.
8
-
9
- ## Development Commands
10
-
11
- ### Build and Test
12
- ```bash
13
- # Full build: compile TypeScript and copy templates/assets
14
- npm run build
15
-
16
- # Watch mode for development
17
- npm run develop
18
-
19
- # Run tests
20
- npm test
21
-
22
- # Lint code
23
- npm run lint
24
- ```
25
-
26
- ### Build Process Details
27
- The `npm run build` command:
28
- 1. Removes `./bundle` directory
29
- 2. Compiles TypeScript to `./bundle/typescript/`
30
- 3. Runs `prep` which copies templates, README, package.json, and game JSON files
31
- 4. Makes the executable file at `./bundle/typescript/src/exec.js` executable
32
-
33
- ### Testing the CLI Locally
34
- After building, test the CLI:
35
- ```bash
36
- ./bundle/typescript/src/exec.js <command>
37
- ```
38
-
39
- ## Architecture
40
-
41
- ### Three-Tier Class Hierarchy
42
-
43
- The codebase is built on a three-tier inheritance model:
44
-
45
- **1. Tool (Base Class)** - `src/tool.ts`
46
- - Provides shared utility services via singleton instances
47
- - All Commands and Generators inherit from Tool
48
- - Key services accessible via properties:
49
- - `this.fsi` (FSI): File system operations, project path resolution
50
- - `this.cfg` (CFG): Configuration management (global and project configs)
51
- - `this.mpi` (MPI): Meteor package interface, proxies to Meteor CLI
52
- - `this.scaffold` (Scaffold): Template processing with EJS
53
- - `this.pkg` (PKG): Package.json manipulation
54
- - `this.docker` (Docker): Docker operations
55
- - `this.aws` (AWS): AWS infrastructure management
56
- - Handles parameter validation and option processing
57
- - Provides `validateParams()` for interactive prompting when options are missing
58
-
59
- **2. Command (Extends Tool)** - `src/command.ts`
60
- - Used for operational commands: `run`, `build`, `deploy`, `test`, `aws`, etc.
61
- - Commands form a hierarchical tree structure (commands can have sub-commands)
62
- - Create with: `Command.create(opts, handler, parentCommand)`
63
- - The root `maka` command routes to sub-commands via `processAndRunCommand()`
64
- - Special handling: commands prefixed with `generate:` or `g:` are routed to the generator system
65
-
66
- **3. Generator (Extends Tool)** - `src/generator.ts`
67
- - Used for code scaffolding: `component`, `route`, `api`, `collection`, etc.
68
- - Generators form a hierarchical tree (generators can have sub-generators)
69
- - Create with: `Generator.create(opts, handler, undoHandler, parentGenerator)`
70
- - Includes history tracking to `.maka/history.json` for undo functionality
71
- - Auto-sets `resourceNameRequired: true` unless explicitly overridden
72
- - `checkWhere: true` option automatically prompts for client/server/both location
73
-
74
- ### Command and Generator Registration
75
-
76
- Self-registration pattern:
77
- - `src/maka.ts` imports `src/commands/_index.ts` and `src/generators/_index.ts`
78
- - These index files import all command/generator modules
79
- - Each module calls `.create()` which auto-registers with its parent
80
- - Commands register with the root `Maka` command
81
- - Generators register with the root `MakaGen` generator
82
-
83
- ### Entry Point Flow
84
-
85
- `src/maka.ts` (entry point):
86
- 1. Parses CLI arguments with `minimist`
87
- 2. Camelizes option keys with `humps` (e.g., `--my-option` → `myOption`)
88
- 3. Calls `Maka.run(args, opts)` where Maka is the root command
89
-
90
- Root command routing (`src/commands/maka.cmd.ts`):
91
- - Uses `processAndRunCommand()` to parse colon-delimited commands
92
- - Example: `"build:docker"` traverses build → docker sub-command
93
- - Generator syntax: `"g:route"` or `"generate:route"` routes to generator system
94
- - Falls back to proxying unknown commands to Meteor CLI via `mpi.maybeProxyCommandToMeteor()`
95
-
96
- ### Template System
97
-
98
- Templates located in `src/templates/`:
99
- - Uses EJS (Embedded JavaScript) for templating
100
- - Processed via `this.scaffold.write({ templatePath, outputPath, data })`
101
- - Must be copied to bundle during build (handled by `prep` script)
102
- - Common data passed to templates: `name`, `className`, `fileName`, `pathPrefix`
103
-
104
- ### Options and Parameter System
105
-
106
- **Option Types:**
107
- - `requiredOpts`: Must be provided (prompts interactively if missing)
108
- - `validOpts`: Allowed options with optional validation
109
- - Short aliases auto-generated (first letter of option name)
110
- - Special `env` option: auto-prompts from available project configs
111
-
112
- **NamedParam Structure:**
113
- ```typescript
114
- {
115
- name: string,
116
- values?: string[], // Allowed values (will prompt if invalid)
117
- regex?: RegExp, // Pattern validation
118
- description?: string, // Help text
119
- boolFlag?: boolean, // Treat as boolean
120
- hidden?: boolean // Don't show in help
121
- }
122
- ```
123
-
124
- **Generator-Specific Options:**
125
- - `checkWhere: true` - Automatically adds and validates `--where` option (client/server/both)
126
- - `where` option sets `opts.appPathPrefix` to `'lib'`, `'server'`, or `'client'`
127
- - Resource names can include paths: `maka g:route todos/edit` → extracts dir and name
128
-
129
- ### History and Undo System
130
-
131
- Generators track actions in `.maka/history.json`:
132
- - Max file size: 100KB (auto-prunes oldest entries)
133
- - Each transaction gets a UUID
134
- - Related actions (same transaction) are undone together
135
- - Undo handlers are optional (passed as 3rd param to `Generator.create()`)
136
-
137
- ## Code Conventions
138
-
139
- - **ES Modules**: Uses `type: "module"` in package.json
140
- - **Import extensions**: Always use `.js` extension in imports (TypeScript compiles `.ts` → `.js`)
141
- - **Logging**: Use `Log` class methods, never `console.log`
142
- - `Log.info()`, `Log.error()`, `Log.warn()`, `Log.notice()`, `Log.success()`
143
- - Color mode (light/dark) read from global config
144
- - **Error Handling**: Use custom error classes from `src/error.ts`
145
- - `UsageError`, `MustBeInProjectError`, `NoMeteorFoundError`, etc.
146
- - **Async/Await**: Prefer over callbacks
147
- - **Handler Binding**: Handlers are auto-bound to their Command/Generator instance (`this` context)
148
-
149
- ## Key Patterns
150
-
151
- ### Creating a Command
152
- ```typescript
153
- Command.create({
154
- name: 'my-command',
155
- aliases: ['mc'],
156
- shortDesc: 'Short description',
157
- validOpts: ['option1', 'option2'],
158
- mustBeInMakaProject: true,
159
- examples: ['maka my-command --option1=value']
160
- }, async function(args, opts) {
161
- // 'this' is the Command instance
162
- // Access: this.fsi, this.cfg, this.mpi, etc.
163
- Log.info('Executing command');
164
- }, parentCommand);
165
- ```
166
-
167
- ### Creating a Generator
168
- ```typescript
169
- Generator.create({
170
- name: 'my-generator',
171
- aliases: ['mg'],
172
- shortDesc: 'Generates something',
173
- checkWhere: true, // Adds --where option
174
- validOpts: [],
175
- }, async function(args, opts) {
176
- const name = opts.resourceName;
177
-
178
- // Process template
179
- await this.scaffold.write({
180
- templatePath: this.fsi.pathFromProject({
181
- pathParts: ['src', 'templates', 'my-template.ejs']
182
- }),
183
- outputPath: this.fsi.pathFromApp({
184
- pathParts: [opts.appPathPrefix, 'my-file.js']
185
- }),
186
- data: { name }
187
- });
188
-
189
- return { success: true, message: 'Generated successfully' };
190
- }, undoHandler, parentGenerator);
191
- ```
192
-
193
- ### Using Scaffold for Templates
194
- ```typescript
195
- await this.scaffold.write({
196
- templatePath: 'path/to/template.ejs',
197
- outputPath: this.fsi.pathFromApp({ pathParts: ['app', 'components', `${name}.tsx`] }),
198
- data: { name, className: pascalCase(name), fileName: kebabCase(name) }
199
- });
200
- ```
201
-
202
- ## Project Structure
203
-
204
- ```
205
- src/
206
- ├── command.ts # Command base class
207
- ├── generator.ts # Generator base class
208
- ├── tool.ts # Tool base class
209
- ├── maka.ts # Entry point
210
- ├── exec.ts # Executable wrapper
211
- ├── error.ts # Custom error classes
212
- ├── commands/
213
- │ ├── _index.ts # Registers all commands
214
- │ ├── maka.cmd.ts # Root command
215
- │ └── [feature]/ # Commands organized by feature
216
- ├── generators/
217
- │ ├── _index.ts # Registers all generators
218
- │ ├── maka.gen.ts # Root generator
219
- │ └── [generator].ts # Individual generators
220
- ├── templates/ # EJS templates (copied to bundle)
221
- │ ├── meteor/
222
- │ ├── react/
223
- │ └── service/
224
- └── tools/ # Utility singleton classes
225
- ├── fsi/ # File system interface
226
- ├── cfg/ # Config management
227
- ├── mpi/ # Meteor package interface
228
- ├── scaffold/ # Template scaffolding
229
- ├── actions/ # Interactive prompts (@inquirer/prompts)
230
- └── [others]/
231
- ```
232
-
233
- ## Important Notes
234
-
235
- - Commands ending with `.sub.cmd.ts` are sub-commands
236
- - Generators can be nested: `g:kit:auth:basic-meteor` traverses kit → auth → basic-meteor
237
- - The `generate` command is special-cased in `maka.cmd.ts` routing logic
238
- - All tool singletons use `getInstance()` pattern and maintain dependencies
239
- - Import paths must use `.js` even for `.ts` files (ESM compatibility)