@akanjs/cli 0.0.149 → 0.0.151

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 (290) hide show
  1. package/cjs/index.js +28 -20
  2. package/cjs/src/guidelines/componentRule/componentRule.generate.json +131 -0
  3. package/cjs/src/guidelines/componentRule/componentRule.instruction.md +7 -6
  4. package/cjs/src/guidelines/cssRule/cssRule.generate.json +93 -0
  5. package/cjs/src/guidelines/databaseModule/databaseModule.generate.json +51 -0
  6. package/cjs/src/guidelines/databaseModule/databaseModule.instruction.md +4 -17
  7. package/cjs/src/guidelines/docPageRule/docPageRule.generate.json +72 -0
  8. package/cjs/src/guidelines/enumConstant/enumConstant.generate.json +24 -0
  9. package/cjs/src/guidelines/fieldDecorator/fieldDecorator.generate.json +135 -0
  10. package/cjs/src/guidelines/framework/framework.generate.json +119 -0
  11. package/cjs/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
  12. package/cjs/src/guidelines/modelConstant/modelConstant.generate.json +135 -0
  13. package/cjs/src/guidelines/modelConstant/modelConstant.instruction.md +1 -1
  14. package/cjs/src/guidelines/modelDictionary/modelDictionary.generate.json +115 -0
  15. package/cjs/src/guidelines/modelDocument/modelDocument.generate.json +129 -0
  16. package/cjs/src/guidelines/modelService/modelService.generate.json +179 -0
  17. package/cjs/src/guidelines/modelSignal/modelSignal.generate.json +202 -0
  18. package/cjs/src/guidelines/modelStore/modelStore.generate.json +130 -0
  19. package/cjs/src/guidelines/modelTemplate/modelTemplate.generate.json +104 -0
  20. package/cjs/src/guidelines/modelUnit/modelUnit.generate.json +92 -0
  21. package/cjs/src/guidelines/modelUnit/modelUnit.instruction.md +2 -2
  22. package/cjs/src/guidelines/modelUtil/modelUtil.generate.json +93 -0
  23. package/cjs/src/guidelines/modelView/modelView.generate.json +80 -0
  24. package/cjs/src/guidelines/modelView/modelView.instruction.md +1 -1
  25. package/cjs/src/guidelines/modelZone/modelZone.generate.json +126 -0
  26. package/cjs/src/guidelines/modelZone/modelZone.instruction.md +3 -3
  27. package/cjs/src/guidelines/scalarConstant/scalarConstant.generate.json +102 -0
  28. package/cjs/src/guidelines/scalarDictionary/scalarDictionary.generate.json +83 -0
  29. package/cjs/src/guidelines/scalarModule/scalarModule.generate.json +35 -0
  30. package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +115 -0
  31. package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +5 -10
  32. package/cjs/src/guidelines/utilUiUsage/utilUiUsage.generate.json +140 -0
  33. package/cjs/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +1 -1
  34. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.js +47 -0
  35. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/page.js +128 -0
  36. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.js +42 -0
  37. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.js +50 -0
  38. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.js +41 -0
  39. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.js +51 -0
  40. package/cjs/src/templates/app/app/[lang]/(__appName__)/(user)/layout.js +43 -0
  41. package/cjs/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.js +60 -0
  42. package/cjs/src/templates/app/app/[lang]/(__appName__)/layout.js +54 -0
  43. package/cjs/src/templates/app/app/[lang]/admin/layout.js +54 -0
  44. package/cjs/src/templates/app/app/[lang]/admin/page.js +63 -0
  45. package/cjs/src/templates/app/app/csr.js +34 -0
  46. package/cjs/src/templates/app/app/layout.js +38 -0
  47. package/cjs/src/templates/app/lib/setting/Setting.Template.js +57 -0
  48. package/cjs/src/templates/app/lib/setting/Setting.Unit.js +38 -0
  49. package/cjs/src/templates/app/lib/setting/Setting.Util.js +34 -0
  50. package/cjs/src/templates/app/lib/setting/Setting.View.js +51 -0
  51. package/cjs/src/templates/app/lib/setting/Setting.Zone.js +80 -0
  52. package/cjs/src/templates/app/lib/setting/index.js +61 -0
  53. package/cjs/src/templates/app/lib/summary/Summary.Template.js +43 -0
  54. package/cjs/src/templates/app/lib/summary/Summary.Unit.js +38 -0
  55. package/cjs/src/templates/app/lib/summary/Summary.Util.js +33 -0
  56. package/cjs/src/templates/app/lib/summary/Summary.View.js +51 -0
  57. package/cjs/src/templates/app/lib/summary/Summary.Zone.js +62 -0
  58. package/cjs/src/templates/app/lib/summary/index.js +67 -0
  59. package/cjs/src/templates/app/lib/user/User.Template.js +65 -0
  60. package/cjs/src/templates/app/lib/user/User.Unit.js +38 -0
  61. package/cjs/src/templates/app/lib/user/User.Util.js +94 -0
  62. package/cjs/src/templates/app/lib/user/User.View.js +66 -0
  63. package/cjs/src/templates/app/lib/user/User.Zone.js +74 -0
  64. package/cjs/src/templates/app/lib/user/index.js +61 -0
  65. package/cjs/src/templates/app/main.js +1 -2
  66. package/cjs/src/templates/app/public/favicon.ico +0 -0
  67. package/cjs/src/templates/app/public/icons/icon-128x128.png +0 -0
  68. package/cjs/src/templates/app/public/icons/icon-144x144.png +0 -0
  69. package/cjs/src/templates/app/public/icons/icon-152x152.png +0 -0
  70. package/cjs/src/templates/app/public/icons/icon-192x192.png +0 -0
  71. package/cjs/src/templates/app/public/icons/icon-256x256.png +0 -0
  72. package/cjs/src/templates/app/public/icons/icon-384x384.png +0 -0
  73. package/cjs/src/templates/app/public/icons/icon-48x48.png +0 -0
  74. package/cjs/src/templates/app/public/icons/icon-512x512.png +0 -0
  75. package/cjs/src/templates/app/public/icons/icon-72x72.png +0 -0
  76. package/cjs/src/templates/app/public/icons/icon-96x96.png +0 -0
  77. package/cjs/src/templates/app/public/logo.svg +70 -0
  78. package/cjs/src/templates/app/ui/Footer.js +67 -0
  79. package/cjs/src/templates/app/ui/MainHeader.js +131 -0
  80. package/cjs/src/templates/crudPages/[__model__Id]/edit/page.js +73 -0
  81. package/cjs/src/templates/crudPages/[__model__Id]/page.js +83 -0
  82. package/cjs/src/templates/crudPages/new/page.js +70 -0
  83. package/cjs/src/templates/crudPages/page.js +71 -0
  84. package/cjs/src/templates/lib/__lib/lib.dictionary.js +2 -2
  85. package/cjs/src/templates/lib/__lib/lib.signal.js +3 -3
  86. package/cjs/src/templates/lib/__lib/lib.store.js +2 -1
  87. package/cjs/src/templates/libRoot/lib/setting/Setting.Template.js +57 -0
  88. package/cjs/src/templates/libRoot/lib/setting/Setting.Unit.js +38 -0
  89. package/cjs/src/templates/libRoot/lib/setting/Setting.Util.js +34 -0
  90. package/cjs/src/templates/libRoot/lib/setting/Setting.View.js +51 -0
  91. package/cjs/src/templates/libRoot/lib/setting/Setting.Zone.js +80 -0
  92. package/cjs/src/templates/libRoot/lib/setting/index.js +61 -0
  93. package/cjs/src/templates/libRoot/lib/summary/Summary.Template.js +43 -0
  94. package/cjs/src/templates/libRoot/lib/summary/Summary.Unit.js +38 -0
  95. package/cjs/src/templates/libRoot/lib/summary/Summary.Util.js +33 -0
  96. package/cjs/src/templates/libRoot/lib/summary/Summary.View.js +51 -0
  97. package/cjs/src/templates/libRoot/lib/summary/Summary.Zone.js +62 -0
  98. package/cjs/src/templates/libRoot/lib/summary/index.js +67 -0
  99. package/cjs/src/templates/libRoot/lib/user/User.Template.js +65 -0
  100. package/cjs/src/templates/libRoot/lib/user/User.Unit.js +38 -0
  101. package/cjs/src/templates/libRoot/lib/user/User.Util.js +94 -0
  102. package/cjs/src/templates/libRoot/lib/user/User.View.js +66 -0
  103. package/cjs/src/templates/libRoot/lib/user/User.Zone.js +74 -0
  104. package/cjs/src/templates/libRoot/lib/user/index.js +61 -0
  105. package/cjs/src/templates/module/__Model__.Template.js +54 -0
  106. package/cjs/src/templates/module/__Model__.Unit.js +42 -0
  107. package/cjs/src/templates/module/__Model__.Util.js +70 -0
  108. package/cjs/src/templates/module/__Model__.View.js +48 -0
  109. package/cjs/src/templates/module/__Model__.Zone.js +83 -0
  110. package/cjs/src/templates/module/index.js +61 -0
  111. package/esm/index.js +28 -20
  112. package/esm/src/guidelines/componentRule/componentRule.generate.json +131 -0
  113. package/esm/src/guidelines/componentRule/componentRule.instruction.md +7 -6
  114. package/esm/src/guidelines/cssRule/cssRule.generate.json +93 -0
  115. package/esm/src/guidelines/databaseModule/databaseModule.generate.json +51 -0
  116. package/esm/src/guidelines/databaseModule/databaseModule.instruction.md +4 -17
  117. package/esm/src/guidelines/docPageRule/docPageRule.generate.json +72 -0
  118. package/esm/src/guidelines/enumConstant/enumConstant.generate.json +24 -0
  119. package/esm/src/guidelines/fieldDecorator/fieldDecorator.generate.json +135 -0
  120. package/esm/src/guidelines/framework/framework.generate.json +119 -0
  121. package/esm/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
  122. package/esm/src/guidelines/modelConstant/modelConstant.generate.json +135 -0
  123. package/esm/src/guidelines/modelConstant/modelConstant.instruction.md +1 -1
  124. package/esm/src/guidelines/modelDictionary/modelDictionary.generate.json +115 -0
  125. package/esm/src/guidelines/modelDocument/modelDocument.generate.json +129 -0
  126. package/esm/src/guidelines/modelService/modelService.generate.json +179 -0
  127. package/esm/src/guidelines/modelSignal/modelSignal.generate.json +202 -0
  128. package/esm/src/guidelines/modelStore/modelStore.generate.json +130 -0
  129. package/esm/src/guidelines/modelTemplate/modelTemplate.generate.json +104 -0
  130. package/esm/src/guidelines/modelUnit/modelUnit.generate.json +92 -0
  131. package/esm/src/guidelines/modelUnit/modelUnit.instruction.md +2 -2
  132. package/esm/src/guidelines/modelUtil/modelUtil.generate.json +93 -0
  133. package/esm/src/guidelines/modelView/modelView.generate.json +80 -0
  134. package/esm/src/guidelines/modelView/modelView.instruction.md +1 -1
  135. package/esm/src/guidelines/modelZone/modelZone.generate.json +126 -0
  136. package/esm/src/guidelines/modelZone/modelZone.instruction.md +3 -3
  137. package/esm/src/guidelines/scalarConstant/scalarConstant.generate.json +102 -0
  138. package/esm/src/guidelines/scalarDictionary/scalarDictionary.generate.json +83 -0
  139. package/esm/src/guidelines/scalarModule/scalarModule.generate.json +35 -0
  140. package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +115 -0
  141. package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +5 -10
  142. package/esm/src/guidelines/utilUiUsage/utilUiUsage.generate.json +140 -0
  143. package/esm/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +1 -1
  144. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.js +27 -0
  145. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/page.js +108 -0
  146. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.js +22 -0
  147. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.js +30 -0
  148. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.js +21 -0
  149. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.js +31 -0
  150. package/esm/src/templates/app/app/[lang]/(__appName__)/(user)/layout.js +23 -0
  151. package/esm/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.js +40 -0
  152. package/esm/src/templates/app/app/[lang]/(__appName__)/layout.js +34 -0
  153. package/esm/src/templates/app/app/[lang]/admin/layout.js +34 -0
  154. package/esm/src/templates/app/app/[lang]/admin/page.js +43 -0
  155. package/esm/src/templates/app/app/csr.js +14 -0
  156. package/esm/src/templates/app/app/layout.js +18 -0
  157. package/esm/src/templates/app/lib/setting/Setting.Template.js +37 -0
  158. package/esm/src/templates/app/lib/setting/Setting.Unit.js +18 -0
  159. package/esm/src/templates/app/lib/setting/Setting.Util.js +14 -0
  160. package/esm/src/templates/app/lib/setting/Setting.View.js +31 -0
  161. package/esm/src/templates/app/lib/setting/Setting.Zone.js +60 -0
  162. package/esm/src/templates/app/lib/setting/index.js +41 -0
  163. package/esm/src/templates/app/lib/summary/Summary.Template.js +23 -0
  164. package/esm/src/templates/app/lib/summary/Summary.Unit.js +18 -0
  165. package/esm/src/templates/app/lib/summary/Summary.Util.js +13 -0
  166. package/esm/src/templates/app/lib/summary/Summary.View.js +31 -0
  167. package/esm/src/templates/app/lib/summary/Summary.Zone.js +42 -0
  168. package/esm/src/templates/app/lib/summary/index.js +47 -0
  169. package/esm/src/templates/app/lib/user/User.Template.js +45 -0
  170. package/esm/src/templates/app/lib/user/User.Unit.js +18 -0
  171. package/esm/src/templates/app/lib/user/User.Util.js +74 -0
  172. package/esm/src/templates/app/lib/user/User.View.js +46 -0
  173. package/esm/src/templates/app/lib/user/User.Zone.js +54 -0
  174. package/esm/src/templates/app/lib/user/index.js +41 -0
  175. package/esm/src/templates/app/main.js +1 -2
  176. package/esm/src/templates/app/public/favicon.ico +0 -0
  177. package/esm/src/templates/app/public/icons/icon-128x128.png +0 -0
  178. package/esm/src/templates/app/public/icons/icon-144x144.png +0 -0
  179. package/esm/src/templates/app/public/icons/icon-152x152.png +0 -0
  180. package/esm/src/templates/app/public/icons/icon-192x192.png +0 -0
  181. package/esm/src/templates/app/public/icons/icon-256x256.png +0 -0
  182. package/esm/src/templates/app/public/icons/icon-384x384.png +0 -0
  183. package/esm/src/templates/app/public/icons/icon-48x48.png +0 -0
  184. package/esm/src/templates/app/public/icons/icon-512x512.png +0 -0
  185. package/esm/src/templates/app/public/icons/icon-72x72.png +0 -0
  186. package/esm/src/templates/app/public/icons/icon-96x96.png +0 -0
  187. package/esm/src/templates/app/public/logo.svg +70 -0
  188. package/esm/src/templates/app/ui/Footer.js +47 -0
  189. package/esm/src/templates/app/ui/MainHeader.js +111 -0
  190. package/esm/src/templates/crudPages/[__model__Id]/edit/page.js +53 -0
  191. package/esm/src/templates/crudPages/[__model__Id]/page.js +63 -0
  192. package/esm/src/templates/crudPages/new/page.js +50 -0
  193. package/esm/src/templates/crudPages/page.js +51 -0
  194. package/esm/src/templates/lib/__lib/lib.dictionary.js +2 -2
  195. package/esm/src/templates/lib/__lib/lib.signal.js +3 -3
  196. package/esm/src/templates/lib/__lib/lib.store.js +2 -1
  197. package/esm/src/templates/libRoot/lib/setting/Setting.Template.js +37 -0
  198. package/esm/src/templates/libRoot/lib/setting/Setting.Unit.js +18 -0
  199. package/esm/src/templates/libRoot/lib/setting/Setting.Util.js +14 -0
  200. package/esm/src/templates/libRoot/lib/setting/Setting.View.js +31 -0
  201. package/esm/src/templates/libRoot/lib/setting/Setting.Zone.js +60 -0
  202. package/esm/src/templates/libRoot/lib/setting/index.js +41 -0
  203. package/esm/src/templates/libRoot/lib/summary/Summary.Template.js +23 -0
  204. package/esm/src/templates/libRoot/lib/summary/Summary.Unit.js +18 -0
  205. package/esm/src/templates/libRoot/lib/summary/Summary.Util.js +13 -0
  206. package/esm/src/templates/libRoot/lib/summary/Summary.View.js +31 -0
  207. package/esm/src/templates/libRoot/lib/summary/Summary.Zone.js +42 -0
  208. package/esm/src/templates/libRoot/lib/summary/index.js +47 -0
  209. package/esm/src/templates/libRoot/lib/user/User.Template.js +45 -0
  210. package/esm/src/templates/libRoot/lib/user/User.Unit.js +18 -0
  211. package/esm/src/templates/libRoot/lib/user/User.Util.js +74 -0
  212. package/esm/src/templates/libRoot/lib/user/User.View.js +46 -0
  213. package/esm/src/templates/libRoot/lib/user/User.Zone.js +54 -0
  214. package/esm/src/templates/libRoot/lib/user/index.js +41 -0
  215. package/esm/src/templates/module/__Model__.Template.js +34 -0
  216. package/esm/src/templates/module/__Model__.Unit.js +22 -0
  217. package/esm/src/templates/module/__Model__.Util.js +50 -0
  218. package/esm/src/templates/module/__Model__.View.js +28 -0
  219. package/esm/src/templates/module/__Model__.Zone.js +63 -0
  220. package/esm/src/templates/module/index.js +41 -0
  221. package/package.json +1 -1
  222. package/src/guidelines/componentRule/componentRule.instruction.md +7 -6
  223. package/src/guidelines/databaseModule/databaseModule.instruction.md +4 -17
  224. package/src/guidelines/modelConstant/modelConstant.instruction.md +1 -1
  225. package/src/guidelines/modelUnit/modelUnit.instruction.md +2 -2
  226. package/src/guidelines/modelView/modelView.instruction.md +1 -1
  227. package/src/guidelines/modelZone/modelZone.instruction.md +3 -3
  228. package/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +5 -10
  229. package/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +1 -1
  230. package/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.d.ts +9 -0
  231. package/src/templates/app/app/[lang]/(__appName__)/(public)/page.d.ts +9 -0
  232. package/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.d.ts +9 -0
  233. package/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.d.ts +9 -0
  234. package/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.d.ts +10 -0
  235. package/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.d.ts +9 -0
  236. package/src/templates/app/app/[lang]/(__appName__)/(user)/layout.d.ts +9 -0
  237. package/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.d.ts +9 -0
  238. package/src/templates/app/app/[lang]/(__appName__)/layout.d.ts +9 -0
  239. package/src/templates/app/app/[lang]/admin/layout.d.ts +9 -0
  240. package/src/templates/app/app/[lang]/admin/page.d.ts +9 -0
  241. package/src/templates/app/app/csr.d.ts +9 -0
  242. package/src/templates/app/app/layout.d.ts +9 -0
  243. package/src/templates/app/lib/setting/Setting.Template.d.ts +9 -0
  244. package/src/templates/app/lib/setting/Setting.Unit.d.ts +9 -0
  245. package/src/templates/app/lib/setting/Setting.Util.d.ts +9 -0
  246. package/src/templates/app/lib/setting/Setting.View.d.ts +9 -0
  247. package/src/templates/app/lib/setting/Setting.Zone.d.ts +9 -0
  248. package/src/templates/app/lib/setting/index.d.ts +9 -0
  249. package/src/templates/app/lib/summary/Summary.Template.d.ts +9 -0
  250. package/src/templates/app/lib/summary/Summary.Unit.d.ts +9 -0
  251. package/src/templates/app/lib/summary/Summary.Util.d.ts +9 -0
  252. package/src/templates/app/lib/summary/Summary.View.d.ts +9 -0
  253. package/src/templates/app/lib/summary/Summary.Zone.d.ts +9 -0
  254. package/src/templates/app/lib/summary/index.d.ts +9 -0
  255. package/src/templates/app/lib/user/User.Template.d.ts +9 -0
  256. package/src/templates/app/lib/user/User.Unit.d.ts +9 -0
  257. package/src/templates/app/lib/user/User.Util.d.ts +9 -0
  258. package/src/templates/app/lib/user/User.View.d.ts +9 -0
  259. package/src/templates/app/lib/user/User.Zone.d.ts +9 -0
  260. package/src/templates/app/lib/user/index.d.ts +9 -0
  261. package/src/templates/app/ui/Footer.d.ts +9 -0
  262. package/src/templates/app/ui/MainHeader.d.ts +10 -0
  263. package/src/templates/crudPages/[__model__Id]/edit/page.d.ts +11 -0
  264. package/src/templates/crudPages/[__model__Id]/page.d.ts +11 -0
  265. package/src/templates/crudPages/new/page.d.ts +11 -0
  266. package/src/templates/crudPages/page.d.ts +11 -0
  267. package/src/templates/libRoot/lib/setting/Setting.Template.d.ts +9 -0
  268. package/src/templates/libRoot/lib/setting/Setting.Unit.d.ts +9 -0
  269. package/src/templates/libRoot/lib/setting/Setting.Util.d.ts +9 -0
  270. package/src/templates/libRoot/lib/setting/Setting.View.d.ts +9 -0
  271. package/src/templates/libRoot/lib/setting/Setting.Zone.d.ts +9 -0
  272. package/src/templates/libRoot/lib/setting/index.d.ts +9 -0
  273. package/src/templates/libRoot/lib/summary/Summary.Template.d.ts +9 -0
  274. package/src/templates/libRoot/lib/summary/Summary.Unit.d.ts +9 -0
  275. package/src/templates/libRoot/lib/summary/Summary.Util.d.ts +9 -0
  276. package/src/templates/libRoot/lib/summary/Summary.View.d.ts +9 -0
  277. package/src/templates/libRoot/lib/summary/Summary.Zone.d.ts +9 -0
  278. package/src/templates/libRoot/lib/summary/index.d.ts +9 -0
  279. package/src/templates/libRoot/lib/user/User.Template.d.ts +9 -0
  280. package/src/templates/libRoot/lib/user/User.Unit.d.ts +9 -0
  281. package/src/templates/libRoot/lib/user/User.Util.d.ts +9 -0
  282. package/src/templates/libRoot/lib/user/User.View.d.ts +9 -0
  283. package/src/templates/libRoot/lib/user/User.Zone.d.ts +9 -0
  284. package/src/templates/libRoot/lib/user/index.d.ts +9 -0
  285. package/src/templates/module/__Model__.Template.d.ts +11 -0
  286. package/src/templates/module/__Model__.Unit.d.ts +11 -0
  287. package/src/templates/module/__Model__.Util.d.ts +11 -0
  288. package/src/templates/module/__Model__.View.d.ts +11 -0
  289. package/src/templates/module/__Model__.Zone.d.ts +11 -0
  290. package/src/templates/module/index.d.ts +11 -0
