@tailor-platform/erp-kit 0.1.1 → 0.2.0

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 (342) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +158 -62
  3. package/dist/cli.js +1010 -270
  4. package/package.json +11 -8
  5. package/schemas/module/command.yml +1 -0
  6. package/schemas/module/model.yml +14 -0
  7. package/schemas/module/query.yml +53 -0
  8. package/skills/{app-compose-1-requirement-analysis → erp-kit-app-1-requirements}/SKILL.md +2 -2
  9. package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/SKILL.md +3 -3
  10. package/skills/{app-compose-3-doc-review → erp-kit-app-3-doc-review}/SKILL.md +2 -2
  11. package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/SKILL.md +3 -3
  12. package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/SKILL.md +4 -4
  13. package/skills/{app-compose-6-implementation-spec → erp-kit-app-6-impl-spec}/SKILL.md +3 -3
  14. package/skills/{mock-scenario → erp-kit-mock-scenario}/SKILL.md +1 -1
  15. package/skills/{1-module-docs → erp-kit-module-1-docs}/SKILL.md +2 -2
  16. package/skills/{2-module-feature-breakdown → erp-kit-module-2-feature-breakdown}/SKILL.md +13 -9
  17. package/skills/erp-kit-module-2-feature-breakdown/references/naming.md +59 -0
  18. package/skills/{3-module-doc-review → erp-kit-module-3-doc-review}/SKILL.md +83 -25
  19. package/skills/erp-kit-module-4-tdd/SKILL.md +94 -0
  20. package/skills/erp-kit-module-4-tdd/references/cross-module-dependency.md +133 -0
  21. package/skills/{4-module-tdd-implementation → erp-kit-module-4-tdd}/references/db-relations.md +5 -1
  22. package/skills/{4-module-tdd-implementation → erp-kit-module-4-tdd}/references/exports.md +1 -1
  23. package/skills/erp-kit-module-4-tdd/references/generated-code.md +32 -0
  24. package/skills/{5-module-implementation-review → erp-kit-module-5-impl-review}/SKILL.md +46 -44
  25. package/skills/erp-kit-module-5-impl-review/references/commands.md +62 -0
  26. package/skills/erp-kit-module-5-impl-review/references/errors.md +10 -0
  27. package/skills/{5-module-implementation-review → erp-kit-module-5-impl-review}/references/testing.md +1 -1
  28. package/skills/erp-kit-module-shared/SKILL.md +16 -0
  29. package/skills/erp-kit-module-shared/references/commands.md +203 -0
  30. package/skills/erp-kit-module-shared/references/errors.md +35 -0
  31. package/skills/erp-kit-module-shared/references/queries.md +168 -0
  32. package/skills/erp-kit-module-shared/references/structure.md +36 -0
  33. package/skills/{3-module-doc-review → erp-kit-module-shared}/references/testing.md +4 -3
  34. package/skills/erp-kit-update/SKILL.md +64 -0
  35. package/src/cli.doc.test.ts +65 -0
  36. package/src/cli.ts +3 -117
  37. package/src/commands/app/index.ts +74 -0
  38. package/src/commands/check.test.ts +3 -2
  39. package/src/commands/check.ts +3 -2
  40. package/src/commands/index.ts +73 -0
  41. package/src/commands/init.test.ts +22 -5
  42. package/src/commands/init.ts +25 -16
  43. package/src/commands/license.ts +193 -0
  44. package/src/commands/mock/index.ts +2 -2
  45. package/src/commands/mock/start.ts +1 -1
  46. package/src/commands/mock/validate.test.ts +1 -1
  47. package/src/commands/module/generate.ts +35 -0
  48. package/src/commands/module/index.ts +87 -0
  49. package/src/commands/module/list.test.ts +57 -0
  50. package/src/commands/module/list.ts +64 -0
  51. package/src/commands/scaffold-templates.ts +65 -0
  52. package/src/commands/scaffold.test.ts +97 -2
  53. package/src/commands/scaffold.ts +24 -3
  54. package/src/commands/sync-check.test.ts +88 -1
  55. package/src/commands/sync-check.ts +41 -2
  56. package/src/generator/generate-code.test.ts +200 -0
  57. package/src/generator/generate-code.ts +260 -0
  58. package/src/generator/parse-command-doc.test.ts +159 -0
  59. package/src/generator/parse-command-doc.ts +116 -0
  60. package/src/integration.test.ts +6 -8
  61. package/src/module.ts +10 -9
  62. package/src/modules/item-management/README.md +38 -0
  63. package/src/modules/item-management/command/activateItem.generated.ts +6 -0
  64. package/src/modules/item-management/command/activateItem.test.ts +76 -0
  65. package/src/modules/item-management/command/activateItem.ts +42 -0
  66. package/src/modules/item-management/command/assignItemToTaxonomy.generated.ts +6 -0
  67. package/src/modules/item-management/command/assignItemToTaxonomy.test.ts +88 -0
  68. package/src/modules/item-management/command/assignItemToTaxonomy.ts +63 -0
  69. package/src/modules/item-management/command/createItem.generated.ts +6 -0
  70. package/src/modules/item-management/command/createItem.test.ts +152 -0
  71. package/src/modules/item-management/command/createItem.ts +72 -0
  72. package/src/modules/item-management/command/createTaxonomyNode.generated.ts +6 -0
  73. package/src/modules/item-management/command/createTaxonomyNode.test.ts +126 -0
  74. package/src/modules/item-management/command/createTaxonomyNode.ts +70 -0
  75. package/src/modules/item-management/command/deactivateItem.generated.ts +6 -0
  76. package/src/modules/item-management/command/deactivateItem.test.ts +76 -0
  77. package/src/modules/item-management/command/deactivateItem.ts +42 -0
  78. package/src/modules/item-management/command/deleteItem.generated.ts +6 -0
  79. package/src/modules/item-management/command/deleteItem.test.ts +61 -0
  80. package/src/modules/item-management/command/deleteItem.ts +38 -0
  81. package/src/modules/item-management/command/deleteTaxonomyNode.generated.ts +6 -0
  82. package/src/modules/item-management/command/deleteTaxonomyNode.test.ts +73 -0
  83. package/src/modules/item-management/command/deleteTaxonomyNode.ts +50 -0
  84. package/src/modules/item-management/command/moveTaxonomyNode.generated.ts +6 -0
  85. package/src/modules/item-management/command/moveTaxonomyNode.test.ts +136 -0
  86. package/src/modules/item-management/command/moveTaxonomyNode.ts +85 -0
  87. package/src/modules/item-management/command/reactivateItem.generated.ts +6 -0
  88. package/src/modules/item-management/command/reactivateItem.test.ts +76 -0
  89. package/src/modules/item-management/command/reactivateItem.ts +42 -0
  90. package/src/modules/item-management/command/removeItemFromTaxonomy.generated.ts +6 -0
  91. package/src/modules/item-management/command/removeItemFromTaxonomy.test.ts +43 -0
  92. package/src/modules/item-management/command/removeItemFromTaxonomy.ts +30 -0
  93. package/src/modules/item-management/command/updateItem.generated.ts +6 -0
  94. package/src/modules/item-management/command/updateItem.test.ts +178 -0
  95. package/src/modules/item-management/command/updateItem.ts +103 -0
  96. package/src/modules/item-management/command/updateTaxonomyNode.generated.ts +6 -0
  97. package/src/modules/item-management/command/updateTaxonomyNode.test.ts +88 -0
  98. package/src/modules/item-management/command/updateTaxonomyNode.ts +62 -0
  99. package/src/modules/item-management/db/item.ts +47 -0
  100. package/src/modules/item-management/db/itemTaxonomyAssignment.ts +49 -0
  101. package/src/modules/item-management/db/taxonomyNode.ts +34 -0
  102. package/src/modules/item-management/docs/commands/ActivateItem.md +32 -0
  103. package/src/modules/item-management/docs/commands/AssignItemToTaxonomy.md +38 -0
  104. package/src/modules/item-management/docs/commands/CreateItem.md +44 -0
  105. package/src/modules/item-management/docs/commands/CreateTaxonomyNode.md +44 -0
  106. package/src/modules/item-management/docs/commands/DeactivateItem.md +34 -0
  107. package/src/modules/item-management/docs/commands/DeleteItem.md +35 -0
  108. package/src/modules/item-management/docs/commands/DeleteTaxonomyNode.md +39 -0
  109. package/src/modules/item-management/docs/commands/MoveTaxonomyNode.md +45 -0
  110. package/src/modules/item-management/docs/commands/ReactivateItem.md +34 -0
  111. package/src/modules/item-management/docs/commands/RemoveItemFromTaxonomy.md +30 -0
  112. package/src/modules/item-management/docs/commands/UpdateItem.md +55 -0
  113. package/src/modules/item-management/docs/commands/UpdateTaxonomyNode.md +36 -0
  114. package/src/modules/item-management/docs/features/item-lifecycle.md +60 -0
  115. package/src/modules/item-management/docs/features/item-taxonomy.md +65 -0
  116. package/src/modules/item-management/docs/models/ItemTaxonomyAssignment.md +36 -0
  117. package/src/modules/item-management/docs/models/TaxonomyNode.md +47 -0
  118. package/src/modules/item-management/docs/models/item.md +59 -0
  119. package/src/modules/item-management/docs/queries/CalculateNodeDepth.md +36 -0
  120. package/src/modules/item-management/docs/queries/CalculateSubtreeDepth.md +40 -0
  121. package/src/modules/item-management/docs/queries/DetectCircularReference.md +41 -0
  122. package/src/modules/item-management/docs/queries/GetItem.md +38 -0
  123. package/src/modules/item-management/docs/queries/GetItemTaxonomyAssignment.md +29 -0
  124. package/src/modules/item-management/docs/queries/GetTaxonomyNode.md +35 -0
  125. package/src/modules/item-management/docs/queries/GetTaxonomyNodeAssignments.md +29 -0
  126. package/src/modules/item-management/docs/queries/GetTaxonomyNodeChildren.md +29 -0
  127. package/src/modules/item-management/generated/enums.ts +9 -0
  128. package/src/modules/item-management/generated/kysely-tailordb.ts +62 -0
  129. package/src/modules/item-management/index.ts +53 -0
  130. package/src/modules/item-management/lib/_db_deps.ts +13 -0
  131. package/src/modules/item-management/lib/errors.generated.ts +117 -0
  132. package/src/modules/item-management/lib/permissions.generated.ts +17 -0
  133. package/src/modules/item-management/lib/types.ts +19 -0
  134. package/src/modules/item-management/module.ts +97 -0
  135. package/src/modules/item-management/query/calculateNodeDepth.generated.ts +5 -0
  136. package/src/modules/item-management/query/calculateNodeDepth.test.ts +56 -0
  137. package/src/modules/item-management/query/calculateNodeDepth.ts +28 -0
  138. package/src/modules/item-management/query/calculateSubtreeDepth.generated.ts +5 -0
  139. package/src/modules/item-management/query/calculateSubtreeDepth.test.ts +75 -0
  140. package/src/modules/item-management/query/calculateSubtreeDepth.ts +29 -0
  141. package/src/modules/item-management/query/detectCircularReference.generated.ts +5 -0
  142. package/src/modules/item-management/query/detectCircularReference.test.ts +61 -0
  143. package/src/modules/item-management/query/detectCircularReference.ts +32 -0
  144. package/src/modules/item-management/query/getItem.generated.ts +5 -0
  145. package/src/modules/item-management/query/getItem.test.ts +67 -0
  146. package/src/modules/item-management/query/getItem.ts +20 -0
  147. package/src/modules/item-management/query/getItemTaxonomyAssignment.generated.ts +5 -0
  148. package/src/modules/item-management/query/getItemTaxonomyAssignment.test.ts +25 -0
  149. package/src/modules/item-management/query/getItemTaxonomyAssignment.ts +18 -0
  150. package/src/modules/item-management/query/getTaxonomyNode.generated.ts +5 -0
  151. package/src/modules/item-management/query/getTaxonomyNode.test.ts +47 -0
  152. package/src/modules/item-management/query/getTaxonomyNode.ts +18 -0
  153. package/src/modules/item-management/query/getTaxonomyNodeAssignments.generated.ts +5 -0
  154. package/src/modules/item-management/query/getTaxonomyNodeAssignments.test.ts +25 -0
  155. package/src/modules/item-management/query/getTaxonomyNodeAssignments.ts +16 -0
  156. package/src/modules/item-management/query/getTaxonomyNodeChildren.generated.ts +5 -0
  157. package/src/modules/item-management/query/getTaxonomyNodeChildren.test.ts +34 -0
  158. package/src/modules/item-management/query/getTaxonomyNodeChildren.ts +16 -0
  159. package/src/modules/item-management/tailor.config.ts +11 -0
  160. package/src/modules/item-management/testing/fixtures.ts +81 -0
  161. package/src/modules/primitives/command/activateCategory.generated.ts +6 -0
  162. package/src/modules/primitives/command/activateCategory.test.ts +11 -29
  163. package/src/modules/primitives/command/activateCategory.ts +27 -34
  164. package/src/modules/primitives/command/activateCurrency.generated.ts +6 -0
  165. package/src/modules/primitives/command/activateCurrency.test.ts +11 -29
  166. package/src/modules/primitives/command/activateCurrency.ts +27 -34
  167. package/src/modules/primitives/command/activateUnit.generated.ts +6 -0
  168. package/src/modules/primitives/command/activateUnit.test.ts +11 -15
  169. package/src/modules/primitives/command/activateUnit.ts +27 -34
  170. package/src/modules/primitives/command/createCategory.generated.ts +6 -0
  171. package/src/modules/primitives/command/createCategory.test.ts +27 -39
  172. package/src/modules/primitives/command/createCategory.ts +53 -62
  173. package/src/modules/primitives/command/createCurrency.generated.ts +6 -0
  174. package/src/modules/primitives/command/createCurrency.test.ts +78 -71
  175. package/src/modules/primitives/command/createCurrency.ts +43 -48
  176. package/src/modules/primitives/command/createExchangeRate.generated.ts +6 -0
  177. package/src/modules/primitives/command/createExchangeRate.test.ts +101 -100
  178. package/src/modules/primitives/command/createExchangeRate.ts +50 -59
  179. package/src/modules/primitives/command/createUnit.generated.ts +6 -0
  180. package/src/modules/primitives/command/createUnit.test.ts +92 -95
  181. package/src/modules/primitives/command/createUnit.ts +54 -57
  182. package/src/modules/primitives/command/deactivateCategory.generated.ts +6 -0
  183. package/src/modules/primitives/command/deactivateCategory.test.ts +27 -28
  184. package/src/modules/primitives/command/deactivateCategory.ts +43 -50
  185. package/src/modules/primitives/command/deactivateCurrency.generated.ts +6 -0
  186. package/src/modules/primitives/command/deactivateCurrency.test.ts +23 -38
  187. package/src/modules/primitives/command/deactivateCurrency.ts +31 -38
  188. package/src/modules/primitives/command/deactivateUnit.generated.ts +6 -0
  189. package/src/modules/primitives/command/deactivateUnit.test.ts +27 -23
  190. package/src/modules/primitives/command/deactivateUnit.ts +39 -49
  191. package/src/modules/primitives/command/setBaseCurrency.generated.ts +6 -0
  192. package/src/modules/primitives/command/setBaseCurrency.test.ts +40 -33
  193. package/src/modules/primitives/command/setBaseCurrency.ts +43 -50
  194. package/src/modules/primitives/command/setReferenceUnit.generated.ts +6 -0
  195. package/src/modules/primitives/command/setReferenceUnit.test.ts +39 -35
  196. package/src/modules/primitives/command/setReferenceUnit.ts +46 -59
  197. package/src/modules/primitives/db/unit.ts +13 -3
  198. package/src/modules/primitives/docs/commands/ActivateCategory.md +1 -2
  199. package/src/modules/primitives/docs/commands/ActivateCurrency.md +1 -2
  200. package/src/modules/primitives/docs/commands/ActivateUnit.md +1 -2
  201. package/src/modules/primitives/docs/commands/CreateCategory.md +1 -4
  202. package/src/modules/primitives/docs/commands/CreateCurrency.md +3 -4
  203. package/src/modules/primitives/docs/commands/CreateExchangeRate.md +4 -5
  204. package/src/modules/primitives/docs/commands/CreateUnit.md +5 -5
  205. package/src/modules/primitives/docs/commands/DeactivateCategory.md +2 -3
  206. package/src/modules/primitives/docs/commands/DeactivateCurrency.md +2 -3
  207. package/src/modules/primitives/docs/commands/DeactivateUnit.md +2 -3
  208. package/src/modules/primitives/docs/commands/SetBaseCurrency.md +2 -3
  209. package/src/modules/primitives/docs/commands/SetReferenceUnit.md +2 -3
  210. package/src/modules/primitives/docs/models/Currency.md +4 -0
  211. package/src/modules/primitives/docs/models/ExchangeRate.md +4 -1
  212. package/src/modules/primitives/docs/models/Unit.md +4 -1
  213. package/src/modules/primitives/docs/models/UoMCategory.md +2 -0
  214. package/src/modules/primitives/docs/{commands → queries}/ConvertAmount.md +3 -5
  215. package/src/modules/primitives/docs/{commands → queries}/ConvertQuantity.md +3 -5
  216. package/src/modules/primitives/docs/queries/GetBaseCurrency.md +32 -0
  217. package/src/modules/primitives/docs/queries/GetCurrency.md +36 -0
  218. package/src/modules/primitives/docs/queries/GetUnit.md +36 -0
  219. package/src/modules/primitives/docs/queries/GetUoMCategory.md +36 -0
  220. package/src/modules/primitives/docs/queries/ListUnitsByCategory.md +26 -0
  221. package/src/modules/primitives/generated/kysely-tailordb.ts +24 -45
  222. package/src/modules/primitives/index.ts +17 -6
  223. package/src/modules/primitives/lib/errors.generated.ts +112 -0
  224. package/src/modules/primitives/{permissions.ts → lib/permissions.generated.ts} +9 -10
  225. package/src/modules/primitives/module.ts +39 -27
  226. package/src/modules/primitives/query/convertAmount.generated.ts +5 -0
  227. package/src/modules/primitives/{command → query}/convertAmount.test.ts +4 -21
  228. package/src/modules/primitives/query/convertAmount.ts +121 -0
  229. package/src/modules/primitives/query/convertQuantity.generated.ts +5 -0
  230. package/src/modules/primitives/{command → query}/convertQuantity.test.ts +8 -15
  231. package/src/modules/primitives/query/convertQuantity.ts +63 -0
  232. package/src/modules/primitives/query/getBaseCurrency.generated.ts +5 -0
  233. package/src/modules/primitives/query/getBaseCurrency.test.ts +28 -0
  234. package/src/modules/primitives/query/getBaseCurrency.ts +16 -0
  235. package/src/modules/primitives/query/getCurrency.generated.ts +5 -0
  236. package/src/modules/primitives/query/getCurrency.test.ts +47 -0
  237. package/src/modules/primitives/query/getCurrency.ts +18 -0
  238. package/src/modules/primitives/query/getUnit.generated.ts +5 -0
  239. package/src/modules/primitives/query/getUnit.test.ts +47 -0
  240. package/src/modules/primitives/query/getUnit.ts +18 -0
  241. package/src/modules/primitives/query/getUoMCategory.generated.ts +5 -0
  242. package/src/modules/primitives/query/getUoMCategory.test.ts +47 -0
  243. package/src/modules/primitives/query/getUoMCategory.ts +18 -0
  244. package/src/modules/primitives/query/listUnitsByCategory.generated.ts +5 -0
  245. package/src/modules/primitives/query/listUnitsByCategory.ts +16 -0
  246. package/src/modules/primitives/tailor.config.ts +3 -3
  247. package/src/modules/shared/defineCommand.test.ts +23 -10
  248. package/src/modules/shared/defineCommand.ts +23 -10
  249. package/src/modules/shared/defineQuery.test.ts +28 -0
  250. package/src/modules/shared/defineQuery.ts +16 -0
  251. package/src/modules/shared/internal.ts +3 -1
  252. package/src/modules/shared/requirePermission.test.ts +22 -21
  253. package/src/modules/shared/requirePermission.ts +8 -2
  254. package/src/modules/shared/result.ts +12 -0
  255. package/src/modules/shared/types.ts +8 -0
  256. package/src/modules/testing/index.ts +36 -11
  257. package/src/modules/user-management/command/activateUser.generated.ts +6 -0
  258. package/src/modules/user-management/command/activateUser.test.ts +27 -27
  259. package/src/modules/user-management/command/activateUser.ts +40 -48
  260. package/src/modules/user-management/command/assignPermissionToRole.generated.ts +6 -0
  261. package/src/modules/user-management/command/assignPermissionToRole.test.ts +42 -43
  262. package/src/modules/user-management/command/assignPermissionToRole.ts +59 -62
  263. package/src/modules/user-management/command/assignRoleToUser.generated.ts +6 -0
  264. package/src/modules/user-management/command/assignRoleToUser.test.ts +70 -63
  265. package/src/modules/user-management/command/assignRoleToUser.ts +63 -66
  266. package/src/modules/user-management/command/createPermission.generated.ts +6 -0
  267. package/src/modules/user-management/command/createPermission.test.ts +45 -38
  268. package/src/modules/user-management/command/createPermission.ts +42 -46
  269. package/src/modules/user-management/command/createRole.generated.ts +6 -0
  270. package/src/modules/user-management/command/createRole.test.ts +30 -29
  271. package/src/modules/user-management/command/createRole.ts +33 -33
  272. package/src/modules/user-management/command/createUser.generated.ts +6 -0
  273. package/src/modules/user-management/command/createUser.test.ts +64 -42
  274. package/src/modules/user-management/command/createUser.ts +54 -56
  275. package/src/modules/user-management/command/deactivateUser.generated.ts +6 -0
  276. package/src/modules/user-management/command/deactivateUser.test.ts +27 -27
  277. package/src/modules/user-management/command/deactivateUser.ts +40 -48
  278. package/src/modules/user-management/command/logAuditEvent.generated.ts +6 -0
  279. package/src/modules/user-management/command/logAuditEvent.test.ts +50 -42
  280. package/src/modules/user-management/command/logAuditEvent.ts +25 -28
  281. package/src/modules/user-management/command/reactivateUser.generated.ts +6 -0
  282. package/src/modules/user-management/command/reactivateUser.test.ts +31 -27
  283. package/src/modules/user-management/command/reactivateUser.ts +40 -48
  284. package/src/modules/user-management/command/revokePermissionFromRole.generated.ts +6 -0
  285. package/src/modules/user-management/command/revokePermissionFromRole.test.ts +52 -51
  286. package/src/modules/user-management/command/revokePermissionFromRole.ts +60 -57
  287. package/src/modules/user-management/command/revokeRoleFromUser.generated.ts +6 -0
  288. package/src/modules/user-management/command/revokeRoleFromUser.test.ts +53 -48
  289. package/src/modules/user-management/command/revokeRoleFromUser.ts +58 -57
  290. package/src/modules/user-management/docs/commands/CreatePermission.md +2 -2
  291. package/src/modules/user-management/docs/commands/CreateRole.md +1 -1
  292. package/src/modules/user-management/docs/models/AuditEvent.md +2 -0
  293. package/src/modules/user-management/docs/models/Permission.md +2 -0
  294. package/src/modules/user-management/docs/models/Role.md +2 -0
  295. package/src/modules/user-management/docs/models/RolePermission.md +2 -0
  296. package/src/modules/user-management/docs/models/User.md +2 -0
  297. package/src/modules/user-management/docs/models/UserRole.md +2 -0
  298. package/src/modules/user-management/generated/enums.ts +11 -11
  299. package/src/modules/user-management/generated/kysely-tailordb.ts +27 -56
  300. package/src/modules/user-management/index.ts +2 -2
  301. package/src/modules/user-management/lib/errors.generated.ts +67 -0
  302. package/src/modules/user-management/{permissions.ts → lib/permissions.generated.ts} +8 -7
  303. package/src/modules/user-management/module.ts +22 -22
  304. package/src/modules/user-management/tailor.config.ts +3 -3
  305. package/src/schemas.ts +2 -1
  306. package/skills/1-module-docs/references/structure.md +0 -22
  307. package/skills/2-module-feature-breakdown/references/commands.md +0 -48
  308. package/skills/2-module-feature-breakdown/references/structure.md +0 -22
  309. package/skills/3-module-doc-review/references/commands.md +0 -54
  310. package/skills/3-module-doc-review/references/models.md +0 -29
  311. package/skills/4-module-tdd-implementation/SKILL.md +0 -74
  312. package/skills/4-module-tdd-implementation/references/commands.md +0 -45
  313. package/skills/4-module-tdd-implementation/references/errors.md +0 -7
  314. package/skills/4-module-tdd-implementation/references/models.md +0 -30
  315. package/skills/4-module-tdd-implementation/references/structure.md +0 -22
  316. package/skills/4-module-tdd-implementation/references/testing.md +0 -37
  317. package/skills/5-module-implementation-review/references/commands.md +0 -45
  318. package/skills/5-module-implementation-review/references/errors.md +0 -7
  319. package/skills/5-module-implementation-review/references/exports.md +0 -8
  320. package/skills/5-module-implementation-review/references/models.md +0 -30
  321. package/src/modules/primitives/command/convertAmount.ts +0 -126
  322. package/src/modules/primitives/command/convertQuantity.ts +0 -73
  323. package/src/modules/primitives/lib/errors.ts +0 -138
  324. package/src/modules/user-management/lib/errors.ts +0 -81
  325. /package/skills/{app-compose-1-requirement-analysis → erp-kit-app-1-requirements}/references/structure.md +0 -0
  326. /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/screen-detailview.md +0 -0
  327. /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/screen-form.md +0 -0
  328. /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/screen-listview.md +0 -0
  329. /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/structure.md +0 -0
  330. /package/skills/{app-compose-3-doc-review → erp-kit-app-3-doc-review}/references/structure.md +0 -0
  331. /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/component.md +0 -0
  332. /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/screen-detailview.md +0 -0
  333. /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/screen-form.md +0 -0
  334. /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/screen-listview.md +0 -0
  335. /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/structure.md +0 -0
  336. /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/component.md +0 -0
  337. /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/screen-detailview.md +0 -0
  338. /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/screen-form.md +0 -0
  339. /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/screen-listview.md +0 -0
  340. /package/skills/{app-compose-6-implementation-spec → erp-kit-app-6-impl-spec}/references/auth.md +0 -0
  341. /package/skills/{app-compose-6-implementation-spec → erp-kit-app-6-impl-spec}/references/structure.md +0 -0
  342. /package/skills/{2-module-feature-breakdown → erp-kit-module-4-tdd}/references/models.md +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @tailor-platform/erp-kit
