@akanjs/cli 0.0.148 → 0.0.150

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 (340) hide show
  1. package/cjs/index.js +58 -11
  2. package/cjs/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
  3. package/cjs/src/guidelines/componentRule/componentRule.generate.json +131 -0
  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/docPageRule/docPageRule.generate.json +72 -0
  7. package/cjs/src/guidelines/enumConstant/enumConstant.generate.json +24 -0
  8. package/cjs/src/guidelines/fieldDecorator/fieldDecorator.generate.json +135 -0
  9. package/cjs/src/guidelines/framework/framework.generate.json +119 -0
  10. package/cjs/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
  11. package/cjs/src/guidelines/modelConstant/modelConstant.generate.json +135 -0
  12. package/cjs/src/guidelines/modelDictionary/modelDictionary.generate.json +115 -0
  13. package/cjs/src/guidelines/modelDocument/modelDocument.generate.json +129 -0
  14. package/cjs/src/guidelines/modelService/modelService.generate.json +179 -0
  15. package/cjs/src/guidelines/modelSignal/modelSignal.generate.json +202 -0
  16. package/cjs/src/guidelines/modelStore/modelStore.generate.json +130 -0
  17. package/cjs/src/guidelines/modelTemplate/modelTemplate.generate.json +104 -0
  18. package/cjs/src/guidelines/modelUnit/modelUnit.generate.json +92 -0
  19. package/cjs/src/guidelines/modelUtil/modelUtil.generate.json +93 -0
  20. package/cjs/src/guidelines/modelView/modelView.generate.json +80 -0
  21. package/cjs/src/guidelines/modelZone/modelZone.generate.json +126 -0
  22. package/cjs/src/guidelines/scalarConstant/scalarConstant.generate.json +102 -0
  23. package/cjs/src/guidelines/scalarDictionary/scalarDictionary.generate.json +83 -0
  24. package/cjs/src/guidelines/scalarModule/scalarModule.generate.json +35 -0
  25. package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +115 -0
  26. package/cjs/src/guidelines/utilUiUsage/utilUiUsage.generate.json +140 -0
  27. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.js +47 -0
  28. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/page.js +128 -0
  29. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.js +42 -0
  30. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.js +50 -0
  31. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.js +41 -0
  32. package/cjs/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.js +51 -0
  33. package/cjs/src/templates/app/app/[lang]/(__appName__)/(user)/layout.js +43 -0
  34. package/cjs/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.js +60 -0
  35. package/cjs/src/templates/app/app/[lang]/(__appName__)/layout.js +54 -0
  36. package/cjs/src/templates/app/app/[lang]/(__appName__)/styles.css.template +19 -0
  37. package/cjs/src/templates/app/app/[lang]/admin/layout.js +54 -0
  38. package/cjs/src/templates/app/app/[lang]/admin/page.js +63 -0
  39. package/cjs/src/templates/app/app/csr.js +34 -0
  40. package/cjs/src/templates/app/app/index.html.template +13 -0
  41. package/cjs/src/templates/app/app/layout.js +38 -0
  42. package/cjs/src/templates/app/capacitor.config.ts.template +8 -0
  43. package/cjs/src/templates/app/env/env.client.debug.ts.template +7 -0
  44. package/cjs/src/templates/app/env/env.client.develop.ts.template +7 -0
  45. package/cjs/src/templates/app/env/env.client.local.ts.template +7 -0
  46. package/cjs/src/templates/app/env/env.client.main.ts.template +7 -0
  47. package/cjs/src/templates/app/env/env.client.testing.ts.template +7 -0
  48. package/cjs/src/templates/app/env/env.server.debug.ts.template +15 -0
  49. package/cjs/src/templates/app/env/env.server.develop.ts.template +15 -0
  50. package/cjs/src/templates/app/env/env.server.local.ts.template +15 -0
  51. package/cjs/src/templates/app/env/env.server.main.ts.template +15 -0
  52. package/cjs/src/templates/app/env/env.server.testing.ts.template +7 -0
  53. package/cjs/src/templates/app/lib/setting/Setting.Template.js +57 -0
  54. package/cjs/src/templates/app/lib/setting/Setting.Unit.js +38 -0
  55. package/cjs/src/templates/app/lib/setting/Setting.Util.js +34 -0
  56. package/cjs/src/templates/app/lib/setting/Setting.View.js +51 -0
  57. package/cjs/src/templates/app/lib/setting/Setting.Zone.js +80 -0
  58. package/cjs/src/templates/app/lib/setting/index.js +61 -0
  59. package/cjs/src/templates/app/lib/summary/Summary.Template.js +43 -0
  60. package/cjs/src/templates/app/lib/summary/Summary.Unit.js +38 -0
  61. package/cjs/src/templates/app/lib/summary/Summary.Util.js +33 -0
  62. package/cjs/src/templates/app/lib/summary/Summary.View.js +51 -0
  63. package/cjs/src/templates/app/lib/summary/Summary.Zone.js +62 -0
  64. package/cjs/src/templates/app/lib/summary/index.js +67 -0
  65. package/cjs/src/templates/app/lib/user/User.Template.js +65 -0
  66. package/cjs/src/templates/app/lib/user/User.Unit.js +38 -0
  67. package/cjs/src/templates/app/lib/user/User.Util.js +94 -0
  68. package/cjs/src/templates/app/lib/user/User.View.js +66 -0
  69. package/cjs/src/templates/app/lib/user/User.Zone.js +74 -0
  70. package/cjs/src/templates/app/lib/user/index.js +61 -0
  71. package/cjs/src/templates/app/main.js +2 -1
  72. package/cjs/src/templates/app/page.test.ts.template +10 -0
  73. package/cjs/src/templates/app/playwright.config.ts.template +6 -0
  74. package/cjs/src/templates/app/postcss.config.js.template +10 -0
  75. package/cjs/src/templates/app/public/favicon.ico +0 -0
  76. package/cjs/src/templates/app/public/icons/icon-128x128.png +0 -0
  77. package/cjs/src/templates/app/public/icons/icon-144x144.png +0 -0
  78. package/cjs/src/templates/app/public/icons/icon-152x152.png +0 -0
  79. package/cjs/src/templates/app/public/icons/icon-192x192.png +0 -0
  80. package/cjs/src/templates/app/public/icons/icon-256x256.png +0 -0
  81. package/cjs/src/templates/app/public/icons/icon-384x384.png +0 -0
  82. package/cjs/src/templates/app/public/icons/icon-48x48.png +0 -0
  83. package/cjs/src/templates/app/public/icons/icon-512x512.png +0 -0
  84. package/cjs/src/templates/app/public/icons/icon-72x72.png +0 -0
  85. package/cjs/src/templates/app/public/icons/icon-96x96.png +0 -0
  86. package/cjs/src/templates/app/public/logo.svg +70 -0
  87. package/cjs/src/templates/app/public/manifest.json.template +67 -0
  88. package/cjs/src/templates/app/tsconfig.json.template +22 -0
  89. package/cjs/src/templates/app/tsconfig.spec.json.template +7 -0
  90. package/cjs/src/templates/app/ui/Footer.js +67 -0
  91. package/cjs/src/templates/app/ui/MainHeader.js +131 -0
  92. package/cjs/src/templates/crudPages/[__model__Id]/edit/page.js +73 -0
  93. package/cjs/src/templates/crudPages/[__model__Id]/page.js +83 -0
  94. package/cjs/src/templates/crudPages/new/page.js +70 -0
  95. package/cjs/src/templates/crudPages/page.js +71 -0
  96. package/cjs/src/templates/libRoot/.gitignore.template +15 -0
  97. package/cjs/src/templates/libRoot/env/env.server.example.ts.template +7 -0
  98. package/cjs/src/templates/libRoot/env/env.server.testing.ts.template +7 -0
  99. package/cjs/src/templates/libRoot/lib/setting/Setting.Template.js +57 -0
  100. package/cjs/src/templates/libRoot/lib/setting/Setting.Unit.js +38 -0
  101. package/cjs/src/templates/libRoot/lib/setting/Setting.Util.js +34 -0
  102. package/cjs/src/templates/libRoot/lib/setting/Setting.View.js +51 -0
  103. package/cjs/src/templates/libRoot/lib/setting/Setting.Zone.js +80 -0
  104. package/cjs/src/templates/libRoot/lib/setting/index.js +61 -0
  105. package/cjs/src/templates/libRoot/lib/summary/Summary.Template.js +43 -0
  106. package/cjs/src/templates/libRoot/lib/summary/Summary.Unit.js +38 -0
  107. package/cjs/src/templates/libRoot/lib/summary/Summary.Util.js +33 -0
  108. package/cjs/src/templates/libRoot/lib/summary/Summary.View.js +51 -0
  109. package/cjs/src/templates/libRoot/lib/summary/Summary.Zone.js +62 -0
  110. package/cjs/src/templates/libRoot/lib/summary/index.js +67 -0
  111. package/cjs/src/templates/libRoot/lib/user/User.Template.js +65 -0
  112. package/cjs/src/templates/libRoot/lib/user/User.Unit.js +38 -0
  113. package/cjs/src/templates/libRoot/lib/user/User.Util.js +94 -0
  114. package/cjs/src/templates/libRoot/lib/user/User.View.js +66 -0
  115. package/cjs/src/templates/libRoot/lib/user/User.Zone.js +74 -0
  116. package/cjs/src/templates/libRoot/lib/user/index.js +61 -0
  117. package/cjs/src/templates/libRoot/package.json.template +4 -0
  118. package/cjs/src/templates/libRoot/tsconfig.json.template +13 -0
  119. package/cjs/src/templates/libRoot/tsconfig.spec.json.template +7 -0
  120. package/cjs/src/templates/localDev/docker-compose.yaml.template +36 -0
  121. package/cjs/src/templates/module/__Model__.Template.js +54 -0
  122. package/cjs/src/templates/module/__Model__.Unit.js +42 -0
  123. package/cjs/src/templates/module/__Model__.Util.js +70 -0
  124. package/cjs/src/templates/module/__Model__.View.js +48 -0
  125. package/cjs/src/templates/module/__Model__.Zone.js +83 -0
  126. package/cjs/src/templates/module/index.js +61 -0
  127. package/cjs/src/templates/pkgRoot/tsconfig.json.template +15 -0
  128. package/cjs/src/templates/workspaceRoot/.env.template +20 -0
  129. package/cjs/src/templates/workspaceRoot/.gitignore.template +118 -0
  130. package/cjs/src/templates/workspaceRoot/.prettierignore.template +10 -0
  131. package/cjs/src/templates/workspaceRoot/.prettierrc.json.template +6 -0
  132. package/cjs/src/templates/workspaceRoot/.swcrc.template +9 -0
  133. package/cjs/src/templates/workspaceRoot/.vscode/settings.json.template +13 -0
  134. package/cjs/src/templates/workspaceRoot/README.md.template +37 -0
  135. package/cjs/src/templates/workspaceRoot/eslint.config.ts.template +3 -0
  136. package/cjs/src/templates/workspaceRoot/package.json.template +43 -0
  137. package/cjs/src/templates/workspaceRoot/tsconfig.json.template +29 -0
  138. package/esm/index.js +59 -12
  139. package/esm/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
  140. package/esm/src/guidelines/componentRule/componentRule.generate.json +131 -0
  141. package/esm/src/guidelines/cssRule/cssRule.generate.json +93 -0
  142. package/esm/src/guidelines/databaseModule/databaseModule.generate.json +51 -0
  143. package/esm/src/guidelines/docPageRule/docPageRule.generate.json +72 -0
  144. package/esm/src/guidelines/enumConstant/enumConstant.generate.json +24 -0
  145. package/esm/src/guidelines/fieldDecorator/fieldDecorator.generate.json +135 -0
  146. package/esm/src/guidelines/framework/framework.generate.json +119 -0
  147. package/esm/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
  148. package/esm/src/guidelines/modelConstant/modelConstant.generate.json +135 -0
  149. package/esm/src/guidelines/modelDictionary/modelDictionary.generate.json +115 -0
  150. package/esm/src/guidelines/modelDocument/modelDocument.generate.json +129 -0
  151. package/esm/src/guidelines/modelService/modelService.generate.json +179 -0
  152. package/esm/src/guidelines/modelSignal/modelSignal.generate.json +202 -0
  153. package/esm/src/guidelines/modelStore/modelStore.generate.json +130 -0
  154. package/esm/src/guidelines/modelTemplate/modelTemplate.generate.json +104 -0
  155. package/esm/src/guidelines/modelUnit/modelUnit.generate.json +92 -0
  156. package/esm/src/guidelines/modelUtil/modelUtil.generate.json +93 -0
  157. package/esm/src/guidelines/modelView/modelView.generate.json +80 -0
  158. package/esm/src/guidelines/modelZone/modelZone.generate.json +126 -0
  159. package/esm/src/guidelines/scalarConstant/scalarConstant.generate.json +102 -0
  160. package/esm/src/guidelines/scalarDictionary/scalarDictionary.generate.json +83 -0
  161. package/esm/src/guidelines/scalarModule/scalarModule.generate.json +35 -0
  162. package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +115 -0
  163. package/esm/src/guidelines/utilUiUsage/utilUiUsage.generate.json +140 -0
  164. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.js +27 -0
  165. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/page.js +108 -0
  166. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.js +22 -0
  167. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.js +30 -0
  168. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.js +21 -0
  169. package/esm/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.js +31 -0
  170. package/esm/src/templates/app/app/[lang]/(__appName__)/(user)/layout.js +23 -0
  171. package/esm/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.js +40 -0
  172. package/esm/src/templates/app/app/[lang]/(__appName__)/layout.js +34 -0
  173. package/esm/src/templates/app/app/[lang]/(__appName__)/styles.css.template +19 -0
  174. package/esm/src/templates/app/app/[lang]/admin/layout.js +34 -0
  175. package/esm/src/templates/app/app/[lang]/admin/page.js +43 -0
  176. package/esm/src/templates/app/app/csr.js +14 -0
  177. package/esm/src/templates/app/app/index.html.template +13 -0
  178. package/esm/src/templates/app/app/layout.js +18 -0
  179. package/esm/src/templates/app/capacitor.config.ts.template +8 -0
  180. package/esm/src/templates/app/env/env.client.debug.ts.template +7 -0
  181. package/esm/src/templates/app/env/env.client.develop.ts.template +7 -0
  182. package/esm/src/templates/app/env/env.client.local.ts.template +7 -0
  183. package/esm/src/templates/app/env/env.client.main.ts.template +7 -0
  184. package/esm/src/templates/app/env/env.client.testing.ts.template +7 -0
  185. package/esm/src/templates/app/env/env.server.debug.ts.template +15 -0
  186. package/esm/src/templates/app/env/env.server.develop.ts.template +15 -0
  187. package/esm/src/templates/app/env/env.server.local.ts.template +15 -0
  188. package/esm/src/templates/app/env/env.server.main.ts.template +15 -0
  189. package/esm/src/templates/app/env/env.server.testing.ts.template +7 -0
  190. package/esm/src/templates/app/lib/setting/Setting.Template.js +37 -0
  191. package/esm/src/templates/app/lib/setting/Setting.Unit.js +18 -0
  192. package/esm/src/templates/app/lib/setting/Setting.Util.js +14 -0
  193. package/esm/src/templates/app/lib/setting/Setting.View.js +31 -0
  194. package/esm/src/templates/app/lib/setting/Setting.Zone.js +60 -0
  195. package/esm/src/templates/app/lib/setting/index.js +41 -0
  196. package/esm/src/templates/app/lib/summary/Summary.Template.js +23 -0
  197. package/esm/src/templates/app/lib/summary/Summary.Unit.js +18 -0
  198. package/esm/src/templates/app/lib/summary/Summary.Util.js +13 -0
  199. package/esm/src/templates/app/lib/summary/Summary.View.js +31 -0
  200. package/esm/src/templates/app/lib/summary/Summary.Zone.js +42 -0
  201. package/esm/src/templates/app/lib/summary/index.js +47 -0
  202. package/esm/src/templates/app/lib/user/User.Template.js +45 -0
  203. package/esm/src/templates/app/lib/user/User.Unit.js +18 -0
  204. package/esm/src/templates/app/lib/user/User.Util.js +74 -0
  205. package/esm/src/templates/app/lib/user/User.View.js +46 -0
  206. package/esm/src/templates/app/lib/user/User.Zone.js +54 -0
  207. package/esm/src/templates/app/lib/user/index.js +41 -0
  208. package/esm/src/templates/app/main.js +2 -1
  209. package/esm/src/templates/app/page.test.ts.template +10 -0
  210. package/esm/src/templates/app/playwright.config.ts.template +6 -0
  211. package/esm/src/templates/app/postcss.config.js.template +10 -0
  212. package/esm/src/templates/app/public/favicon.ico +0 -0
  213. package/esm/src/templates/app/public/icons/icon-128x128.png +0 -0
  214. package/esm/src/templates/app/public/icons/icon-144x144.png +0 -0
  215. package/esm/src/templates/app/public/icons/icon-152x152.png +0 -0
  216. package/esm/src/templates/app/public/icons/icon-192x192.png +0 -0
  217. package/esm/src/templates/app/public/icons/icon-256x256.png +0 -0
  218. package/esm/src/templates/app/public/icons/icon-384x384.png +0 -0
  219. package/esm/src/templates/app/public/icons/icon-48x48.png +0 -0
  220. package/esm/src/templates/app/public/icons/icon-512x512.png +0 -0
  221. package/esm/src/templates/app/public/icons/icon-72x72.png +0 -0
  222. package/esm/src/templates/app/public/icons/icon-96x96.png +0 -0
  223. package/esm/src/templates/app/public/logo.svg +70 -0
  224. package/esm/src/templates/app/public/manifest.json.template +67 -0
  225. package/esm/src/templates/app/tsconfig.json.template +22 -0
  226. package/esm/src/templates/app/tsconfig.spec.json.template +7 -0
  227. package/esm/src/templates/app/ui/Footer.js +47 -0
  228. package/esm/src/templates/app/ui/MainHeader.js +111 -0
  229. package/esm/src/templates/crudPages/[__model__Id]/edit/page.js +53 -0
  230. package/esm/src/templates/crudPages/[__model__Id]/page.js +63 -0
  231. package/esm/src/templates/crudPages/new/page.js +50 -0
  232. package/esm/src/templates/crudPages/page.js +51 -0
  233. package/esm/src/templates/libRoot/.gitignore.template +15 -0
  234. package/esm/src/templates/libRoot/env/env.server.example.ts.template +7 -0
  235. package/esm/src/templates/libRoot/env/env.server.testing.ts.template +7 -0
  236. package/esm/src/templates/libRoot/lib/setting/Setting.Template.js +37 -0
  237. package/esm/src/templates/libRoot/lib/setting/Setting.Unit.js +18 -0
  238. package/esm/src/templates/libRoot/lib/setting/Setting.Util.js +14 -0
  239. package/esm/src/templates/libRoot/lib/setting/Setting.View.js +31 -0
  240. package/esm/src/templates/libRoot/lib/setting/Setting.Zone.js +60 -0
  241. package/esm/src/templates/libRoot/lib/setting/index.js +41 -0
  242. package/esm/src/templates/libRoot/lib/summary/Summary.Template.js +23 -0
  243. package/esm/src/templates/libRoot/lib/summary/Summary.Unit.js +18 -0
  244. package/esm/src/templates/libRoot/lib/summary/Summary.Util.js +13 -0
  245. package/esm/src/templates/libRoot/lib/summary/Summary.View.js +31 -0
  246. package/esm/src/templates/libRoot/lib/summary/Summary.Zone.js +42 -0
  247. package/esm/src/templates/libRoot/lib/summary/index.js +47 -0
  248. package/esm/src/templates/libRoot/lib/user/User.Template.js +45 -0
  249. package/esm/src/templates/libRoot/lib/user/User.Unit.js +18 -0
  250. package/esm/src/templates/libRoot/lib/user/User.Util.js +74 -0
  251. package/esm/src/templates/libRoot/lib/user/User.View.js +46 -0
  252. package/esm/src/templates/libRoot/lib/user/User.Zone.js +54 -0
  253. package/esm/src/templates/libRoot/lib/user/index.js +41 -0
  254. package/esm/src/templates/libRoot/package.json.template +4 -0
  255. package/esm/src/templates/libRoot/tsconfig.json.template +13 -0
  256. package/esm/src/templates/libRoot/tsconfig.spec.json.template +7 -0
  257. package/esm/src/templates/localDev/docker-compose.yaml.template +36 -0
  258. package/esm/src/templates/module/__Model__.Template.js +34 -0
  259. package/esm/src/templates/module/__Model__.Unit.js +22 -0
  260. package/esm/src/templates/module/__Model__.Util.js +50 -0
  261. package/esm/src/templates/module/__Model__.View.js +28 -0
  262. package/esm/src/templates/module/__Model__.Zone.js +63 -0
  263. package/esm/src/templates/module/index.js +41 -0
  264. package/esm/src/templates/pkgRoot/tsconfig.json.template +15 -0
  265. package/esm/src/templates/workspaceRoot/.env.template +20 -0
  266. package/esm/src/templates/workspaceRoot/.gitignore.template +118 -0
  267. package/esm/src/templates/workspaceRoot/.prettierignore.template +10 -0
  268. package/esm/src/templates/workspaceRoot/.prettierrc.json.template +6 -0
  269. package/esm/src/templates/workspaceRoot/.swcrc.template +9 -0
  270. package/esm/src/templates/workspaceRoot/.vscode/settings.json.template +13 -0
  271. package/esm/src/templates/workspaceRoot/README.md.template +37 -0
  272. package/esm/src/templates/workspaceRoot/eslint.config.ts.template +3 -0
  273. package/esm/src/templates/workspaceRoot/package.json.template +43 -0
  274. package/esm/src/templates/workspaceRoot/tsconfig.json.template +29 -0
  275. package/package.json +1 -1
  276. package/src/application/application.command.d.ts +1 -0
  277. package/src/application/application.runner.d.ts +6 -1
  278. package/src/application/application.script.d.ts +3 -1
  279. package/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -18
  280. package/src/templates/app/app/[lang]/(__appName__)/(public)/forgotpassword/page.d.ts +9 -0
  281. package/src/templates/app/app/[lang]/(__appName__)/(public)/page.d.ts +9 -0
  282. package/src/templates/app/app/[lang]/(__appName__)/(public)/privacy/page.d.ts +9 -0
  283. package/src/templates/app/app/[lang]/(__appName__)/(public)/signin/page.d.ts +9 -0
  284. package/src/templates/app/app/[lang]/(__appName__)/(public)/termsofservice/page.d.ts +10 -0
  285. package/src/templates/app/app/[lang]/(__appName__)/(public)/unknown/page.d.ts +9 -0
  286. package/src/templates/app/app/[lang]/(__appName__)/(user)/layout.d.ts +9 -0
  287. package/src/templates/app/app/[lang]/(__appName__)/(user)/self/page.d.ts +9 -0
  288. package/src/templates/app/app/[lang]/(__appName__)/layout.d.ts +9 -0
  289. package/src/templates/app/app/[lang]/admin/layout.d.ts +9 -0
  290. package/src/templates/app/app/[lang]/admin/page.d.ts +9 -0
  291. package/src/templates/app/app/csr.d.ts +9 -0
  292. package/src/templates/app/app/layout.d.ts +9 -0
  293. package/src/templates/app/lib/setting/Setting.Template.d.ts +9 -0
  294. package/src/templates/app/lib/setting/Setting.Unit.d.ts +9 -0
  295. package/src/templates/app/lib/setting/Setting.Util.d.ts +9 -0
  296. package/src/templates/app/lib/setting/Setting.View.d.ts +9 -0
  297. package/src/templates/app/lib/setting/Setting.Zone.d.ts +9 -0
  298. package/src/templates/app/lib/setting/index.d.ts +9 -0
  299. package/src/templates/app/lib/summary/Summary.Template.d.ts +9 -0
  300. package/src/templates/app/lib/summary/Summary.Unit.d.ts +9 -0
  301. package/src/templates/app/lib/summary/Summary.Util.d.ts +9 -0
  302. package/src/templates/app/lib/summary/Summary.View.d.ts +9 -0
  303. package/src/templates/app/lib/summary/Summary.Zone.d.ts +9 -0
  304. package/src/templates/app/lib/summary/index.d.ts +9 -0
  305. package/src/templates/app/lib/user/User.Template.d.ts +9 -0
  306. package/src/templates/app/lib/user/User.Unit.d.ts +9 -0
  307. package/src/templates/app/lib/user/User.Util.d.ts +9 -0
  308. package/src/templates/app/lib/user/User.View.d.ts +9 -0
  309. package/src/templates/app/lib/user/User.Zone.d.ts +9 -0
  310. package/src/templates/app/lib/user/index.d.ts +9 -0
  311. package/src/templates/app/ui/Footer.d.ts +9 -0
  312. package/src/templates/app/ui/MainHeader.d.ts +10 -0
  313. package/src/templates/crudPages/[__model__Id]/edit/page.d.ts +11 -0
  314. package/src/templates/crudPages/[__model__Id]/page.d.ts +11 -0
  315. package/src/templates/crudPages/new/page.d.ts +11 -0
  316. package/src/templates/crudPages/page.d.ts +11 -0
  317. package/src/templates/libRoot/lib/setting/Setting.Template.d.ts +9 -0
  318. package/src/templates/libRoot/lib/setting/Setting.Unit.d.ts +9 -0
  319. package/src/templates/libRoot/lib/setting/Setting.Util.d.ts +9 -0
  320. package/src/templates/libRoot/lib/setting/Setting.View.d.ts +9 -0
  321. package/src/templates/libRoot/lib/setting/Setting.Zone.d.ts +9 -0
  322. package/src/templates/libRoot/lib/setting/index.d.ts +9 -0
  323. package/src/templates/libRoot/lib/summary/Summary.Template.d.ts +9 -0
  324. package/src/templates/libRoot/lib/summary/Summary.Unit.d.ts +9 -0
  325. package/src/templates/libRoot/lib/summary/Summary.Util.d.ts +9 -0
  326. package/src/templates/libRoot/lib/summary/Summary.View.d.ts +9 -0
  327. package/src/templates/libRoot/lib/summary/Summary.Zone.d.ts +9 -0
  328. package/src/templates/libRoot/lib/summary/index.d.ts +9 -0
  329. package/src/templates/libRoot/lib/user/User.Template.d.ts +9 -0
  330. package/src/templates/libRoot/lib/user/User.Unit.d.ts +9 -0
  331. package/src/templates/libRoot/lib/user/User.Util.d.ts +9 -0
  332. package/src/templates/libRoot/lib/user/User.View.d.ts +9 -0
  333. package/src/templates/libRoot/lib/user/User.Zone.d.ts +9 -0
  334. package/src/templates/libRoot/lib/user/index.d.ts +9 -0
  335. package/src/templates/module/__Model__.Template.d.ts +11 -0
  336. package/src/templates/module/__Model__.Unit.d.ts +11 -0
  337. package/src/templates/module/__Model__.Util.d.ts +11 -0
  338. package/src/templates/module/__Model__.View.d.ts +11 -0
  339. package/src/templates/module/__Model__.Zone.d.ts +11 -0
  340. package/src/templates/module/index.d.ts +11 -0
