@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.
- package/CHANGELOG.md +12 -0
- package/README.md +158 -62
- package/dist/cli.js +1010 -270
- package/package.json +11 -8
- package/schemas/module/command.yml +1 -0
- package/schemas/module/model.yml +14 -0
- package/schemas/module/query.yml +53 -0
- package/skills/{app-compose-1-requirement-analysis → erp-kit-app-1-requirements}/SKILL.md +2 -2
- package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/SKILL.md +3 -3
- package/skills/{app-compose-3-doc-review → erp-kit-app-3-doc-review}/SKILL.md +2 -2
- package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/SKILL.md +3 -3
- package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/SKILL.md +4 -4
- package/skills/{app-compose-6-implementation-spec → erp-kit-app-6-impl-spec}/SKILL.md +3 -3
- package/skills/{mock-scenario → erp-kit-mock-scenario}/SKILL.md +1 -1
- package/skills/{1-module-docs → erp-kit-module-1-docs}/SKILL.md +2 -2
- package/skills/{2-module-feature-breakdown → erp-kit-module-2-feature-breakdown}/SKILL.md +13 -9
- package/skills/erp-kit-module-2-feature-breakdown/references/naming.md +59 -0
- package/skills/{3-module-doc-review → erp-kit-module-3-doc-review}/SKILL.md +83 -25
- package/skills/erp-kit-module-4-tdd/SKILL.md +94 -0
- package/skills/erp-kit-module-4-tdd/references/cross-module-dependency.md +133 -0
- package/skills/{4-module-tdd-implementation → erp-kit-module-4-tdd}/references/db-relations.md +5 -1
- package/skills/{4-module-tdd-implementation → erp-kit-module-4-tdd}/references/exports.md +1 -1
- package/skills/erp-kit-module-4-tdd/references/generated-code.md +32 -0
- package/skills/{5-module-implementation-review → erp-kit-module-5-impl-review}/SKILL.md +46 -44
- package/skills/erp-kit-module-5-impl-review/references/commands.md +62 -0
- package/skills/erp-kit-module-5-impl-review/references/errors.md +10 -0
- package/skills/{5-module-implementation-review → erp-kit-module-5-impl-review}/references/testing.md +1 -1
- package/skills/erp-kit-module-shared/SKILL.md +16 -0
- package/skills/erp-kit-module-shared/references/commands.md +203 -0
- package/skills/erp-kit-module-shared/references/errors.md +35 -0
- package/skills/erp-kit-module-shared/references/queries.md +168 -0
- package/skills/erp-kit-module-shared/references/structure.md +36 -0
- package/skills/{3-module-doc-review → erp-kit-module-shared}/references/testing.md +4 -3
- package/skills/erp-kit-update/SKILL.md +64 -0
- package/src/cli.doc.test.ts +65 -0
- package/src/cli.ts +3 -117
- package/src/commands/app/index.ts +74 -0
- package/src/commands/check.test.ts +3 -2
- package/src/commands/check.ts +3 -2
- package/src/commands/index.ts +73 -0
- package/src/commands/init.test.ts +22 -5
- package/src/commands/init.ts +25 -16
- package/src/commands/license.ts +193 -0
- package/src/commands/mock/index.ts +2 -2
- package/src/commands/mock/start.ts +1 -1
- package/src/commands/mock/validate.test.ts +1 -1
- package/src/commands/module/generate.ts +35 -0
- package/src/commands/module/index.ts +87 -0
- package/src/commands/module/list.test.ts +57 -0
- package/src/commands/module/list.ts +64 -0
- package/src/commands/scaffold-templates.ts +65 -0
- package/src/commands/scaffold.test.ts +97 -2
- package/src/commands/scaffold.ts +24 -3
- package/src/commands/sync-check.test.ts +88 -1
- package/src/commands/sync-check.ts +41 -2
- package/src/generator/generate-code.test.ts +200 -0
- package/src/generator/generate-code.ts +260 -0
- package/src/generator/parse-command-doc.test.ts +159 -0
- package/src/generator/parse-command-doc.ts +116 -0
- package/src/integration.test.ts +6 -8
- package/src/module.ts +10 -9
- package/src/modules/item-management/README.md +38 -0
- package/src/modules/item-management/command/activateItem.generated.ts +6 -0
- package/src/modules/item-management/command/activateItem.test.ts +76 -0
- package/src/modules/item-management/command/activateItem.ts +42 -0
- package/src/modules/item-management/command/assignItemToTaxonomy.generated.ts +6 -0
- package/src/modules/item-management/command/assignItemToTaxonomy.test.ts +88 -0
- package/src/modules/item-management/command/assignItemToTaxonomy.ts +63 -0
- package/src/modules/item-management/command/createItem.generated.ts +6 -0
- package/src/modules/item-management/command/createItem.test.ts +152 -0
- package/src/modules/item-management/command/createItem.ts +72 -0
- package/src/modules/item-management/command/createTaxonomyNode.generated.ts +6 -0
- package/src/modules/item-management/command/createTaxonomyNode.test.ts +126 -0
- package/src/modules/item-management/command/createTaxonomyNode.ts +70 -0
- package/src/modules/item-management/command/deactivateItem.generated.ts +6 -0
- package/src/modules/item-management/command/deactivateItem.test.ts +76 -0
- package/src/modules/item-management/command/deactivateItem.ts +42 -0
- package/src/modules/item-management/command/deleteItem.generated.ts +6 -0
- package/src/modules/item-management/command/deleteItem.test.ts +61 -0
- package/src/modules/item-management/command/deleteItem.ts +38 -0
- package/src/modules/item-management/command/deleteTaxonomyNode.generated.ts +6 -0
- package/src/modules/item-management/command/deleteTaxonomyNode.test.ts +73 -0
- package/src/modules/item-management/command/deleteTaxonomyNode.ts +50 -0
- package/src/modules/item-management/command/moveTaxonomyNode.generated.ts +6 -0
- package/src/modules/item-management/command/moveTaxonomyNode.test.ts +136 -0
- package/src/modules/item-management/command/moveTaxonomyNode.ts +85 -0
- package/src/modules/item-management/command/reactivateItem.generated.ts +6 -0
- package/src/modules/item-management/command/reactivateItem.test.ts +76 -0
- package/src/modules/item-management/command/reactivateItem.ts +42 -0
- package/src/modules/item-management/command/removeItemFromTaxonomy.generated.ts +6 -0
- package/src/modules/item-management/command/removeItemFromTaxonomy.test.ts +43 -0
- package/src/modules/item-management/command/removeItemFromTaxonomy.ts +30 -0
- package/src/modules/item-management/command/updateItem.generated.ts +6 -0
- package/src/modules/item-management/command/updateItem.test.ts +178 -0
- package/src/modules/item-management/command/updateItem.ts +103 -0
- package/src/modules/item-management/command/updateTaxonomyNode.generated.ts +6 -0
- package/src/modules/item-management/command/updateTaxonomyNode.test.ts +88 -0
- package/src/modules/item-management/command/updateTaxonomyNode.ts +62 -0
- package/src/modules/item-management/db/item.ts +47 -0
- package/src/modules/item-management/db/itemTaxonomyAssignment.ts +49 -0
- package/src/modules/item-management/db/taxonomyNode.ts +34 -0
- package/src/modules/item-management/docs/commands/ActivateItem.md +32 -0
- package/src/modules/item-management/docs/commands/AssignItemToTaxonomy.md +38 -0
- package/src/modules/item-management/docs/commands/CreateItem.md +44 -0
- package/src/modules/item-management/docs/commands/CreateTaxonomyNode.md +44 -0
- package/src/modules/item-management/docs/commands/DeactivateItem.md +34 -0
- package/src/modules/item-management/docs/commands/DeleteItem.md +35 -0
- package/src/modules/item-management/docs/commands/DeleteTaxonomyNode.md +39 -0
- package/src/modules/item-management/docs/commands/MoveTaxonomyNode.md +45 -0
- package/src/modules/item-management/docs/commands/ReactivateItem.md +34 -0
- package/src/modules/item-management/docs/commands/RemoveItemFromTaxonomy.md +30 -0
- package/src/modules/item-management/docs/commands/UpdateItem.md +55 -0
- package/src/modules/item-management/docs/commands/UpdateTaxonomyNode.md +36 -0
- package/src/modules/item-management/docs/features/item-lifecycle.md +60 -0
- package/src/modules/item-management/docs/features/item-taxonomy.md +65 -0
- package/src/modules/item-management/docs/models/ItemTaxonomyAssignment.md +36 -0
- package/src/modules/item-management/docs/models/TaxonomyNode.md +47 -0
- package/src/modules/item-management/docs/models/item.md +59 -0
- package/src/modules/item-management/docs/queries/CalculateNodeDepth.md +36 -0
- package/src/modules/item-management/docs/queries/CalculateSubtreeDepth.md +40 -0
- package/src/modules/item-management/docs/queries/DetectCircularReference.md +41 -0
- package/src/modules/item-management/docs/queries/GetItem.md +38 -0
- package/src/modules/item-management/docs/queries/GetItemTaxonomyAssignment.md +29 -0
- package/src/modules/item-management/docs/queries/GetTaxonomyNode.md +35 -0
- package/src/modules/item-management/docs/queries/GetTaxonomyNodeAssignments.md +29 -0
- package/src/modules/item-management/docs/queries/GetTaxonomyNodeChildren.md +29 -0
- package/src/modules/item-management/generated/enums.ts +9 -0
- package/src/modules/item-management/generated/kysely-tailordb.ts +62 -0
- package/src/modules/item-management/index.ts +53 -0
- package/src/modules/item-management/lib/_db_deps.ts +13 -0
- package/src/modules/item-management/lib/errors.generated.ts +117 -0
- package/src/modules/item-management/lib/permissions.generated.ts +17 -0
- package/src/modules/item-management/lib/types.ts +19 -0
- package/src/modules/item-management/module.ts +97 -0
- package/src/modules/item-management/query/calculateNodeDepth.generated.ts +5 -0
- package/src/modules/item-management/query/calculateNodeDepth.test.ts +56 -0
- package/src/modules/item-management/query/calculateNodeDepth.ts +28 -0
- package/src/modules/item-management/query/calculateSubtreeDepth.generated.ts +5 -0
- package/src/modules/item-management/query/calculateSubtreeDepth.test.ts +75 -0
- package/src/modules/item-management/query/calculateSubtreeDepth.ts +29 -0
- package/src/modules/item-management/query/detectCircularReference.generated.ts +5 -0
- package/src/modules/item-management/query/detectCircularReference.test.ts +61 -0
- package/src/modules/item-management/query/detectCircularReference.ts +32 -0
- package/src/modules/item-management/query/getItem.generated.ts +5 -0
- package/src/modules/item-management/query/getItem.test.ts +67 -0
- package/src/modules/item-management/query/getItem.ts +20 -0
- package/src/modules/item-management/query/getItemTaxonomyAssignment.generated.ts +5 -0
- package/src/modules/item-management/query/getItemTaxonomyAssignment.test.ts +25 -0
- package/src/modules/item-management/query/getItemTaxonomyAssignment.ts +18 -0
- package/src/modules/item-management/query/getTaxonomyNode.generated.ts +5 -0
- package/src/modules/item-management/query/getTaxonomyNode.test.ts +47 -0
- package/src/modules/item-management/query/getTaxonomyNode.ts +18 -0
- package/src/modules/item-management/query/getTaxonomyNodeAssignments.generated.ts +5 -0
- package/src/modules/item-management/query/getTaxonomyNodeAssignments.test.ts +25 -0
- package/src/modules/item-management/query/getTaxonomyNodeAssignments.ts +16 -0
- package/src/modules/item-management/query/getTaxonomyNodeChildren.generated.ts +5 -0
- package/src/modules/item-management/query/getTaxonomyNodeChildren.test.ts +34 -0
- package/src/modules/item-management/query/getTaxonomyNodeChildren.ts +16 -0
- package/src/modules/item-management/tailor.config.ts +11 -0
- package/src/modules/item-management/testing/fixtures.ts +81 -0
- package/src/modules/primitives/command/activateCategory.generated.ts +6 -0
- package/src/modules/primitives/command/activateCategory.test.ts +11 -29
- package/src/modules/primitives/command/activateCategory.ts +27 -34
- package/src/modules/primitives/command/activateCurrency.generated.ts +6 -0
- package/src/modules/primitives/command/activateCurrency.test.ts +11 -29
- package/src/modules/primitives/command/activateCurrency.ts +27 -34
- package/src/modules/primitives/command/activateUnit.generated.ts +6 -0
- package/src/modules/primitives/command/activateUnit.test.ts +11 -15
- package/src/modules/primitives/command/activateUnit.ts +27 -34
- package/src/modules/primitives/command/createCategory.generated.ts +6 -0
- package/src/modules/primitives/command/createCategory.test.ts +27 -39
- package/src/modules/primitives/command/createCategory.ts +53 -62
- package/src/modules/primitives/command/createCurrency.generated.ts +6 -0
- package/src/modules/primitives/command/createCurrency.test.ts +78 -71
- package/src/modules/primitives/command/createCurrency.ts +43 -48
- package/src/modules/primitives/command/createExchangeRate.generated.ts +6 -0
- package/src/modules/primitives/command/createExchangeRate.test.ts +101 -100
- package/src/modules/primitives/command/createExchangeRate.ts +50 -59
- package/src/modules/primitives/command/createUnit.generated.ts +6 -0
- package/src/modules/primitives/command/createUnit.test.ts +92 -95
- package/src/modules/primitives/command/createUnit.ts +54 -57
- package/src/modules/primitives/command/deactivateCategory.generated.ts +6 -0
- package/src/modules/primitives/command/deactivateCategory.test.ts +27 -28
- package/src/modules/primitives/command/deactivateCategory.ts +43 -50
- package/src/modules/primitives/command/deactivateCurrency.generated.ts +6 -0
- package/src/modules/primitives/command/deactivateCurrency.test.ts +23 -38
- package/src/modules/primitives/command/deactivateCurrency.ts +31 -38
- package/src/modules/primitives/command/deactivateUnit.generated.ts +6 -0
- package/src/modules/primitives/command/deactivateUnit.test.ts +27 -23
- package/src/modules/primitives/command/deactivateUnit.ts +39 -49
- package/src/modules/primitives/command/setBaseCurrency.generated.ts +6 -0
- package/src/modules/primitives/command/setBaseCurrency.test.ts +40 -33
- package/src/modules/primitives/command/setBaseCurrency.ts +43 -50
- package/src/modules/primitives/command/setReferenceUnit.generated.ts +6 -0
- package/src/modules/primitives/command/setReferenceUnit.test.ts +39 -35
- package/src/modules/primitives/command/setReferenceUnit.ts +46 -59
- package/src/modules/primitives/db/unit.ts +13 -3
- package/src/modules/primitives/docs/commands/ActivateCategory.md +1 -2
- package/src/modules/primitives/docs/commands/ActivateCurrency.md +1 -2
- package/src/modules/primitives/docs/commands/ActivateUnit.md +1 -2
- package/src/modules/primitives/docs/commands/CreateCategory.md +1 -4
- package/src/modules/primitives/docs/commands/CreateCurrency.md +3 -4
- package/src/modules/primitives/docs/commands/CreateExchangeRate.md +4 -5
- package/src/modules/primitives/docs/commands/CreateUnit.md +5 -5
- package/src/modules/primitives/docs/commands/DeactivateCategory.md +2 -3
- package/src/modules/primitives/docs/commands/DeactivateCurrency.md +2 -3
- package/src/modules/primitives/docs/commands/DeactivateUnit.md +2 -3
- package/src/modules/primitives/docs/commands/SetBaseCurrency.md +2 -3
- package/src/modules/primitives/docs/commands/SetReferenceUnit.md +2 -3
- package/src/modules/primitives/docs/models/Currency.md +4 -0
- package/src/modules/primitives/docs/models/ExchangeRate.md +4 -1
- package/src/modules/primitives/docs/models/Unit.md +4 -1
- package/src/modules/primitives/docs/models/UoMCategory.md +2 -0
- package/src/modules/primitives/docs/{commands → queries}/ConvertAmount.md +3 -5
- package/src/modules/primitives/docs/{commands → queries}/ConvertQuantity.md +3 -5
- package/src/modules/primitives/docs/queries/GetBaseCurrency.md +32 -0
- package/src/modules/primitives/docs/queries/GetCurrency.md +36 -0
- package/src/modules/primitives/docs/queries/GetUnit.md +36 -0
- package/src/modules/primitives/docs/queries/GetUoMCategory.md +36 -0
- package/src/modules/primitives/docs/queries/ListUnitsByCategory.md +26 -0
- package/src/modules/primitives/generated/kysely-tailordb.ts +24 -45
- package/src/modules/primitives/index.ts +17 -6
- package/src/modules/primitives/lib/errors.generated.ts +112 -0
- package/src/modules/primitives/{permissions.ts → lib/permissions.generated.ts} +9 -10
- package/src/modules/primitives/module.ts +39 -27
- package/src/modules/primitives/query/convertAmount.generated.ts +5 -0
- package/src/modules/primitives/{command → query}/convertAmount.test.ts +4 -21
- package/src/modules/primitives/query/convertAmount.ts +121 -0
- package/src/modules/primitives/query/convertQuantity.generated.ts +5 -0
- package/src/modules/primitives/{command → query}/convertQuantity.test.ts +8 -15
- package/src/modules/primitives/query/convertQuantity.ts +63 -0
- package/src/modules/primitives/query/getBaseCurrency.generated.ts +5 -0
- package/src/modules/primitives/query/getBaseCurrency.test.ts +28 -0
- package/src/modules/primitives/query/getBaseCurrency.ts +16 -0
- package/src/modules/primitives/query/getCurrency.generated.ts +5 -0
- package/src/modules/primitives/query/getCurrency.test.ts +47 -0
- package/src/modules/primitives/query/getCurrency.ts +18 -0
- package/src/modules/primitives/query/getUnit.generated.ts +5 -0
- package/src/modules/primitives/query/getUnit.test.ts +47 -0
- package/src/modules/primitives/query/getUnit.ts +18 -0
- package/src/modules/primitives/query/getUoMCategory.generated.ts +5 -0
- package/src/modules/primitives/query/getUoMCategory.test.ts +47 -0
- package/src/modules/primitives/query/getUoMCategory.ts +18 -0
- package/src/modules/primitives/query/listUnitsByCategory.generated.ts +5 -0
- package/src/modules/primitives/query/listUnitsByCategory.ts +16 -0
- package/src/modules/primitives/tailor.config.ts +3 -3
- package/src/modules/shared/defineCommand.test.ts +23 -10
- package/src/modules/shared/defineCommand.ts +23 -10
- package/src/modules/shared/defineQuery.test.ts +28 -0
- package/src/modules/shared/defineQuery.ts +16 -0
- package/src/modules/shared/internal.ts +3 -1
- package/src/modules/shared/requirePermission.test.ts +22 -21
- package/src/modules/shared/requirePermission.ts +8 -2
- package/src/modules/shared/result.ts +12 -0
- package/src/modules/shared/types.ts +8 -0
- package/src/modules/testing/index.ts +36 -11
- package/src/modules/user-management/command/activateUser.generated.ts +6 -0
- package/src/modules/user-management/command/activateUser.test.ts +27 -27
- package/src/modules/user-management/command/activateUser.ts +40 -48
- package/src/modules/user-management/command/assignPermissionToRole.generated.ts +6 -0
- package/src/modules/user-management/command/assignPermissionToRole.test.ts +42 -43
- package/src/modules/user-management/command/assignPermissionToRole.ts +59 -62
- package/src/modules/user-management/command/assignRoleToUser.generated.ts +6 -0
- package/src/modules/user-management/command/assignRoleToUser.test.ts +70 -63
- package/src/modules/user-management/command/assignRoleToUser.ts +63 -66
- package/src/modules/user-management/command/createPermission.generated.ts +6 -0
- package/src/modules/user-management/command/createPermission.test.ts +45 -38
- package/src/modules/user-management/command/createPermission.ts +42 -46
- package/src/modules/user-management/command/createRole.generated.ts +6 -0
- package/src/modules/user-management/command/createRole.test.ts +30 -29
- package/src/modules/user-management/command/createRole.ts +33 -33
- package/src/modules/user-management/command/createUser.generated.ts +6 -0
- package/src/modules/user-management/command/createUser.test.ts +64 -42
- package/src/modules/user-management/command/createUser.ts +54 -56
- package/src/modules/user-management/command/deactivateUser.generated.ts +6 -0
- package/src/modules/user-management/command/deactivateUser.test.ts +27 -27
- package/src/modules/user-management/command/deactivateUser.ts +40 -48
- package/src/modules/user-management/command/logAuditEvent.generated.ts +6 -0
- package/src/modules/user-management/command/logAuditEvent.test.ts +50 -42
- package/src/modules/user-management/command/logAuditEvent.ts +25 -28
- package/src/modules/user-management/command/reactivateUser.generated.ts +6 -0
- package/src/modules/user-management/command/reactivateUser.test.ts +31 -27
- package/src/modules/user-management/command/reactivateUser.ts +40 -48
- package/src/modules/user-management/command/revokePermissionFromRole.generated.ts +6 -0
- package/src/modules/user-management/command/revokePermissionFromRole.test.ts +52 -51
- package/src/modules/user-management/command/revokePermissionFromRole.ts +60 -57
- package/src/modules/user-management/command/revokeRoleFromUser.generated.ts +6 -0
- package/src/modules/user-management/command/revokeRoleFromUser.test.ts +53 -48
- package/src/modules/user-management/command/revokeRoleFromUser.ts +58 -57
- package/src/modules/user-management/docs/commands/CreatePermission.md +2 -2
- package/src/modules/user-management/docs/commands/CreateRole.md +1 -1
- package/src/modules/user-management/docs/models/AuditEvent.md +2 -0
- package/src/modules/user-management/docs/models/Permission.md +2 -0
- package/src/modules/user-management/docs/models/Role.md +2 -0
- package/src/modules/user-management/docs/models/RolePermission.md +2 -0
- package/src/modules/user-management/docs/models/User.md +2 -0
- package/src/modules/user-management/docs/models/UserRole.md +2 -0
- package/src/modules/user-management/generated/enums.ts +11 -11
- package/src/modules/user-management/generated/kysely-tailordb.ts +27 -56
- package/src/modules/user-management/index.ts +2 -2
- package/src/modules/user-management/lib/errors.generated.ts +67 -0
- package/src/modules/user-management/{permissions.ts → lib/permissions.generated.ts} +8 -7
- package/src/modules/user-management/module.ts +22 -22
- package/src/modules/user-management/tailor.config.ts +3 -3
- package/src/schemas.ts +2 -1
- package/skills/1-module-docs/references/structure.md +0 -22
- package/skills/2-module-feature-breakdown/references/commands.md +0 -48
- package/skills/2-module-feature-breakdown/references/structure.md +0 -22
- package/skills/3-module-doc-review/references/commands.md +0 -54
- package/skills/3-module-doc-review/references/models.md +0 -29
- package/skills/4-module-tdd-implementation/SKILL.md +0 -74
- package/skills/4-module-tdd-implementation/references/commands.md +0 -45
- package/skills/4-module-tdd-implementation/references/errors.md +0 -7
- package/skills/4-module-tdd-implementation/references/models.md +0 -30
- package/skills/4-module-tdd-implementation/references/structure.md +0 -22
- package/skills/4-module-tdd-implementation/references/testing.md +0 -37
- package/skills/5-module-implementation-review/references/commands.md +0 -45
- package/skills/5-module-implementation-review/references/errors.md +0 -7
- package/skills/5-module-implementation-review/references/exports.md +0 -8
- package/skills/5-module-implementation-review/references/models.md +0 -30
- package/src/modules/primitives/command/convertAmount.ts +0 -126
- package/src/modules/primitives/command/convertQuantity.ts +0 -73
- package/src/modules/primitives/lib/errors.ts +0 -138
- package/src/modules/user-management/lib/errors.ts +0 -81
- /package/skills/{app-compose-1-requirement-analysis → erp-kit-app-1-requirements}/references/structure.md +0 -0
- /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/screen-detailview.md +0 -0
- /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/screen-form.md +0 -0
- /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/screen-listview.md +0 -0
- /package/skills/{app-compose-2-requirements-breakdown → erp-kit-app-2-breakdown}/references/structure.md +0 -0
- /package/skills/{app-compose-3-doc-review → erp-kit-app-3-doc-review}/references/structure.md +0 -0
- /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/component.md +0 -0
- /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/screen-detailview.md +0 -0
- /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/screen-form.md +0 -0
- /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/screen-listview.md +0 -0
- /package/skills/{app-compose-4-design-mock → erp-kit-app-4-design}/references/structure.md +0 -0
- /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/component.md +0 -0
- /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/screen-detailview.md +0 -0
- /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/screen-form.md +0 -0
- /package/skills/{app-compose-5-design-mock-review → erp-kit-app-5-design-review}/references/screen-listview.md +0 -0
- /package/skills/{app-compose-6-implementation-spec → erp-kit-app-6-impl-spec}/references/auth.md +0 -0
- /package/skills/{app-compose-6-implementation-spec → erp-kit-app-6-impl-spec}/references/structure.md +0 -0
- /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
|
|
14
|
+
# Set up your repo (agent skills)
|
|
15
15
|
erp-kit init
|
|
16
16
|
|
|
17
|
-
#
|
|
18
|
-
erp-kit
|
|
19
|
-
|
|
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 --
|
|
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
|
-
#
|
|
25
|
-
erp-kit
|
|
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
|
-
### `
|
|
47
|
+
### `module`
|
|
37
48
|
|
|
38
|
-
|
|
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
|
|
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
|
-
|
|
59
|
+
#### `module check`
|
|
47
60
|
|
|
48
|
-
|
|
61
|
+
Validates module markdown documentation against YAML schemas.
|
|
49
62
|
|
|
50
63
|
```bash
|
|
51
|
-
erp-kit
|
|
52
|
-
erp-kit sync-check --app-root examples
|
|
64
|
+
erp-kit module check --root src/modules
|
|
53
65
|
```
|
|
54
66
|
|
|
55
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
128
|
+
#### `app scaffold`
|
|
129
|
+
|
|
130
|
+
Generates documentation files from schema templates.
|
|
69
131
|
|
|
70
132
|
```bash
|
|
71
|
-
erp-kit
|
|
72
|
-
erp-kit
|
|
73
|
-
erp-kit
|
|
74
|
-
erp-kit
|
|
75
|
-
erp-kit
|
|
76
|
-
erp-kit
|
|
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.
|
|
237
|
+
2. Create symlink `.claude/skills` → `.agents/skills/`
|
|
133
238
|
|
|
134
239
|
## Options
|
|
135
240
|
|
|
136
|
-
| Flag
|
|
137
|
-
|
|
|
138
|
-
| `--
|
|
139
|
-
| `--
|
|
140
|
-
| `--
|
|
141
|
-
|
|
|
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
|
|
148
|
-
|
|
|
149
|
-
| `schemas/`
|
|
150
|
-
| `
|
|
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. `
|
|
165
|
-
2. `
|
|
166
|
-
3. `
|
|
167
|
-
4. `
|
|
168
|
-
5. `
|
|
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-
|
|
173
|
-
2. `app-
|
|
174
|
-
3. `app-
|
|
175
|
-
4. `app-
|
|
176
|
-
5. `app-
|
|
177
|
-
6. `app-
|
|
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
|
|