2
2
 
3
+ ## 0.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 373b856: Add doc-driven deterministic code generation, defineQuery functions, type-safe command errors with Result type, license check command, auto-generated CLI docs, and item-management module. Fix cross-module type references in Kysely codegen and module scaffold structure. Refactor shared module skills, cross-module dependency handling, and scaffold templates.
8
+
9
+ ## 0.1.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 0c9a2e5: CQRS query support and app/module subcommands
14
+
3
15
  ## 0.1.1
4
16
 
5
17
  ### Patch Changes
package/README.md CHANGED
@@ -11,18 +11,29 @@ npm install @tailor-platform/erp-kit
11
11
  ## Quick Start
12
12
 
13
13
  ```bash
14
- # Set up your repo (agent skills, rules)
14
+ # Set up your repo (agent skills)
15
15
  erp-kit init
16
16
 
17
- # Validate docs against schemas
18
- erp-kit check --modules-root modules
19
- erp-kit check --app-root examples
17
+ # List available modules
18
+ erp-kit module list
19
+
20
+ # Validate module docs against schemas
21
+ erp-kit module check --root src/modules
20
22
 
21
23
  # Check source ↔ doc correspondence
22
- erp-kit sync-check --modules-root modules
24
+ erp-kit module sync-check --root src/modules
25
+
26
+ # Generate a new module doc from template
27
+ erp-kit module scaffold command inventory createOrder --root src/modules
28
+
29
+ # Validate app docs
30
+ erp-kit app check --root examples
31
+
32
+ # Check dependency licenses
33
+ erp-kit license check --config license.config.json
23
34
 
24
- # Generate a new doc from template
25
- erp-kit scaffold --modules-root modules <type> <parent> [name]
35
+ # List available license groups
36
+ erp-kit license list
26
37
 
27
38
  # Start mock API servers
28
39
  erp-kit mock start
@@ -33,47 +44,98 @@ erp-kit mock validate
33
44
 
34
45
  ## Commands
35
46
 
36
- ### `check`
47
+ ### `module`
37
48
 
38
- Validates markdown documentation against YAML schemas.
49
+ Module documentation management.
50
+
51
+ #### `module list`
52
+
53
+ Lists all available modules with command, model, and feature counts.
39
54
 
40
55
  ```bash
