@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,135 @@
1
+ {
2
+ "title": "Field Decorator",
3
+ "description": "How to use @Field decorators in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "Field decorator implementation",
8
+ "path": "pkgs/@akanjs/constant/src/fieldMeta.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "Field options and metadata interface",
13
+ "path": "pkgs/@akanjs/constant/src/scalar.ts"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "Base enum and type definitions",
18
+ "path": "pkgs/@akanjs/base/src/base.ts"
19
+ },
20
+ {
21
+ "type": "source",
22
+ "description": "Scalar type definitions",
23
+ "path": "pkgs/@akanjs/base/src/scalar.ts"
24
+ },
25
+ {
26
+ "type": "source",
27
+ "description": "Model class metadata implementation",
28
+ "path": "pkgs/@akanjs/constant/src/classMeta.ts"
29
+ },
30
+ {
31
+ "type": "source",
32
+ "description": "GraphQL type generation from field metadata",
33
+ "path": "pkgs/@akanjs/server/src/gql.ts"
34
+ },
35
+ {
36
+ "type": "source",
37
+ "description": "MongoDB schema generation from field metadata",
38
+ "path": "pkgs/@akanjs/server/src/schema.ts"
39
+ },
40
+ {
41
+ "type": "source",
42
+ "description": "Search indexing based on field metadata",
43
+ "path": "pkgs/@akanjs/server/src/searchDaemon.ts"
44
+ },
45
+ {
46
+ "type": "example",
47
+ "description": "Examples of Field.Prop with basic options",
48
+ "path": "{apps,libs}/**/lib/__scalar/*/*.constant.ts",
49
+ "query": "/Field\\.Prop.*default/",
50
+ "sample": 3
51
+ },
52
+ {
53
+ "type": "example",
54
+ "description": "Examples of Field.Hidden and Field.Secret",
55
+ "path": "{apps,libs}/**/lib/*/*.constant.ts",
56
+ "query": "/Field\\.(Hidden|Secret)/",
57
+ "sample": 3
58
+ },
59
+ {
60
+ "type": "example",
61
+ "description": "Examples of Field.Resolve for computed properties",
62
+ "path": "{apps,libs}/**/lib/*/*.constant.ts",
63
+ "query": "/Field\\.Resolve/",
64
+ "sample": 2
65
+ },
66
+ {
67
+ "type": "example",
68
+ "description": "Examples of array field decorators",
69
+ "path": "{apps,libs}/**/lib/*/*.constant.ts",
70
+ "query": "/Field\\.Prop\\(\\(\\)\\s*=>\\s*\\[/",
71
+ "sample": 3
72
+ },
73
+ {
74
+ "type": "example",
75
+ "description": "Examples of enum usage with Field.Prop",
76
+ "path": "{apps,libs}/**/lib/*/*.constant.ts",
77
+ "query": "/Field\\.Prop.*enum:/",
78
+ "sample": 3
79
+ },
80
+ {
81
+ "type": "example",
82
+ "description": "Examples of text search and filter options",
83
+ "path": "{apps,libs}/**/lib/*/*.constant.ts",
84
+ "query": "/Field\\.Prop.*text:/",
85
+ "sample": 2
86
+ },
87
+ {
88
+ "type": "example",
89
+ "description": "Examples of validation options (min, max, minlength, etc.)",
90
+ "path": "{apps,libs}/**/lib/*/*.constant.ts",
91
+ "query": "/Field\\.Prop.*(min:|max:|minlength:|maxlength:|validate:)/",
92
+ "sample": 3
93
+ }
94
+ ],
95
+ "update": {
96
+ "filePath": "./fieldDecorator.instruction.md",
97
+ "contents": [
98
+ "Purpose and types of Field decorators",
99
+ "Basic syntax and structure",
100
+ "Field.Prop for standard properties",
101
+ "Field.Hidden for database-only fields",
102
+ "Field.Secret for sensitive data",
103
+ "Field.Resolve for computed properties",
104
+ "Field options reference",
105
+ "Working with primitive types",
106
+ "Working with enums",
107
+ "Working with arrays and nested structures",
108
+ "Reference fields and relationships",
109
+ "Date and special type handling",
110
+ "Validation and constraints",
111
+ "Search optimization",
112
+ "Default values and immutability",
113
+ "Integration with Model types",
114
+ "Best practices",
115
+ "Troubleshooting common issues"
116
+ ],
117
+ "rules": [
118
+ "Always use arrow function syntax for type specification: () => Type",
119
+ "Field type in the arrow function must match the TypeScript type",
120
+ "Use bracket notation for arrays: () => [Type] (not Array<Type>)",
121
+ "Always provide a default value for required fields",
122
+ "Mark sensitive fields with Field.Secret instead of Field.Prop",
123
+ "For nullable fields, add both { nullable: true } option and Type | null in TypeScript",
124
+ "When using enums, always create them with enumOf() and export both const and type",
125
+ "For date fields, use Date in the arrow function but Dayjs as the TypeScript type",
126
+ "Always specify the 'of' option when using Map type",
127
+ "Use text: 'search' for full-text searchable fields and text: 'filter' for filterable fields",
128
+ "Use immutable: true for fields that shouldn't change after creation",
129
+ "Array fields should have [] as the default value",
130
+ "Prefer Field.Resolve for computed properties instead of getters",
131
+ "Use Field.Hidden for internal fields that shouldn't be exposed in GraphQL"
132
+ ]
133
+ },
134
+ "page": "/[lang]/akanjs/(docs)/docs/codebase/field/page.tsx"
135
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "title": "Akan.js Framework",
3
+ "description": "Comprehensive guide to the Akan.js framework architecture, concepts, and development patterns",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "Core framework packages",
8
+ "path": "pkgs/@akanjs/**/src/index.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "Library implementations",
13
+ "path": "libs/*/index.ts"
14
+ },
15
+ {
16
+ "type": "example",
17
+ "description": "Application configurations",
18
+ "path": "apps/*/akan.config.ts",
19
+ "sample": 3
20
+ },
21
+ {
22
+ "type": "example",
23
+ "description": "Main application entry points",
24
+ "path": "apps/*/main.ts",
25
+ "sample": 3
26
+ },
27
+ {
28
+ "type": "example",
29
+ "description": "Client-side entry points",
30
+ "path": "apps/*/client.ts",
31
+ "sample": 3
32
+ },
33
+ {
34
+ "type": "example",
35
+ "description": "Server-side entry points",
36
+ "path": "apps/*/server.ts",
37
+ "sample": 3
38
+ },
39
+ {
40
+ "type": "example",
41
+ "description": "Model implementation patterns",
42
+ "path": "apps/*/lib/[!_]*/*.{constant,service,signal,store}.ts",
43
+ "sample": 4
44
+ },
45
+ {
46
+ "type": "example",
47
+ "description": "Component implementation patterns",
48
+ "path": "apps/*/lib/[!_]*/*.{View,Unit,Template,Zone}.tsx",
49
+ "sample": 4
50
+ },
51
+ {
52
+ "type": "usage",
53
+ "description": "Multi-environment configuration",
54
+ "path": "apps/*/env/*.ts",
55
+ "sample": 3
56
+ },
57
+ {
58
+ "type": "usage",
59
+ "description": "Routing implementation",
60
+ "path": "apps/*/app/**/*.tsx",
61
+ "sample": 3
62
+ },
63
+ {
64
+ "type": "usage",
65
+ "description": "State management with signals",
66
+ "path": "{apps,libs}/*/lib/[!_]*/*.signal.ts",
67
+ "sample": 3
68
+ },
69
+ {
70
+ "type": "usage",
71
+ "description": "Nestjs server integrations",
72
+ "path": "{apps,libs}/*/nest/*.ts",
73
+ "sample": 3
74
+ }
75
+ ],
76
+ "update": {
77
+ "filePath": "./framework.instruction.md",
78
+ "contents": [
79
+ "Introduction to Akan.js Framework",
80
+ "Key Features and Benefits",
81
+ "Architecture Overview",
82
+ "Environment and Configuration",
83
+ "Domain-Driven Development Pattern",
84
+ "Full-Stack Development Workflow",
85
+ "Model Architecture (constants, services, signals, stores)",
86
+ "Component Architecture (View, Unit, Template, Zone)",
87
+ "API Integration Pattern",
88
+ "State Management Pattern",
89
+ "Multi-Platform Support (Web, Mobile, SSR, CSR)",
90
+ "Type Safety and Code Generation",
91
+ "Internationalization (i18n) System",
92
+ "Security Best Practices",
93
+ "Deployment and CI/CD Integration",
94
+ "Performance Optimization Techniques",
95
+ "Development Tools and Commands",
96
+ "Database Integration Pattern",
97
+ "Authentication and Authorization System",
98
+ "File Management System",
99
+ "Real-time Communication Features",
100
+ "AI Integration and Code Generation",
101
+ "Testing and Quality Assurance",
102
+ "Best Practices and Common Patterns",
103
+ "Troubleshooting and Common Issues"
104
+ ],
105
+ "rules": [
106
+ "Emphasize the full-stack nature of the framework across all sections",
107
+ "Provide clear examples for each architectural pattern",
108
+ "Include code snippets demonstrating type safety across layers",
109
+ "Explain how components interact across client, server, and database",
110
+ "Highlight the automatic integration between layers",
111
+ "Provide both basic and advanced usage patterns",
112
+ "Include command-line examples for common development tasks",
113
+ "Organize content to flow from basic concepts to advanced usage",
114
+ "Use consistent terminology throughout the documentation",
115
+ "Include diagrams or visual aids to explain architectural concepts"
116
+ ]
117
+ },
118
+ "page": "/[lang]/akanjs/(docs)/docs/overview/page.tsx"
119
+ }
@@ -0,0 +1,135 @@
1
+ {
2
+ "title": "Model Constant",
3
+ "description": "How to create and implement model.constant.ts files in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "Model decorator implementation",
8
+ "path": "pkgs/@akanjs/constant/src/classMeta.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "Field decorator implementation",
13
+ "path": "pkgs/@akanjs/constant/src/fieldMeta.ts"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "Filter implementation",
18
+ "path": "pkgs/@akanjs/constant/src/filterMeta.ts"
19
+ },
20
+ {
21
+ "type": "source",
22
+ "description": "via and sortOf implementations",
23
+ "path": "pkgs/@akanjs/constant/src/constantDecorator.ts"
24
+ },
25
+ {
26
+ "type": "source",
27
+ "description": "GraphQL schema generation",
28
+ "path": "pkgs/@akanjs/server/src/gql.ts"
29
+ },
30
+ {
31
+ "type": "source",
32
+ "description": "MongoDB schema generation",
33
+ "path": "pkgs/@akanjs/server/src/schema.ts"
34
+ },
35
+ {
36
+ "type": "source",
37
+ "description": "Query resolver implementation",
38
+ "path": "pkgs/@akanjs/server/src/resolver.ts"
39
+ },
40
+ {
41
+ "type": "source",
42
+ "description": "Search indexing implementation",
43
+ "path": "pkgs/@akanjs/server/src/searchDaemon.ts"
44
+ },
45
+ {
46
+ "type": "example",
47
+ "description": "Simple model examples",
48
+ "path": "{apps,libs}/*/lib/*/*.constant.ts",
49
+ "query": "lines < 100",
50
+ "sample": 3
51
+ },
52
+ {
53
+ "type": "example",
54
+ "description": "Complex models with all types",
55
+ "path": "{apps,libs}/*/lib/*/*.constant.ts",
56
+ "filterText": "@Model\\.(Input|Object|Light|Full|Filter|Summary|Insight)",
57
+ "sample": 3
58
+ },
59
+ {
60
+ "type": "example",
61
+ "description": "Models with enum definitions",
62
+ "path": "{apps,libs}/*/lib/*/*.constant.ts",
63
+ "filterText": "enumOf",
64
+ "sample": 3
65
+ },
66
+ {
67
+ "type": "example",
68
+ "description": "Models with custom Filter methods",
69
+ "path": "{apps,libs}/*/lib/*/*.constant.ts",
70
+ "filterText": "@Filter.Mongo",
71
+ "sample": 2
72
+ },
73
+ {
74
+ "type": "example",
75
+ "description": "Models with reference fields",
76
+ "path": "{apps,libs}/*/lib/*/*.constant.ts",
77
+ "filterText": "ref: \"",
78
+ "sample": 2
79
+ },
80
+ {
81
+ "type": "usage",
82
+ "description": "Usage of models in UI components",
83
+ "path": "{apps,libs}/*/lib/*/[A-Z]*.{Template,Unit,View}.tsx",
84
+ "sample": 3
85
+ }
86
+ ],
87
+ "update": {
88
+ "filePath": "./modelConstant.instruction.md",
89
+ "contents": [
90
+ "Purpose and role of model.constant.ts files",
91
+ "Model class hierarchy and relationships",
92
+ "File structure and organization conventions",
93
+ "Required imports and dependencies",
94
+ "Enum definition patterns",
95
+ "ModelInput implementation",
96
+ "ModelObject implementation",
97
+ "LightModel implementation",
98
+ "Full Model implementation",
99
+ "Insight Model implementation",
100
+ "Summary Model implementation",
101
+ "Filter Model implementation",
102
+ "Field decorators and options",
103
+ "Filter decorators and arguments",
104
+ "Inheritance with via() and sortOf()",
105
+ "Working with references to other models",
106
+ "Validation rules and constraints",
107
+ "Type safety considerations",
108
+ "Common mistakes and solutions",
109
+ "Best practices for maintainable models",
110
+ "Complete example with all model types"
111
+ ],
112
+ "rules": [
113
+ "Follow the model hierarchy: Input → Object → Light/Full → Filter/Summary/Insight",
114
+ "Always create an Input model with user-editable fields",
115
+ "Always create an Object model extending Input with system fields",
116
+ "Always create a Light model with essential fields for listings",
117
+ "Always create a Full model combining Object and Light models",
118
+ "Create Filter models with sortOf() and custom filter methods",
119
+ "Create Insight models for aggregation/analytics",
120
+ "Create Summary models for dashboards",
121
+ "Use consistent naming: ModelInput, ModelObject, LightModel, Model (full)",
122
+ "Use via() for inheritance and field selection",
123
+ "Mark field arrays as const with 'as const' assertion",
124
+ "Avoid getters, setters, and instance methods - use static methods if needed",
125
+ "Always use Field.Prop/Hidden/Secret/Resolve decorators",
126
+ "Define enums with enumOf() and export both const and type",
127
+ "Set appropriate field defaults, especially for arrays (empty array)",
128
+ "Add validation constraints (min, max, minlength, maxlength) where appropriate",
129
+ "Use proper reference format with { ref: 'ModelName' }",
130
+ "Group related models in the same file",
131
+ "Export all models and enums"
132
+ ]
133
+ },
134
+ "page": "/[lang]/akanjs/(docs)/docs/module/constant/page.tsx"
135
+ }
@@ -340,7 +340,7 @@ const drones = await this.listByName("myDrone", { sort: "alphabetical" });
340
340
  | `maxlength` | `number` | - | Maximum string length | `@Field.Prop(()=> String, { maxlength: 30 }) title: string;` |