@@ -0,0 +1,92 @@
1
+ {
2
+ "title": "Model Unit",
3
+ "description": "How to create and implement Model.Unit.tsx files in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "example",
7
+ "description": "Model Unit examples",
8
+ "path": "{apps,libs}/*/lib/*/*.Unit.tsx",
9
+ "sample": 5
10
+ },
11
+ {
12
+ "type": "implementation",
13
+ "description": "Model Unit typical implementations",
14
+ "path": "{apps,libs}/*/lib/**/*.Unit.tsx",
15
+ "filterText": "export const Abstract",
16
+ "sample": 3
17
+ },
18
+ {
19
+ "type": "implementation",
20
+ "description": "Model Unit Card implementations",
21
+ "path": "{apps,libs}/*/lib/**/*.Unit.tsx",
22
+ "filterText": "export const Card",
23
+ "sample": 2
24
+ },
25
+ {
26
+ "type": "usage",
27
+ "description": "Model Unit usage in pages",
28
+ "path": "apps/*/app/**/page.tsx",
29
+ "filterText": ".Unit.",
30
+ "sample": 1
31
+ },
32
+ {
33
+ "type": "usage",
34
+ "description": "Model Unit usage in Utils",
35
+ "path": "{apps,libs}/*/lib/*/*.Util.tsx",
36
+ "filterText": ".Unit.",
37
+ "sample": 1
38
+ },
39
+ {
40
+ "type": "usage",
41
+ "description": "Model Unit usage in Templates",
42
+ "path": "{apps,libs}/*/lib/*/*.Template.tsx",
43
+ "filterText": ".Unit.",
44
+ "sample": 1
45
+ },
46
+ {
47
+ "type": "usage",
48
+ "description": "Model Unit usage in Zones",
49
+ "path": "{apps,libs}/*/lib/*/*.Zone.tsx",
50
+ "filterText": ".Unit.",
51
+ "sample": 3
52
+ },
53
+ {
54
+ "type": "reference",
55
+ "description": "Integration with database models",
56
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
57
+ "sample": 1
58
+ },
59
+ {
60
+ "type": "reference",
61
+ "description": "Integration with model constants",
62
+ "path": "{apps,libs}/*/lib/*/*.constant.ts",
63
+ "sample": 1
64
+ }
65
+ ],
66
+ "update": {
67
+ "filePath": "./modelUnit.instruction.md",
68
+ "contents": [
69
+ "Purpose and role of Model.Unit.tsx files",
70
+ "How to create Model.Unit.tsx files",
71
+ "Common export patterns (Abstract, Card, Full, etc.)",
72
+ "Integration with LightModel types from constants",
73
+ "How to use Model.Unit.tsx files in pages",
74
+ "How to use Model.Unit.tsx files in Utils",
75
+ "How to use Model.Unit.tsx files in Zones",
76
+ "How to use Model.Unit.tsx files in Templates",
77
+ "Best practices for performance optimization",
78
+ "Common component patterns and variations"
79
+ ],
80
+ "rules": [
81
+ "Model.Unit.tsx is a server component, so it should not use client-side hooks like useEffect, useState, etc.",
82
+ "Model.Unit.tsx is a presentation component of cnst.LightModel to reuse in pages, Utils, Zones, and Templates, etc.",
83
+ "Always accept className prop for styling customization",
84
+ "Create multiple export variations (Abstract, Card, Full) for different use cases",
85
+ "Use semantic HTML and ensure accessibility",
86
+ "Focus on presentation only - do not include business logic",
87
+ "Include href prop for navigation when appropriate",
88
+ "Ensure proper image handling with the Image component from @util/ui"
89
+ ]
90
+ },
91
+ "page": "/[lang]/akanjs/(docs)/docs/module/unit/page.tsx"
92
+ }
@@ -39,7 +39,7 @@ A typical Model.Unit.tsx file exports multiple component variations:
39
39
  ```tsx
40
40
  import { clsx } from "clsx";
41
41
  import { cnst } from "@your-lib/client";
42
- import { Image, Link } from "@util/ui";
42
+ import { Image, Link } from "@akanjs/ui";
43
43
 
44
44
  // Compact representation (minimal details)
45
45
  export const Abstract = ({
@@ -253,7 +253,7 @@ export const Card = ({ user, className }: { user: cnst.LightUser; className?: st
253
253
  Always use the optimized `Image` component from `@util/ui` with proper attributes:
254
254
 
255
255
  ```tsx