@@ -0,0 +1,37 @@
1
+ ## Get Started
2
+
3
+ Run the code below.
4
+
5
+ ```
6
+ npm run downloadEnv # Need to register your public key
7
+
8
+ npm i -g akan pnpm
9
+
10
+ pnpm i
11
+
12
+ cat <<EOF >> .env
13
+ # organization configuration, no need to change
14
+ NEXT_PUBLIC_REPO_NAME=<%= repoName %>
15
+ NEXT_PUBLIC_SERVE_DOMAIN="<%= serveDomain %>"
16
+
17
+ # development branch, debug, develop, main, etc. mainly it changes databases.
18
+ NEXT_PUBLIC_ENV=debug
19
+
20
+ # local, cloud, edge it changes the connection point of the clients.
21
+ NEXT_PUBLIC_OPERATION_MODE=local
22
+ # hybrid app specific config, will be depreciated in the future
23
+ APP_OPERATION_MODE=local
24
+
25
+ # backend service mode, federation, batch, all
26
+ SERVER_MODE=federation
27
+
28
+ # analyze the bundle size
29
+ ANALYZE=false
30
+
31
+ # log level, debug, info, warn, error
32
+ NEXT_PUBLIC_LOG_LEVEL=debug
33
+ EOF
34
+
35
+ akan serve-backend <%= appName %>
36
+ # or akan serve-frontend <%= appName %>, etc
37
+ ```
@@ -0,0 +1,3 @@
1
+ import { eslintConfig } from "@akanjs/lint";
2
+
3
+ export default eslintConfig;
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "<%= repoName %>",
3
+ "description": "<%= repoName %> workspace",
4
+ "version": "0.0.1",
5
+ "dependencies": {
6
+ "next": "15.3.2",
7
+ "react": "18.3.1",
8
+ "react-dom": "18.3.1",
9
+ "tailwindcss": "^4.1.7",
10
+ "daisyui": "^5.0.35"
11
+ },
12
+ "devDependencies": {
13
+ "@tailwindcss/postcss": "^4.1.7",
14
+ "@types/react": "18.3.1",
15
+ "@types/react-dom": "18.3.1",
16
+ "crypto-browserify": "^3.12.1",
17
+ "eslint": "^9.19.0",
18
+ "https-browserify": "^1.0.0",
19
+ "jest": "^29.7.0",
20
+ "jiti": "^2.4.2",
21
+ "os-browserify": "^0.3.0",
22
+ "prettier": "^3.5.3",
23
+ "prettier-plugin-tailwindcss": "^0.6.11",
24
+ "process": "^0.11.10",
25
+ "stream-browserify": "^3.0.0",
26
+ "stream-http": "^3.2.0",
27
+ "tailwind-scrollbar": "4.0.2",
28
+ "tailwindcss-animation-delay": "^2.0.2",
29
+ "tailwindcss-radix": "^4.0.2",
30
+ "ts-jest": "^29.3.4",
31
+ "url-polyfill": "^1.1.13",
32
+ "vite": "^6.3.5",
33
+ "vite-plugin-commonjs": "^0.10.4",
34
+ "vite-plugin-node-polyfills": "^0.23.0",
35
+ "vite-tsconfig-paths": "^5.1.4",
36
+ "vm-browserify": "^1.1.2"
37
+ },
38
+ "packageManager": "pnpm@10.11.0",
39
+ "engines": {
40
+ "node": ">=22",
41
+ "pnpm": ">=10"
42
+ }
43
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "compileOnSave": false,
3
+ "compilerOptions": {
4
+ "rootDir": ".",
5
+ "sourceMap": true,
6
+ "declaration": false,
7
+ "moduleResolution": "node",
8
+ "emitDecoratorMetadata": true,
9
+ "isolatedModules": true,
10
+ "esModuleInterop": true,
11
+ "experimentalDecorators": true,
12
+ "noPropertyAccessFromIndexSignature": false,
13
+ "importHelpers": false,
14
+ "target": "es2022",
15
+ "module": "esnext",
16
+ "types": ["node", "webpack-env", "vite/client", "kakao.maps.d.ts", "jest"],
17
+ "lib": ["es2017", "dom", "webworker"],
18
+ "skipLibCheck": true,
19
+ "skipDefaultLibCheck": true,
20
+ "strictNullChecks": true,
21
+ "baseUrl": ".",
22
+ "jsx": "preserve",
23
+ "resolveJsonModule": true,
24
+ "paths": {
25
+ "@/*": ["*"]
26
+ }
27
+ },
28
+ "exclude": ["**/node_modules", "tmp", "**/ios", "**/android"]
29
+ }
package/esm/index.js CHANGED
@@ -3170,6 +3170,8 @@ ${fileCheck.lintResult.message}`
3170
3170
  import * as esbuild from "esbuild";
3171
3171
  import { dtsPlugin } from "esbuild-plugin-d.ts";
3172
3172
  import fs13 from "fs";
3173
+ var assetExtensions = [".css", ".md", ".js", ".png", ".ico", ".svg", ".json", ".template"];
3174
+ var assetLoader = Object.fromEntries(assetExtensions.map((ext) => [ext, "copy"]));
3173
3175
  var Builder = class {
3174
3176
  #executor;
3175
3177
  #distExecutor;
@@ -3194,7 +3196,7 @@ var Builder = class {
3194
3196
  format,
3195
3197
  outdir: `${this.#distExecutor.cwdPath}/${format}`,
3196
3198
  logLevel: "error",
3197
- loader: { ".template": "copy", ".md": "copy" }
3199
+ loader: assetLoader
3198
3200
  };