41
- erp-kit check --modules-root modules
42
- erp-kit check --app-root examples
43
- erp-kit check --modules-root modules --app-root examples
56
+ erp-kit module list
44
57
  ```
45
58
 
46
- ### `sync-check`
59
+ #### `module check`
47
60
 
48
- Ensures every source file has a corresponding doc and vice versa. Detects missing and orphaned documentation.
61
+ Validates module markdown documentation against YAML schemas.
49
62
 
50
63
  ```bash
51
- erp-kit sync-check --modules-root modules
52
- erp-kit sync-check --app-root examples
64
+ erp-kit module check --root src/modules
53
65
  ```
54
66
 
55
- ### `scaffold`
67
+ #### `module sync-check`
68
+
69
+ Ensures every source file has a corresponding doc and vice versa.
70
+
71
+ ```bash
72
+ erp-kit module sync-check --root src/modules
73
+ ```
74
+
75
+ #### `module scaffold`
56
76
 
57
77
  Generates documentation files from schema templates.
58
78
 
59
- **Module types:**
79
+ When the type is `module`, it also creates a starter `src/` directory with the following structure:
80
+
81
+ ```
82
+ src/
83
+ ├── db/ (.gitkeep)
84
+ ├── command/ (.gitkeep)
85
+ ├── executor/ (.gitkeep)
86
+ ├── generated/ (.gitkeep)
87
+ ├── query/ (.gitkeep)
88
+ ├── lib/
89
+ │ ├── errors.ts
90
+ │ └── types.ts
91
+ ├── testing/
92
+ │ └── fixtures.ts
93
+ ├── module.ts
94
+ ├── index.ts
95
+ ├── permissions.ts
96
+ └── tailor.config.ts
97
+ ```
98
+
99
+ Templates for these files are defined in `src/commands/scaffold-templates.ts`.
100
+
101
+ ```bash
102
+ erp-kit module scaffold module inventory --root src/modules
103
+ erp-kit module scaffold feature inventory stock-tracking --root src/modules
104
+ erp-kit module scaffold command inventory createOrder --root src/modules
105
+ erp-kit module scaffold model inventory StockItem --root src/modules
106
+ ```
107
+
108
+ ### `app`
109
+
110
+ App-compose documentation management.
111
+
112
+ #### `app check`
113
+
114
+ Validates app documentation against YAML schemas.
115
+
116
+ ```bash
117
+ erp-kit app check --root examples
118
+ ```
119
+
120
+ #### `app sync-check`
121
+
122
+ Ensures every source file has a corresponding doc and vice versa.
60
123
 
61
124
  ```bash