256
- import { Image } from "@util/ui";
256
+ import { Image } from "@akanjs/ui";
257
257
 
258
258
  export const Card = ({ product }: { product: cnst.LightProduct }) => (
259
259
  <div className="card">
@@ -0,0 +1,93 @@
1
+ {
2
+ "title": "Model Util",
3
+ "description": "How to create and implement Model.Util.ts files in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "example",
7
+ "description": "Model Util examples",
8
+ "path": "{apps,libs}/*/lib/*/*.Util.ts{,x}",
9
+ "sample": 5
10
+ },
11
+ {
12
+ "type": "source",
13
+ "description": "Example of high-quality Model.Util implementation",
14
+ "path": "libs/shared/lib/admin/Admin.Util.tsx"
15
+ },
16
+ {
17
+ "type": "source",
18
+ "description": "Example of complex Model.Util implementation",
19
+ "path": "libs/shared/lib/user/User.Util.tsx"
20
+ },
21
+ {
22
+ "type": "usage",
23
+ "description": "Model Util usage in pages",
24
+ "path": "apps/*/app/**/page.tsx",
25
+ "filterText": ".Util.",
26
+ "sample": 3
27
+ },
28
+ {
29
+ "type": "usage",
30
+ "description": "Model Util usage in Units",
31
+ "path": "{apps,libs}/*/lib/*/*.Unit.tsx",
32
+ "filterText": ".Util.",
33
+ "sample": 3
34
+ },
35
+ {
36
+ "type": "usage",
37
+ "description": "Model Util usage in Templates",
38
+ "path": "{apps,libs}/*/lib/*/*.Template.tsx",
39
+ "filterText": ".Util.",
40
+ "sample": 2
41
+ },
42
+ {
43
+ "type": "usage",
44
+ "description": "Model Util usage in Views",
45
+ "path": "{apps,libs}/*/lib/*/*.View.tsx",
46
+ "filterText": ".Util.",
47
+ "sample": 3
48
+ },
49
+ {
50
+ "type": "usage",
51
+ "description": "Model Util usage in Zones",
52
+ "path": "{apps,libs}/*/lib/*/*.Zone.tsx",
53
+ "filterText": ".Util.",
54
+ "sample": 3
55
+ },
56
+ {
57
+ "type": "related",
58
+ "description": "Relationship with model.store.ts",
59
+ "path": "{apps,libs}/*/lib/*/*.{store,signal}.ts",
60
+ "sample": 2
61
+ }
62
+ ],
63
+ "update": {
64
+ "filePath": "./modelUtil.instruction.md",
65
+ "contents": [
66
+ "Purpose and role of Model.Util.ts files",
67
+ "How to create Model.Util.ts files",
68
+ "Common patterns and implementations",
69
+ "Using with store actions and state",
70
+ "Using with signal API calls",
71
+ "Performance optimization techniques",
72
+ "How to use Model.Util.ts files in pages",
73
+ "How to use Model.Util.ts files in Units",
74
+ "How to use Model.Util.ts files in Templates",
75
+ "How to use Model.Util.ts files in Views",
76
+ "How to use Model.Util.ts files in Zones",
77
+ "Best practices and error handling"
78
+ ],
79
+ "rules": [
80
+ "Model.Util.tsx is a client component, so it can use client-side hooks like useEffect, useState, etc.",
81
+ "Model.Util.tsx is a utility component to reuse in pages, Units, Templates, Views, and Zones, etc.",
82
+ "Util components should be focused on a single responsibility",
83
+ "Util can be a wrapper component for using in server components",
84
+ "Util can be a wrapper component for store actions or signal api calls",
85
+ "Util components should handle their own loading and error states",
86
+ "Always use TypeScript for type safety in props and returned values",
87
+ "Consider memoization for performance-critical components",
88
+ "Follow consistent naming conventions (e.g., ActionButton, FilterPanel)",
89
+ "Document props with JSDoc comments for better IDE support"
90
+ ]
91
+ },
92
+ "page": "/[lang]/akanjs/(docs)/docs/module/util/page.tsx"
93
+ }
@@ -0,0 +1,80 @@
1
+ {
2
+ "title": "Model View",
3
+ "description": "How to create and implement Model.View.tsx files in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "example",
7
+ "description": "Model View examples",
8
+ "path": "{apps,libs}/*/lib/*/*.View.tsx",
9
+ "sample": 5
10
+ },
11
+ {
12
+ "type": "example",
13
+ "description": "Model View interfaces",
14
+ "path": "{apps,libs}/*/lib/*/*.View.tsx",
15
+ "filterText": "ViewProps",
16
+ "sample": 3
17
+ },
18
+ {
19
+ "type": "usage",
20
+ "description": "Model View usage in pages",
21
+ "path": "apps/*/app/**/page.tsx",
22
+ "filterText": ".View.",
23
+ "sample": 2
24
+ },
25
+ {
26
+ "type": "usage",
27
+ "description": "Model View usage in Utils",
28
+ "path": "{apps,libs}/*/lib/*/*.Util.tsx",
29
+ "filterText": ".View.",
30
+ "sample": 3
31
+ },
32
+ {
33
+ "type": "usage",
34
+ "description": "Model View usage in Zones",
35
+ "path": "{apps,libs}/*/lib/*/*.Zone.tsx",
36
+ "filterText": ".View.",
37
+ "sample": 3
38
+ },
39
+ {
40
+ "type": "compare",
41
+ "description": "Compare with Unit components",
42
+ "path": "{apps,libs}/*/lib/*/*.Unit.tsx",
43
+ "sample": 2
44
+ },
45
+ {
46
+ "type": "compare",
47
+ "description": "Compare with Template components",
48
+ "path": "{apps,libs}/*/lib/*/*.Template.tsx",
49
+ "sample": 2
50
+ }
51
+ ],
52
+ "update": {
53
+ "filePath": "./modelView.instruction.md",
54
+ "contents": [
55
+ "Purpose and role of Model.View.tsx files in the Akan.js architecture",
56
+ "Core principles of Model.View.tsx components",
57
+ "File structure and component organization",
58
+ "Props design and interfaces",
59
+ "Component variations and specialized views",
60
+ "Integration with other Akan.js components",
61
+ "Server component considerations",
62
+ "Best practices for effective View components",
63
+ "How to use Model.View.tsx in pages, Utils and Zones",
64
+ "Common patterns and advanced techniques",
65
+ "Performance optimization strategies",
66
+ "Troubleshooting and common issues"
67
+ ],
68
+ "rules": [
69
+ "Model.View.tsx is a server component, so it should not use client-side hooks like useEffect, useState, etc.",
70
+ "Model.View.tsx focuses on presentation of model data, not interaction or state management",
71
+ "Model.View.tsx files export named functional components, not default exports",
72
+ "Components should be designed for reuse across pages, Utils, and Zones",
73
+ "Props interfaces should follow consistent naming patterns",
74
+ "View components should be responsive and accessible",
75
+ "Complex views should be broken into logical, reusable sections",
76
+ "Components should handle edge cases like missing data gracefully"
77
+ ]
78
+ },
79
+ "page": "/[lang]/akanjs/(docs)/docs/module/view/page.tsx"
80
+ }
@@ -748,7 +748,7 @@ export const Product = ({ product }: ProductViewProps) => (
748
748
  ### 1. Optimize Images and Media
749
749
 
750
750
  ```tsx
751
- import { Image } from "@util/ui"; // Optimized image component
751
+ import { Image } from "@akanjs/ui"; // Optimized image component
752
752
 
753
753
  export const General = ({ product }: ProductViewProps) => (
754
754
  <div className="product-view">
@@ -0,0 +1,126 @@
1
+ {
2
+ "title": "Model Zone",
3
+ "description": "How to create and implement Model.Zone.tsx files in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "example",
7
+ "description": "Model Zone examples",
8
+ "path": "{apps,libs}/*/lib/*/*.Zone.{ts,tsx}",
9
+ "sample": 5
10
+ },
11
+ {
12
+ "type": "usage",
13
+ "description": "Model Zone usage in pages",
14
+ "path": "apps/*/app/**/page.tsx",
15
+ "filterText": ".Zone.",
16
+ "sample": 5
17
+ },
18
+ {
19
+ "type": "pattern",
20
+ "description": "Admin Zone patterns",
21
+ "path": "{apps,libs}/*/lib/*/*.Zone.{ts,tsx}",
22
+ "filterText": "export const Admin",
23
+ "sample": 3
24
+ },
25
+ {
26
+ "type": "pattern",
27
+ "description": "Card Zone patterns",
28
+ "path": "{apps,libs}/*/lib/*/*.Zone.{ts,tsx}",
29
+ "filterText": "export const Card",
30
+ "sample": 3
31
+ },
32
+ {
33
+ "type": "pattern",
34
+ "description": "View Zone patterns",
35
+ "path": "{apps,libs}/*/lib/*/*.Zone.{ts,tsx}",
36
+ "filterText": "export const View",
37
+ "sample": 3
38
+ },
39
+ {
40
+ "type": "pattern",
41
+ "description": "Specialized Zone patterns",
42
+ "path": "{apps,libs}/*/lib/*/*.Zone.{ts,tsx}",
43
+ "filterText": "Load.Units|Load.View|Data.ListContainer",
44
+ "sample": 3
45
+ },
46
+ {
47
+ "type": "integration",
48
+ "description": "Zone integration with Load components",
49
+ "path": "{apps,libs}/*/lib/*/*.Zone.{ts,tsx}",
50
+ "filterText": "Load.Page|Load.Units|Load.View",
51
+ "sample": 3
52
+ }
53
+ ],
54
+ "interfaces": [
55
+ {
56
+ "name": "Common Zone Props",
57
+ "description": "Typical props used by Zone components",
58
+ "properties": [
59
+ {
60
+ "name": "className",
61
+ "type": "string",
62
+ "optional": true,
63
+ "description": "CSS class name for styling flexibility"
64
+ },
65
+ {
66
+ "name": "init",
67
+ "type": "ClientInit<model, LightModel>",
68
+ "optional": false,
69
+ "description": "Initialization data for model list"
70
+ },
71
+ {
72
+ "name": "view",
73
+ "type": "ClientView<model, Model>",
74
+ "optional": false,
75
+ "description": "View data for a single model instance"
76
+ },
77
+ {
78
+ "name": "query",
79
+ "type": "QueryProps",
80
+ "optional": true,
81
+ "description": "Query parameters for filtering data"
82
+ },
83
+ {
84
+ "name": "sliceName",
85
+ "type": "string",
86
+ "optional": true,
87
+ "description": "Name of the state slice for data management"
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "name": "Architectural Position",
93
+ "description": "How Zone components fit in the component hierarchy",
94
+ "notes": [
95
+ "Page Components → Zone Components → View/Unit/Template Components",
96
+ "Client Components (use client) → Can use hooks and client-side state",
97
+ "Typically used within Load.Page in page.tsx files",
98
+ "Act as connectors between data fetching and UI presentation"
99
+ ]
100
+ }
101
+ ],
102
+ "update": {
103
+ "filePath": "./modelZone.instruction.md",
104
+ "contents": [
105
+ "Purpose and role of Model.Zone.tsx files",
106
+ "Component structure and naming patterns",
107
+ "Common Zone component types (Admin, View, Card, specialized)",
108
+ "Props patterns and data handling",
109
+ "Client component patterns and hooks usage",
110
+ "Integration with page components and data fetching",
111
+ "Composition with other Model components (Unit, View, Template, Util)",
112
+ "Best practices and implementation guidelines"
113
+ ],
114
+ "rules": [
115
+ "Model.Zone.tsx is a client component, so it can use client-side hooks like useEffect, useState, etc.",
116
+ "Model.Zone.tsx is a container component that connects data with UI presentation",
117
+ "Zone components typically import and use other model components (Unit, View, Template, Util)",
118
+ "Zone components should handle presentation logic, not business logic or data fetching",
119
+ "Common Zone types include Admin, View, Card, and specialized components",
120
+ "Zone components should accept flexible props like className for styling customization",
121
+ "Zone components often use Load.Units, Load.View, or Data.ListContainer for data handling",
122
+ "Zone components serve as the bridge between page components and UI presentation"
123
+ ]
124
+ },
125
+ "page": "/[lang]/akanjs/(docs)/docs/module/zone/page.tsx"
126
+ }
@@ -33,7 +33,7 @@ Example: `apps/angelo/lib/bizAccount/bizAccount.Zone.tsx`
33
33
  ```tsx
34
34
  "use client";
35
35
 
36
- import { Load, Data } from "@shared/ui";
36
+ import { Load, Data } from "@akanjs/ui";
37
37
  import { ModelsProps } from "@akanjs/client";
38
38
  import { ClientInit, ClientView } from "@akanjs/signal";
39
39
  import { Model } from "./index";
@@ -275,7 +275,7 @@ Zone components are typically used within page.tsx files using the Load.Page pat
275
275
 
276
276
  ```tsx
277
277
  // app/[lang]/(app)/model/page.tsx
278
- import { Load } from "@shared/ui";
278
+ import { Load } from "@akanjs/ui";
279
279
  import { fetch } from "@akanjs/signal";
280
280
  import { Model } from "@app/lib";
281
281
 
@@ -465,7 +465,7 @@ export const Dashboard = ({ className }: { className?: string }) => {
465
465
  "use client";
466
466
 
467
467
  import { useEffect } from "react";
468
- import { Load } from "@shared/ui";
468
+ import { Load } from "@akanjs/ui";
469
469
  import { fetch, subscriptions } from "@akanjs/signal";
470
470
 
471
471
  export const LiveFeed = ({ className, init }: { className?: string; init: ClientInit<"model", cnst.LightModel> }) => {
@@ -0,0 +1,102 @@
1
+ {
2
+ "title": "Scalar Constant",
3
+ "description": "how to generate a scalar.constant.ts file",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "core constant library source code for scalar definitions",
8
+ "path": "pkgs/@akanjs/constant/src/classMeta.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "field metadata implementation",
13
+ "path": "pkgs/@akanjs/constant/src/fieldMeta.ts"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "scalar metadata implementation",
18
+ "path": "pkgs/@akanjs/constant/src/scalar.ts"
19
+ },
20
+ {
21
+ "type": "source",
22
+ "description": "base scalar types and enumOf implementation",
23
+ "path": "pkgs/@akanjs/base/src/base.ts"
24
+ },
25
+ {
26
+ "type": "source",
27
+ "description": "GqlScalar type definition",
28
+ "path": "pkgs/@akanjs/base/src/scalar.ts"
29
+ },
30
+ {
31
+ "type": "source",
32
+ "description": "constant metadata usage in graphql schema generation",
33
+ "path": "pkgs/@akanjs/server/src/gql.ts"
34
+ },
35
+ {
36
+ "type": "source",
37
+ "description": "constant metadata usage in mongoDB schema generation",
38
+ "path": "pkgs/@akanjs/server/src/schema.ts"
39
+ },
40
+ {
41
+ "type": "example",
42
+ "description": "simple scalar.constant.ts file examples",
43
+ "path": "{apps,libs}/*/lib/__scalar/*/*.constant.ts",
44
+ "query": "lines < 30",
45
+ "sample": 5
46
+ },
47
+ {
48
+ "type": "example",
49
+ "description": "complex scalar.constant.ts file examples with enum definitions",
50
+ "path": "{apps,libs}/*/lib/__scalar/*/*.constant.ts",
51
+ "query": "lines > 30 && /enumOf/",
52
+ "sample": 3
53
+ },
54
+ {
55
+ "type": "example",
56
+ "description": "scalar.constant.ts file examples with static methods",
57
+ "path": "{apps,libs}/*/lib/__scalar/*/*.constant.ts",
58
+ "query": "/static\\s+\\w+/",
59
+ "sample": 3
60
+ },
61
+ {
62
+ "type": "example",
63
+ "description": "scalar.constant.ts file examples with nested scalar references",
64
+ "path": "{apps,libs}/*/lib/__scalar/*/*.constant.ts",
65
+ "query": "/import.*\\.constant/",
66
+ "sample": 3
67
+ }
68
+ ],
69
+ "update": {
70
+ "filePath": "./scalarConstant.instruction.md",
71
+ "contents": [
72
+ "Purpose of scalar constants in Akan.js",
73
+ "File structure and location conventions",
74
+ "Naming standards for directories, files, classes and enums",
75
+ "Required imports and framework types",
76
+ "Model definition with @Model.Scalar decorator",
77
+ "Field definitions with @Field.Prop and other decorators",
78
+ "Field options reference table",
79
+ "Array fields implementation",
80
+ "Map fields implementation",
81
+ "Enum implementation with enumOf",
82
+ "Static methods in scalar classes",
83
+ "Validation rules and checklists",
84
+ "Common mistakes and fixes",
85
+ "Full examples of scalar.constant.ts files"
86
+ ],
87
+ "rules": [
88
+ "One scalar.constant.ts should contain only one @Model.Scalar class. If you need more than one scalar model, make another scalar.constant.ts file.",
89
+ "The directory and filename convention is camelCase, such as `geoLocation/geoLocation.constant.ts`",
90
+ "The class name should be PascalCase, matching the camelCase directory name (e.g., GeoLocation for geoLocation)",
91
+ "The @Model.Scalar parameter MUST match the class name exactly",
92
+ "The values of enum strings must be camelCase (not uppercase)",
93
+ "Do not forget to import required imports like enumOf, Float, type Dayjs, etc.",
94
+ "Do not add options that don't exist in Field.Prop decorator. Carefully check that each option exists.",
95
+ "Always use Dayjs type for Date fields, not JavaScript's native Date",
96
+ "For nullable fields, add both the { nullable: true } option and the TypeScript union type (Type | null)",
97
+ "Use bracket notation for arrays ([Type]) rather than generics (Array<Type>)",
98
+ "Always export both const and type for enums created with enumOf"
99
+ ]
100
+ },
101
+ "page": "/[lang]/akanjs/(docs)/docs/scalar/constant/page.tsx"
102
+ }
@@ -0,0 +1,83 @@
1
+ {
2
+ "title": "Scalar Dictionary",
3
+ "description": "How to create and maintain scalar.dictionary.ts files in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "Translation types and interfaces",
8
+ "path": "pkgs/@akanjs/dictionary/src/trans.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "ModelDictionary type definition",
13
+ "path": "pkgs/@akanjs/dictionary/src/index.ts"
14
+ },
15
+ {
16
+ "type": "example",
17
+ "description": "Simple scalar dictionary examples",
18
+ "path": "{apps,libs}/**/lib/__scalar/*/*.dictionary.ts",
19
+ "query": "lines < 30",
20
+ "sample": 3
21
+ },
22
+ {
23
+ "type": "example",
24
+ "description": "Scalar dictionaries with enum translations",
25
+ "path": "{apps,libs}/**/lib/__scalar/*/*.dictionary.ts",
26
+ "query": "/enum-.*:/",
27
+ "sample": 3
28
+ },
29
+ {
30
+ "type": "example",
31
+ "description": "Scalar dictionaries with section separators",
32
+ "path": "{apps,libs}/**/lib/__scalar/*/*.dictionary.ts",
33
+ "query": "/={10,}/",
34
+ "sample": 2
35
+ },
36
+ {
37
+ "type": "example",
38
+ "description": "Complete scalar dictionary with field and enum translations",
39
+ "path": "{apps,libs}/**/lib/__scalar/*/*.dictionary.ts",
40
+ "query": "lines > 30",
41
+ "sample": 2
42
+ },
43
+ {
44
+ "type": "example",
45
+ "description": "Best practice examples with organized structure",
46
+ "path": "{apps,libs}/**/lib/__scalar/*/*.dictionary.ts",
47
+ "query": "/\\*\\s+=+\\s+Model\\s+=+\\s+\\*/",
48
+ "sample": 2
49
+ }
50
+ ],
51
+ "update": {
52
+ "filePath": "./scalarDictionary.instruction.md",
53
+ "contents": [
54
+ "Purpose of scalar dictionary files",
55
+ "Structure and naming conventions",
56
+ "Required model metadata translations",
57
+ "Field translation patterns",
58
+ "Enum translation patterns",
59
+ "Custom translation patterns",
60
+ "Section organization with comment separators",
61
+ "Type safety with satisfies ModelDictionary",
62
+ "Validation rules and checklist",
63
+ "Common mistakes and fixes",
64
+ "Best practices for organization",
65
+ "Full example with all translation types"
66
+ ],
67
+ "rules": [
68
+ "Do not remove or change comment separator lines using asterisks and equals signs (e.g., /* ==================== Model ==================== */)",
69
+ "Always add field descriptions immediately after the field translations using the desc- prefix",
70
+ "Always add enum descriptions immediately after enum translations using the enumdesc- prefix",
71
+ "Use exactly two string elements in translation arrays: [English, Korean]",
72
+ "Always include modelName and modelDesc as the first translations in the file",
73
+ "Keep field translations grouped together, followed by enum translations",
74
+ "Scalar dictionaries should only contain model field and enum translations, not query filters or API arguments",
75
+ "Use the satisfies ModelDictionary<YourType> syntax to ensure type safety",
76
+ "Always use camelCase for field names, exactly matching the constant file",
77
+ "Follow the exact format enum-fieldName-enumValue for enum translations",
78
+ "Group translations by sections with comment separators for better readability",
79
+ "Use proper naming: myScalarDictionary for the exported constant (matching the model name)"
80
+ ]
81
+ },
82
+ "page": "/[lang]/akanjs/(docs)/docs/scalar/dictionary/page.tsx"
83
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "title": "Scalar Module",
3
+ "description": "Overview and summary of scalar modules in Akan.js - reusable data structures for embedded documents, DTOs, and shared schemas",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "constant instruction file",
8
+ "path": "pkgs/@akanjs/cli/src/guidelines/scalarConstant/scalarConstant.instruction.md"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "dictionary instruction file",
13
+ "path": "pkgs/@akanjs/cli/src/guidelines/scalarDictionary/scalarDictionary.instruction.md"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "core scalar module factory functions",
18
+ "path": "pkgs/@akanjs/server/src/module.ts"
19
+ }
20
+ ],
21
+ "update": {
22
+ "filePath": "./scalarModule.instruction.md",
23
+ "contents": [
24
+ "Purpose and architecture of scalar modules in Akan.js",
25
+ "Complete file structure and directory organization",
26
+ "Naming conventions for directories, files, classes, enums and dictionary keys"
27
+ ],
28
+ "rules": [
29
+ "Follow camelCase naming for directories and files",
30
+ "Use PascalCase for class names and enum types",
31
+ "Design scalars for reusability across multiple modules"
32
+ ]
33
+ },
34
+ "page": "/[lang]/akanjs/(docs)/docs/scalar/overview/page.tsx"
35
+ }