341
341
  | `query` | `object` | - | Query value for Summary fields | `@Field.Prop(() => Int, { query: { status: { $ne: 'inactive' } })` |
342
342
  | `accumulate` | `object` | - | Aggregation value for Insight fields | `@Field.Prop(() => Int, { accumulate: { $sum: 1 } }) count: number;` |
343
- | `example` | `any` | - | Example value for API docs | `@Field.Prop(()=> String, { example: "hello@akanjs.com" }) email;` |
343
+ | `example` | `any` | - | Example value for API docs | `@Field.Prop(()=> String, { example: "contact@akanjs.com" }) email;` |
344
344
  | `of` | `any` | - | Value type for Map fields | `@Field.Prop(()=> Map, { of: Date }) readAts: Map<string, Dayjs>;` |
345
345
  | `validate` | `(value) => boolean` | - | Custom validation function | `@Field.Prop(()=> String, { validate: (v)=> v.includes("@") }) email;` |
346
346
 
@@ -0,0 +1,115 @@
1
+ {
2
+ "title": "Model Dictionary",
3
+ "description": "Guidelines for creating and managing model.dictionary.ts files for multilingual support",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "Core dictionary library implementation",
8
+ "path": "pkgs/@akanjs/dictionary/src/*.ts"
9
+ },
10
+ {
11
+ "type": "example",
12
+ "description": "Dictionary type definitions and interfaces",
13
+ "path": "pkgs/@akanjs/dictionary/src/trans.ts",
14
+ "sample": 1
15
+ },
16
+ {
17
+ "type": "example",
18
+ "description": "Well-structured model dictionaries from shared libraries",
19
+ "path": "libs/shared/lib/*/**.dictionary.ts",
20
+ "sample": 3
21
+ },
22
+ {
23
+ "type": "example",
24
+ "description": "Standard model dictionaries with comprehensive field coverage",
25
+ "path": "{apps,libs}/*/lib/[!_]*/*.dictionary.ts",
26
+ "sample": 5
27
+ },
28
+ {
29
+ "type": "example",
30
+ "description": "Extended model dictionaries (user, setting, etc.)",
31
+ "path": "{apps,libs}/*/lib/{user,setting}/*.dictionary.ts",
32
+ "sample": 2
33
+ },
34
+ {
35
+ "type": "example",
36
+ "description": "Examples of summary dictionaries",
37
+ "path": "{apps,libs}/*/lib/[!_]*/*.dictionary.ts",
38
+ "filterText": "SummaryDictionary",
39
+ "sample": 2
40
+ },
41
+ {
42
+ "type": "example",
43
+ "description": "Examples of enum translations",
44
+ "path": "{apps,libs}/*/lib/[!_]*/*.dictionary.ts",
45
+ "filterText": "enum-",
46
+ "sample": 3
47
+ },
48
+ {
49
+ "type": "usage",
50
+ "description": "Frontend usage with usePage hook",
51
+ "path": "{apps,libs}/*/lib/[!_]*/*.tsx",
52
+ "filterText": "usePage();",
53
+ "sample": 2
54
+ },
55
+ {
56
+ "type": "usage",
57
+ "description": "Frontend usage accessing translations",
58
+ "path": "{apps,libs}/*/lib/[!_]*/*.tsx",
59
+ "filterText": "l(",
60
+ "sample": 2
61
+ },
62
+ {
63
+ "type": "usage",
64
+ "description": "Backend error handling with translation keys",
65
+ "path": "{apps,libs}/*/lib/[!_]*/*.{document,service}.ts",
66
+ "filterText": "throw new Revert",
67
+ "sample": 2
68
+ },
69
+ {
70
+ "type": "usage",
71
+ "description": "Dictionary validation in development",
72
+ "path": "pkgs/@akanjs/dictionary/src/trans.ts",
73
+ "filterText": "checkDictCoverage",
74
+ "sample": 1
75
+ }
76
+ ],
77
+ "update": {
78
+ "filePath": "./modelDictionary.instruction.md",
79
+ "contents": [
80
+ "Purpose and benefits of model.dictionary.ts files",
81
+ "Complete file structure with all sections",
82
+ "Translation key conventions and naming patterns",
83
+ "How to add Model field translations (standard fields)",
84
+ "How to add field descriptions (desc- entries)",
85
+ "How to add Summary translations (aggregated metrics)",
86
+ "How to add Signal/API endpoint translations",
87
+ "How to add Filter query translations",
88
+ "How to add Enum value translations and descriptions",
89
+ "How to add custom UI text translations",
90
+ "Working with Extended models (user, setting, summary)",
91
+ "Validation rules and automated dictionary checks",
92
+ "Manual validation checklist before commits",
93
+ "Common mistakes and best practices",
94
+ "Required imports and type safety",
95
+ "Full example of standard model.dictionary.ts file",
96
+ "Full example of extended model dictionary",
97
+ "Section comment format and organization best practices",
98
+ "Language order consistency requirements",
99
+ "Using the dictionary in frontend components",
100
+ "Using the dictionary for backend error messages"
101
+ ],
102
+ "rules": [
103
+ "Do not remove or change comment splitting lines. The standard format is '// * ==================== Section ==================== * //'",
104
+ "Field descriptions (desc-) must immediately follow their field declarations",
105
+ "Enum descriptions (enumdesc-) must immediately follow their enum declarations",
106
+ "Filter argument descriptions (qargdesc-) must immediately follow their qarg- declarations",
107
+ "API argument descriptions (argdesc-) must immediately follow their arg- declarations",
108
+ "Always maintain section organization (Model, Insight, Filter, Etc, Endpoint)",
109
+ "Translation arrays must follow consistent order: [English, Korean]",
110
+ "All examples should include proper type safety with the 'satisfies' keyword",
111
+ "Include recommendations for running 'akan dict:check' before commits"
112
+ ]
113
+ },
114
+ "page": "/[lang]/akanjs/(docs)/docs/module/dictionary/page.tsx"
115
+ }
@@ -0,0 +1,129 @@
1
+ {
2
+ "title": "Model Document",
3
+ "description": "How to create and implement model.document.ts files in Akan.js",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "Database decorator implementation",
8
+ "path": "pkgs/@akanjs/document/src/dbDecorators.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "Model loader implementation",
13
+ "path": "pkgs/@akanjs/document/src/dataLoader.ts"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "Database model implementation",
18
+ "path": "pkgs/@akanjs/document/src/database.ts"
19
+ },
20
+ {
21
+ "type": "example",
22
+ "description": "Simple document implementation",
23
+ "path": "libs/shared/lib/admin/admin.document.ts",
24
+ "sample": 1
25
+ },
26
+ {
27
+ "type": "example",
28
+ "description": "Complex document implementation",
29
+ "path": "libs/shared/lib/user/user.document.ts",
30
+ "sample": 1
31
+ },
32
+ {
33
+ "type": "example",
34
+ "description": "Document with DataLoader example",
35
+ "path": "libs/mint/lib/token/token.document.ts",
36
+ "sample": 1
37
+ },
38
+ {
39
+ "type": "example",
40
+ "description": "Document middleware examples",
41
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
42
+ "filterText": "schema.pre",
43
+ "sample": 2
44
+ },
45
+ {
46
+ "type": "example",
47
+ "description": "Document index examples",
48
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
49
+ "filterText": "schema.index",
50
+ "sample": 2
51
+ },
52
+ {
53
+ "type": "example",
54
+ "description": "Document dataloader examples",
55
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
56
+ "filterText": "@Loader",
57
+ "sample": 2
58
+ },
59
+ {
60
+ "type": "example",
61
+ "description": "Document model statics examples",
62
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
63
+ "filterText": "async",
64
+ "sample": 3
65
+ },
66
+ {
67
+ "type": "example",
68
+ "description": "Document model methods examples",
69
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
70
+ "filterText": "return this",
71
+ "sample": 3
72
+ },
73
+ {
74
+ "type": "example",
75
+ "description": "Cache implementation examples",
76
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
77
+ "filterText": "Cache.set",
78
+ "sample": 2
79
+ },
80
+ {
81
+ "type": "example",
82
+ "description": "Transaction examples",
83
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
84
+ "filterText": "@Transaction",
85
+ "sample": 1
86
+ },
87
+ {
88
+ "type": "example",
89
+ "description": "Search implementation",
90
+ "path": "{apps,libs}/*/lib/*/*.document.ts",
91
+ "filterText": "search",
92
+ "sample": 1
93
+ }
94
+ ],
95
+ "update": {
96
+ "filePath": "./modelDocument.instruction.md",
97
+ "contents": [
98
+ "Purpose and role of model.document.ts files",
99
+ "File structure and class organization",
100
+ "Relationship with model.constant.ts files",
101
+ "How to use document methods (instance methods)",
102
+ "How to use model statics (static methods)",
103
+ "How to apply middleware (lifecycle hooks)",
104
+ "How to define and apply indexes",
105
+ "How to use MongoDB model (direct access)",
106
+ "How to use dataloader (batching and caching)",
107
+ "How to use cache with Redis",
108
+ "How to use search with Meilisearch",
109
+ "Built-in model functions",
110
+ "Transactions and atomic operations",
111
+ "Integration with NestJS",
112
+ "Client-side usage patterns",
113
+ "Soft delete functionality",
114
+ "Error handling patterns",
115
+ "Optimization techniques"
116
+ ],
117
+ "rules": [
118
+ "Document methods are typically synchronous and return 'this' for method chaining",
119
+ "Model statics are typically asynchronous and return Promises",
120
+ "Use DataLoader for efficient relationship loading",
121
+ "Apply proper indexes for query patterns used in your application",
122
+ "Use Redis cache for frequently accessed data",
123
+ "Use transactions for operations that need to be atomic",
124
+ "Follow naming conventions for consistency",
125
+ "Handle errors with appropriate domain-specific error classes"
126
+ ]
127
+ },
128
+ "page": "/[lang]/akanjs/(docs)/docs/module/document/page.tsx"
129
+ }