62
- erp-kit scaffold --modules-root modules module inventory
63
- erp-kit scaffold --modules-root modules feature inventory stock-tracking
64
- erp-kit scaffold --modules-root modules command inventory CreateOrder
65
- erp-kit scaffold --modules-root modules model inventory StockItem
125
+ erp-kit app sync-check --root examples
66
126
  ```
67
127
 
68
- **App-compose types:**
128
+ #### `app scaffold`
129
+
130
+ Generates documentation files from schema templates.
69
131
 
70
132
  ```bash
71
- erp-kit scaffold --app-root examples requirements my-app
72
- erp-kit scaffold --app-root examples actors my-app admin
73
- erp-kit scaffold --app-root examples business-flow my-app onboarding
74
- erp-kit scaffold --app-root examples story my-app onboarding/admin--create-user
75
- erp-kit scaffold --app-root examples screen my-app supplier-list
76
- erp-kit scaffold --app-root examples resolver my-app create-supplier
133
+ erp-kit app scaffold requirements my-app --root examples
134
+ erp-kit app scaffold actors my-app admin --root examples
135
+ erp-kit app scaffold business-flow my-app onboarding --root examples
136
+ erp-kit app scaffold story my-app onboarding/admin--create-user --root examples
137
+ erp-kit app scaffold screen my-app supplier-list --root examples
138
+ erp-kit app scaffold resolver my-app create-supplier --root examples
77
139
  ```
78
140
 
79
141
  ### `mock start`
@@ -118,38 +180,78 @@ erp-kit mock validate
118
180
  erp-kit mock validate mocks/shopify/admin-api mocks/sendgrid/send-email
119
181
  ```