3199
3201
  }
3200
3202
  #getAssetBuildOptions() {
@@ -3208,7 +3210,7 @@ var Builder = class {
3208
3210
  ],
3209
3211
  outdir: this.#distExecutor.cwdPath,
3210
3212
  logLevel: "error",
3211
- loader: { ".css": "copy", ".md": "copy", ".js": "copy" }
3213
+ loader: assetLoader
3212
3214
  };
3213
3215
  }
3214
3216
  async build(options = {}) {
@@ -3424,7 +3426,7 @@ var LibraryScript = class {
3424
3426
  };
3425
3427
 
3426
3428
  // pkgs/@akanjs/cli/src/application/application.runner.ts
3427
- import { confirm as confirm2, input as input4 } from "@inquirer/prompts";
3429
+ import { confirm as confirm2, input as input4, select as select5 } from "@inquirer/prompts";
3428
3430
  import { StringOutputParser } from "@langchain/core/output_parsers";
3429
3431
  import { PromptTemplate as PromptTemplate2 } from "@langchain/core/prompts";
3430
3432
  import { RunnableSequence as RunnableSequence2 } from "@langchain/core/runnables";
@@ -3469,6 +3471,34 @@ var ApplicationRunner = class {
3469
3471
  await app.syncAssets(scanResult.akanConfig.libs);
3470
3472
  return scanResult;
3471
3473
  }
3474
+ async getScriptFilename(app) {
3475
+ if (!app.exists("scripts")) {
3476
+ app.mkdir("scripts");
3477
+ throw new Error(`No script files found. make a script file in apps/${app.name}/scripts folder`);
3478
+ }
3479
+ const scriptFiles = (await app.readdir("scripts")).filter((file) => file.endsWith(".ts"));
3480
+ const scriptFile = await select5({
3481
+ message: "Select script to run",
3482
+ choices: scriptFiles.map((file) => ({ name: file, value: file.replace(".ts", "") }))
3483
+ });
3484
+ return scriptFile;
3485
+ }
3486
+ async runScript(app, filename) {
3487
+ const buildResult = await esbuild2.build({
3488
+ write: true,
3489
+ entryPoints: [`${app.cwdPath}/scripts/${filename}.ts`],
3490
+ bundle: true,
3491
+ format: "cjs",
3492
+ packages: "external",
3493
+ platform: "node",
3494
+ outdir: `${app.cwdPath}/scripts`,
3495
+ logLevel: "warning"
3496
+ });
3497
+ await app.spawn("node", [`scripts/${filename}.js`], {
3498
+ stdio: "inherit",
3499
+ env: this.#getEnv(app)
3500
+ });
3501
+ }
3472
3502
  #getEnv(app, env = {}) {
3473
3503
  const rootEnv = dotenv3.parse(app.workspace.readFile(".env"));
3474
3504
  return {
@@ -3536,10 +3566,10 @@ var ApplicationRunner = class {
3536
3566
  setTimeout(() => openBrowser("http://localhost:8080/backend/graphql"), 3e3);
3537
3567
  await app.dist.spawn("node", ["--watch", "backend/main.js"], { env, stdio: "inherit" });
3538
3568
  }
3539
- async buildFrontend(app) {
3569
+ async buildFrontend(app, { spawnOptions } = {}) {
3540
3570
  const { env } = await this.#prepareCommand(app, "build", "frontend");
3541
3571
  const akanConfig = await app.getConfig("build");
3542
- await app.spawn("npx", ["next", "build", "--no-lint"], { env });
3572
+ await app.spawn("npx", ["next", "build", "--no-lint"], { env, ...spawnOptions });
3543
3573
  const buildResult = await esbuild2.build({
3544
3574
  entryPoints: [`${app.cwdPath}/next.config.ts`],
3545
3575
  outdir: `${app.dist.cwdPath}/frontend`,
@@ -3947,6 +3977,11 @@ var ApplicationScript = class {
3947
3977
  spinner.succeed("Application scanned");
3948
3978
  return scanResult;
3949
3979
  }
3980
+ async script(app, filename) {
3981
+ const scriptFilename = filename ?? await this.#runner.getScriptFilename(app);
3982
+ await this.syncApplication(app);
3983
+ await this.#runner.runScript(app, scriptFilename);
3984
+ }
3950
3985
  async build(app) {
3951
3986
  await this.syncApplication(app);
3952
3987
  await Promise.all([this.buildBackend(app, { sync: false }), this.buildFrontend(app, { sync: false })]);
@@ -3981,12 +4016,16 @@ var ApplicationScript = class {
3981
4016
  }
3982
4017
  });
3983
4018
  }
3984
- async buildFrontend(app, { sync = true } = {}) {
4019
+ async buildFrontend(app, { sync = true, standalone = false } = {}) {
3985
4020
  if (sync)
3986
4021
  await this.syncApplication(app);
3987
- const spinner = app.spinning("Building frontend...");
3988
- await this.#runner.buildFrontend(app);
3989
- spinner.succeed(`Frontend built in dist/apps/${app.name}/frontend`);
4022
+ if (standalone)
4023
+ await this.#runner.buildFrontend(app, { spawnOptions: { stdio: "inherit" } });
4024
+ else {
4025
+ const spinner = app.spinning("Building frontend...");
4026
+ await this.#runner.buildFrontend(app);
4027
+ spinner.succeed(`Frontend built in dist/apps/${app.name}/frontend`);
4028
+ }
3990
4029
  }
3991
4030
  async startFrontend(app, { open: open2 = false, turbo = false, sync = true } = {}) {
3992
4031
  if (sync)
@@ -4113,6 +4152,9 @@ var ApplicationCommand = class {
4113
4152
  async syncApplication(app) {
4114
4153
  await this.applicationScript.syncApplication(app);
4115
4154
  }
4155
+ async script(app, filename) {
4156
+ await this.applicationScript.script(app, filename);
4157
+ }
4116
4158
  async build(app) {
4117
4159
  await this.applicationScript.build(app);
4118
4160
  }
@@ -4120,7 +4162,7 @@ var ApplicationCommand = class {
4120
4162
  await this.applicationScript.buildBackend(app);
4121
4163
  }
4122
4164
  async buildFrontend(app) {
4123
- await this.applicationScript.buildFrontend(app);
4165
+ await this.applicationScript.buildFrontend(app, { standalone: true });
4124
4166
  }
4125
4167
  async buildCsr(app) {
4126
4168
  await this.applicationScript.buildCsr(app);
@@ -4194,6 +4236,11 @@ __decorateClass([
4194
4236
  Target.Public(),
4195
4237
  __decorateParam(0, App())
4196
4238
  ], ApplicationCommand.prototype, "syncApplication", 1);
4239
+ __decorateClass([
4240
+ Target.Public(),
4241
+ __decorateParam(0, App()),
4242
+ __decorateParam(1, Argument("filename", { desc: "name of script", nullable: true }))
4243
+ ], ApplicationCommand.prototype, "script", 1);
4197
4244
  __decorateClass([
4198
4245
  Target.Public({ short: true }),
4199
4246
  __decorateParam(0, App())
@@ -4344,7 +4391,7 @@ var PackageRunner = class {
4344
4391
  if (pkg.name === "@akanjs/cli")
4345
4392
  await builder.build({
4346
4393
  bundle: true,
4347
- additionalEntryPoints: [`${pkg.cwdPath}/src/templates/**/*.ts`, `${pkg.cwdPath}/src/guidelines/**/*.md`]
4394
+ additionalEntryPoints: [`${pkg.cwdPath}/src/templates/**/*`, `${pkg.cwdPath}/src/guidelines/**/*`]
4348
4395
  });
4349
4396
  else
4350
4397
  await builder.build();
@@ -5462,7 +5509,7 @@ var WorkspaceCommand = class {
5462
5509
  __decorateClass([
5463
5510
  Target.Public(),
5464
5511
  __decorateParam(0, Argument("workspaceName", { desc: "what is the name of your organization?" })),
5465
- __decorateParam(1, Option("app", { desc: "describe your first application to create " })),
5512
+ __decorateParam(1, Option("app", { desc: "what is the codename of your first application? (e.g. myapp)" })),
5466
5513
  __decorateParam(2, Option("dir", { desc: "directory of workspace", default: process.env.USE_AKANJS_PKGS === "true" ? "local" : "." }))
5467
5514
  ], WorkspaceCommand.prototype, "createWorkspace", 1);
5468
5515
  __decorateClass([
@@ -559,24 +559,6 @@ Key features:
559
559
  - Simultaneous Korean/English address provision
560
560
  - Modal address search
561
561
 
562
- ### 26. Field.KoreanCityDistrict
563
-
564
- \`\`\`typescript
565
- interface KoreanCityDistrictProps {
566
- city: string | null;
567
- onChangeCity: (city: string | null) => void;
568
- district: string | null;
569
- onChangeDistrict: (district: string | null) => void;
570
- disabled?: boolean;
571
- }
572
- \`\`\`
573
- Key features:
574
-
575
- - Hardcoded Korean region data
576
- - Two-level selection (city/province → district/county)
577
- - Includes detailed regions: 25 districts in Seoul, 16 in Busan, etc.
578
- - Linked selection (district activates after city selection)
579
-
580
562
  ## Common Patterns and Features
581
563
 
582
564
  ### 1. Caching System
@@ -0,0 +1,131 @@
1
+ {
2
+ "title": "Component Rule",
3
+ "description": "Comprehensive guidelines for creating React components in the Akan.js framework",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "Cookie management utilities for web and mobile",
8
+ "path": "pkgs/@akanjs/client/src/cookie.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "Storage utilities for persistent data",
13
+ "path": "pkgs/@akanjs/client/src/storage.ts"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "Device capabilities and platform detection",
18
+ "path": "pkgs/@akanjs/client/src/device.ts"
19
+ },
20
+ {
21
+ "type": "source",
22
+ "description": "Navigation and routing utilities",
23
+ "path": "pkgs/@akanjs/client/src/router.ts"
24
+ },
25
+ {
26
+ "type": "source",
27
+ "description": "Type utilities including clsx for class management",
28
+ "path": "pkgs/@akanjs/client/src/types.ts"
29
+ },
30
+ {
31
+ "type": "example",
32
+ "description": "Unit components (list items/cards)",
33
+ "path": "{apps,libs}/*/lib/*/*.Unit.tsx",
34
+ "sample": 3
35
+ },
36
+ {
37
+ "type": "example",
38
+ "description": "View components (detailed displays)",
39
+ "path": "{apps,libs}/*/lib/*/*.View.tsx",
40
+ "sample": 3
41
+ },
42
+ {
43
+ "type": "example",
44
+ "description": "Template components (forms/edit screens)",
45
+ "path": "{apps,libs}/*/lib/*/*.Template.tsx",
46
+ "sample": 3
47
+ },
48
+ {
49
+ "type": "example",
50
+ "description": "Utility components (toolbars/helpers)",
51
+ "path": "{apps,libs}/*/lib/*/*.Util.tsx",
52
+ "sample": 3
53
+ },
54
+ {
55
+ "type": "example",
56
+ "description": "Zone components (data containers)",
57
+ "path": "{apps,libs}/*/lib/*/*.Zone.tsx",
58
+ "sample": 3
59
+ },
60
+ {
61
+ "type": "example",
62
+ "description": "Reusable UI components",
63
+ "path": "{libs,apps}/*/ui/**/*.tsx",
64
+ "sample": 5
65
+ },
66
+ {
67
+ "type": "usage",
68
+ "description": "Component composition patterns",
69
+ "path": "{apps,libs}/*/lib/*/*.Zone.tsx",
70
+ "filterText": "renderItem",
71
+ "sample": 3
72
+ },
73
+ {
74
+ "type": "usage",
75
+ "description": "Form state management with stores",
76
+ "path": "{apps,libs}/*/lib/*/*.Template.tsx",
77
+ "filterText": "st.use",
78
+ "sample": 3
79
+ },
80
+ {
81
+ "type": "usage",
82
+ "description": "Conditional rendering with TailwindCSS",
83
+ "path": "{apps,libs}/*/lib/*/*.tsx",
84
+ "filterText": "clsx",
85
+ "sample": 3
86
+ },
87
+ {
88
+ "type": "usage",
89
+ "description": "Data fetching with Load components",
90
+ "path": "{apps,libs}/*/lib/*/*.Zone.tsx",
91
+ "filterText": "<Load.",
92
+ "sample": 3
93
+ },
94
+ {
95
+ "type": "usage",
96
+ "description": "Responsive design patterns",
97
+ "path": "{apps,libs}/*/lib/*/*.tsx",
98
+ "filterText": "md:",
99
+ "sample": 3
100
+ }
101
+ ],
102
+ "update": {
103
+ "filePath": "./componentRule.instruction.md",
104
+ "contents": [
105
+ "Component Architecture - Core structure and organization",
106
+ "Component Types - Purpose and responsibility of each component type",
107
+ "File Naming Conventions - Standardized naming patterns",
108
+ "Utility Functions - Core framework utilities",
109
+ "Best Practices - Guidelines for components",
110
+ "State Management - Integration with Zustand store and signals",
111
+ "Responsive Design - Mobile-first approach",
112
+ "Accessibility - Core principles",
113
+ "Performance Optimization - Memoization and lazy loading",
114
+ "Data Fetching - Using Load components",
115
+ "Composition Patterns - Component rendering methods",
116
+ "Complete Examples - Full implementation examples"
117
+ ],
118
+ "rules": [
119
+ "Component types (.Unit, .View, .Template, .Util, .Zone) should follow standard patterns and responsibilities",
120
+ "Every component file should maintain a consistent organization pattern with logical sections",
121
+ "Responsive design should use Tailwind's mobile-first approach with sm:, md:, lg: prefixes",
122
+ "Form components should use the framework state management pattern with st.use and st.do",
123
+ "Data containers should follow the Load.Units/Load.View pattern for consistent data fetching",
124
+ "Component files should export named components rather than default exports",
125
+ "Props should use explicit TypeScript interfaces with proper JSDoc comments where helpful",
126
+ "Separate business logic from presentation components",
127
+ "Follow Akan.js project structure and module organization"
128
+ ]
129
+ },
130
+ "page": "/[lang]/akanjs/(docs)/docs/codebase/component/page.tsx"
131
+ }
@@ -0,0 +1,93 @@
1
+ {
2
+ "title": "CSS Rule with TailwindCSS and DaisyUI",
3
+ "description": "Comprehensive guidelines for creating CSS with TailwindCSS and DaisyUI in the Akan.js framework",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "clsx utility for class name management",
8
+ "path": "pkgs/@akanjs/client/src/types.ts"
9
+ },
10
+ {
11
+ "type": "example",
12
+ "description": "Unit components (list items/cards)",
13
+ "path": "{apps,libs}/*/lib/*/*.Unit.tsx",
14
+ "sample": 3
15
+ },
16
+ {
17
+ "type": "example",
18
+ "description": "View components (detailed displays)",
19
+ "path": "{apps,libs}/*/lib/*/*.View.tsx",
20
+ "sample": 3
21
+ },
22
+ {
23
+ "type": "example",
24
+ "description": "Edit components (forms for data creation/editing)",
25
+ "path": "{apps,libs}/*/lib/*/*.Edit.tsx",
26
+ "sample": 2
27
+ },
28
+ {
29
+ "type": "example",
30
+ "description": "Util components (special function components)",
31
+ "path": "{apps,libs}/*/lib/*/*.Util.tsx",
32
+ "sample": 2
33
+ },
34
+ {
35
+ "type": "example",
36
+ "description": "Zone components (container components)",
37
+ "path": "{apps,libs}/*/lib/*/*.Zone.tsx",
38
+ "sample": 2
39
+ },
40
+ {
41
+ "type": "example",
42
+ "description": "Reusable UI components",
43
+ "path": "{libs,apps}/*/ui/**/*.tsx",
44
+ "sample": 3
45
+ },
46
+ {
47
+ "type": "usage",
48
+ "description": "Conditional rendering with clsx",
49
+ "path": "{apps,libs}/*/lib/*/*.tsx",
50
+ "filterText": "clsx",
51
+ "sample": 3
52
+ },
53
+ {
54
+ "type": "usage",
55
+ "description": "DaisyUI color usage",
56
+ "path": "{apps,libs}/*/lib/*/*.tsx",
57
+ "filterText": "bg-primary|bg-secondary|bg-accent|bg-info|bg-success|bg-warning|bg-error",
58
+ "sample": 3
59
+ },
60
+ {
61
+ "type": "usage",
62
+ "description": "Responsive design patterns",
63
+ "path": "{apps,libs}/*/lib/*/*.tsx",
64
+ "filterText": "sm:|md:|lg:|xl:|2xl:",
65
+ "sample": 3
66
+ }
67
+ ],
68
+ "update": {
69
+ "filePath": "./cssRule.instruction.md",
70
+ "contents": [
71
+ "Core Principles - Fundamental styling concepts",
72
+ "Class Management with clsx - How to handle conditional class names",
73
+ "Component Structure Best Practices - Consistent component styling",
74
+ "Component Types in Akan.js - Styling patterns for different component types",
75
+ "Common UI Patterns - Reusable design patterns",
76
+ "Best Practices - Guidelines for maintainable CSS",
77
+ "Common Mistakes to Avoid - What not to do",
78
+ "Troubleshooting - Fixing common issues"
79
+ ],
80
+ "rules": [
81
+ "clsx should be used for conditional class names and className composition",
82
+ "Every component should accept and properly handle className prop for composition",
83
+ "Color system of DaisyUI should be used for colors (primary, secondary, accent, etc.) - hardcoded colors should be avoided",
84
+ "Components should follow responsive design principles with mobile-first approach",
85
+ "Use Tailwind's spacing scale consistently for margins and padding",
86
+ "Group related classes together for better readability",
87
+ "DaisyUI components should be used for common UI elements when available",
88
+ "Apply proper focus, hover, and active states for interactive elements",
89
+ "Respect the naming conventions for component types (Unit, View, Edit, Util, Zone)"
90
+ ]
91
+ },
92
+ "page": "/[lang]/akanjs/(docs)/docs/codebase/css/page.tsx"
93
+ }
@@ -0,0 +1,51 @@
1
+ {
2
+ "title": "Database Module",
3
+ "description": "Structure of database module",
4
+ "scans": [
5
+ {
6
+ "type": "source",
7
+ "description": "core database module source code",
8
+ "path": "pkgs/@akanjs/server/src/module.ts"
9
+ },
10
+ {
11
+ "type": "source",
12
+ "description": "how to boot modules in Nest.js server",
13
+ "path": "pkgs/@akanjs/server/src/boot.ts"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "constant model decorators, database schema decorators, signal decorators reference",
18
+ "path": "pkgs/@akanjs/constant/src/decorator.ts"
19
+ },
20
+ {
21
+ "type": "example",
22
+ "description": "example database module of admin",
23
+ "path": "libs/shared/lib/admin/*"
24
+ }
25
+ ],
26
+ "update": {
27
+ "filePath": "./databaseModule.instruction.md",
28
+ "contents": [
29
+ "Purpose of database modules in Akan.js",
30
+ "File structure and location conventions",
31
+ "How to create database modules",
32
+ "How to use database modules in Nest.js server",
33
+ "How to use components, stores, and signals in client side",
34
+ "Real-time features with websockets and subscriptions",
35
+ "Best practices for data modeling and schema design",
36
+ "Authentication and authorization patterns",
37
+ "Performance optimization techniques",
38
+ "Error handling strategies"
39
+ ],
40
+ "rules": [
41
+ "Database module is a domain specific module to manage business logic of database",
42
+ "Follow consistent naming conventions with PascalCase for classes and camelCase for files",
43
+ "Keep business logic in service files, not in signals or documents",
44
+ "Use field validation in constant models to ensure data integrity",
45
+ "Create proper indexes in middleware for performance optimization",
46
+ "Apply appropriate authorization guards to protect sensitive operations",
47
+ "Use dictionary files for all UI text to support internationalization"
48
+ ]
49
+ },
50
+ "page": "/[lang]/akanjs/(docs)/docs/module/overview/page.tsx"
51
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "title": "How to create doc page",
3
+ "description": "How to create documentation page of Akan.js framework",
4
+ "scans": [
5
+ {
6
+ "type": "example",
7
+ "description": "Example of a system architecture documentation page",
8
+ "path": "apps/angelo/app/[lang]/akanjs/(docs)/docs/systemArch/frontend/page.tsx"
9
+ },
10
+ {
11
+ "type": "example",
12
+ "description": "Example of a module documentation page with API reference",
13
+ "path": "apps/angelo/app/[lang]/akanjs/(docs)/docs/module/signal/page.tsx"
14
+ },
15
+ {
16
+ "type": "source",
17
+ "description": "Documentation utility components",
18
+ "path": "apps/angelo/ui/Docs/index.ts"
19
+ },
20
+ {
21
+ "type": "source",
22
+ "description": "Code snippet component for syntax highlighting",
23
+ "path": "apps/angelo/ui/Docs/CodeSnippet.tsx"
24
+ },
25
+ {
26
+ "type": "source",
27
+ "description": "Title component for main headings",
28
+ "path": "apps/angelo/ui/Docs/Title.tsx"
29
+ },
30
+ {
31
+ "type": "source",
32
+ "description": "Description component for explanatory text",
33
+ "path": "apps/angelo/ui/Docs/Description.tsx"
34
+ },
35
+ {
36
+ "type": "source",
37
+ "description": "Option table component for displaying parameters",
38
+ "path": "apps/angelo/ui/Docs/OptionTable.tsx"
39
+ },
40
+ {
41
+ "type": "source",
42
+ "description": "Introduction table component for listing features",
43
+ "path": "apps/angelo/ui/Docs/IntroTable.tsx"
44
+ }
45
+ ],
46
+ "update": {
47
+ "filePath": "./docPageRule.instruction.md",
48
+ "contents": [
49
+ "Purpose of doc page in Akan.js",
50
+ "How to create doc page",
51
+ "Page organization and structure",
52
+ "Utility components",
53
+ "Best practices for documentation",
54
+ "Internationalization guidelines",
55
+ "Code example guidelines",
56
+ "Complete example implementation",
57
+ "Troubleshooting common issues"
58
+ ],
59
+ "rules": [
60
+ "Docs.Layout is already set on the top of layout.tsx file in the root of the project, so you don't need to use it in your page",
61
+ "Docs utility should be used with `Docs` prefix, like <Docs.Title>, do not use object destructuring",
62
+ "Always wrap user-facing text in l.trans() with at least English and Korean translations",
63
+ "Use a logical hierarchy of headings (Title → SubTitle → SubSubTitle)",
64
+ "Include a divider (<div className=\"divider\"></div>) between major sections",
65
+ "For long pages, use anchor links with hidden divs for navigation",
66
+ "Code examples should be realistic and include proper comments",
67
+ "Tables should use the appropriate type (OptionTable for parameters, IntroTable for features)",
68
+ "Always specify the correct language for CodeSnippet components"
69
+ ]
70
+ },
71
+ "page": "/[lang]/akanjs/(docs)/docs/[category]/[pageName]/page"
72
+ }