120
182
 
183
+ ### `license`
184
+
185
+ License management. Uses [Google licenseclassifier](https://github.com/google/licenseclassifier) categories as built-in groups.
186
+
187
+ #### `license list`
188
+
189
+ Lists available license groups and their licenses.
190
+
191
+ ```bash
192
+ erp-kit license list
193
+ ```
194
+
195
+ #### `license check`
196
+
197
+ Checks dependency licenses against a config-driven allowlist. Requires `pnpm` (uses `pnpm licenses list` under the hood).
198
+
199
+ **Arguments:**
200
+
201
+ - `-c, --config <path>` — Path to license config JSON file (required)
202
+
203
+ ```bash
204
+ erp-kit license check --config license.config.json
205
+ ```
206
+
207
+ **Config format:**
208
+
209
+ ```json
210
+ {
211
+ "groups": ["reciprocal", "notice", "unencumbered"],
212
+ "allow": ["BlueOak-1.0.0", "WTFPL"],
213
+ "deny": ["BSD-4-Clause"]
214
+ }
215
+ ```
216
+
217
+ | Field | Description |
218
+ | -------- | ------------------------------------------------------------------------- |
219
+ | `groups` | Built-in license groups to allow (`reciprocal`, `notice`, `unencumbered`) |
220
+ | `allow` | Additional individual licenses to allow |
221
+ | `deny` | Licenses to exclude (applied after groups + allow) |
222
+
121
223
  ### `init`
122
224
 
123
225
  One-time setup for consumer repos. Idempotent — skips files that already exist.
124
226
 
125
227
  ```bash
126
228
  erp-kit init
229
+
230
+ # Overwrite existing skills
231
+ erp-kit init --force
127
232
  ```
128
233
 
129
234
  This will:
130
235
 
131
236
  1. Copy 12 agent skills to `.agents/skills/`
132
- 2. Copy development rules to `.agents/rules/`
237
+ 2. Create symlink `.claude/skills` `.agents/skills/`
133
238
 
134
239
  ## Options
135
240
 
136
- | Flag | Description |
137
- | ----------------------- | --------------------------------------------------------- |
138
- | `--modules-root <path>` | Path to modules directory (required for module commands) |
139
- | `--app-root <path>` | Path to app-compose directory (required for app commands) |
140
- | `--mocks-root <path>` | Path to mocks directory (default: `./mocks`) |
141
- | `-p, --port <number>` | Reverse proxy port for `mock start` (default: `3000`) |
142
-
143
- At least one of `--modules-root` or `--app-root` is required for `check`, `sync-check`, and `scaffold`.
241
+ | Flag | Alias | Applies to | Description |
242
+ | --------------------- | ----- | ------------------------------------------- | -------------------------------------------- |
243
+ | `--root <path>` | `-r` | `module check/sync-check/scaffold`, `app *` | Path to modules or app-compose directory |
244
+ | `--mocks-root <path>` | | `mock start`, `mock validate` | Path to mocks directory (default: `./mocks`) |
245
+ | `--port <number>` | `-p` | `mock start` | Reverse proxy port (default: `3000`) |
246
+ | `--config <path>` | `-c` | `license` | Path to license config JSON file |
247
+ | `--force` | `-f` | `init` | Overwrite existing files (default: `false`) |
144
248
 
145
249
  ## What's Bundled
146
250
 
147
- | Directory | Contents |
148
- | ------------- | ---------------------------------------------------------------- |
149
- | `schemas/` | YAML schema definitions for all doc types |
150
- | `sync-check/` | Source-to-doc mapping configs |
151
- | `skills/` | 12 agent skills for documentation, implementation, and mocking |
152
- | `rules/` | Development rules and best practices for modules and app-compose |
251
+ | Directory | Contents |
252
+ | ---------- | -------------------------------------------------------------- |
253
+ | `schemas/` | YAML schema definitions for all doc types |
254
+ | `skills/` | 12 agent skills for documentation, implementation, and mocking |
153
255
 
154
256
  ### Schemas
155
257
 
@@ -161,30 +263,24 @@ At least one of `--modules-root` or `--app-root` is required for `check`, `sync-
161
263
 
162
264
  Module workflow:
163
265
 
164
- 1. `1-module-docs` — Create module documentation
165
- 2. `2-module-feature-breakdown` — Break features into models and commands
166
- 3. `3-module-doc-review` — Review feature-to-doc parity
167
- 4. `4-module-tdd-implementation` — TDD implementation from docs
168
- 5. `5-module-implementation-review` — Review implementation-to-doc parity
266
+ 1. `erp-kit-module-1-docs` — Create module documentation
267
+ 2. `erp-kit-module-2-feature-breakdown` — Break features into models and commands
268
+ 3. `erp-kit-module-3-doc-review` — Review feature-to-doc parity
269
+ 4. `erp-kit-module-4-tdd` — TDD implementation from docs
270
+ 5. `erp-kit-module-5-impl-review` — Review implementation-to-doc parity
169
271
 
170
272
  App-compose workflow:
171
273
 
172
- 1. `app-compose-1-requirement-analysis` — Tier 1-2: requirements, actors, business flows
173
- 2. `app-compose-2-requirements-breakdown` — Tier 3: stories and screens
174
- 3. `app-compose-3-doc-review` — Review doc parity
175
- 4. `app-compose-4-design-mock` — Create UI mockups from screen specs
176
- 5. `app-compose-5-design-mock-review` — Review mockups against specs
177
- 6. `app-compose-6-implementation-spec` — Tier 4: resolver specs
274
+ 1. `erp-kit-app-1-requirements` — Tier 1-2: requirements, actors, business flows
275
+ 2. `erp-kit-app-2-breakdown` — Tier 3: stories and screens
276
+ 3. `erp-kit-app-3-doc-review` — Review doc parity
277
+ 4. `erp-kit-app-4-design` — Create UI mockups from screen specs
278
+ 5. `erp-kit-app-5-design-review` — Review mockups against specs
279
+ 6. `erp-kit-app-6-impl-spec` — Tier 4: resolver specs
178
280
 
179
281
  Mock workflow:
180
282
 
181
- 1. `mock-scenario` — Scaffold a new Mockoon mock scenario with CRUD routes and error scenarios
182
-
183
- ### Development Rules
184
-
185
- - `module-development/` — Structure, commands, models, executors, testing, exports, errors
186
- - `app-compose/` — App structure, frontend screens, components, auth patterns
187
- - `sdk-best-practices/` — Database relations, SDK documentation references
283
+ 1. `erp-kit-mock-scenario` — Scaffold a new Mockoon mock scenario with CRUD routes and error scenarios
188
284
 
189
285
  ## Programmatic Mock Server
190
286