@akanjs/cli 1.0.20 → 2.1.0-rc.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/guidelines/componentRule/componentRule.generate.json +37 -0
- package/guidelines/componentRule/componentRule.instruction.md +28 -0
- package/guidelines/cssRule/cssRule.generate.json +37 -0
- package/guidelines/cssRule/cssRule.instruction.md +28 -0
- package/guidelines/docPageRule/docPageRule.generate.json +37 -0
- package/guidelines/docPageRule/docPageRule.instruction.md +25 -0
- package/guidelines/docSyncRule/docSyncRule.generate.json +37 -0
- package/guidelines/docSyncRule/docSyncRule.instruction.md +25 -0
- package/guidelines/enumConstant/enumConstant.generate.json +37 -0
- package/guidelines/enumConstant/enumConstant.instruction.md +28 -0
- package/guidelines/fieldRule/fieldRule.generate.json +37 -0
- package/guidelines/fieldRule/fieldRule.instruction.md +31 -0
- package/guidelines/framework/framework.generate.json +37 -0
- package/guidelines/framework/framework.instruction.md +29 -0
- package/guidelines/modelConstant/modelConstant.generate.json +37 -0
- package/guidelines/modelConstant/modelConstant.instruction.md +30 -0
- package/guidelines/modelDictionary/modelDictionary.generate.json +37 -0
- package/guidelines/modelDictionary/modelDictionary.instruction.md +30 -0
- package/guidelines/modelDocument/modelDocument.generate.json +37 -0
- package/guidelines/modelDocument/modelDocument.instruction.md +29 -0
- package/guidelines/modelService/modelService.generate.json +37 -0
- package/guidelines/modelService/modelService.instruction.md +28 -0
- package/guidelines/modelSignal/modelSignal.generate.json +37 -0
- package/guidelines/modelSignal/modelSignal.instruction.md +28 -0
- package/guidelines/modelStore/modelStore.generate.json +37 -0
- package/guidelines/modelStore/modelStore.instruction.md +28 -0
- package/guidelines/modelTemplate/modelTemplate.generate.json +37 -0
- package/guidelines/modelTemplate/modelTemplate.instruction.md +25 -0
- package/guidelines/modelUnit/modelUnit.generate.json +37 -0
- package/guidelines/modelUnit/modelUnit.instruction.md +25 -0
- package/guidelines/modelUtil/modelUtil.generate.json +37 -0
- package/guidelines/modelUtil/modelUtil.instruction.md +25 -0
- package/guidelines/modelView/modelView.generate.json +37 -0
- package/guidelines/modelView/modelView.instruction.md +25 -0
- package/guidelines/modelZone/modelZone.generate.json +37 -0
- package/guidelines/modelZone/modelZone.instruction.md +25 -0
- package/guidelines/moduleCodegen/moduleCodegen.generate.json +37 -0
- package/guidelines/moduleCodegen/moduleCodegen.instruction.md +28 -0
- package/guidelines/moduleOverview/moduleOverview.generate.json +37 -0
- package/guidelines/moduleOverview/moduleOverview.instruction.md +31 -0
- package/guidelines/scalarConstant/scalarConstant.generate.json +37 -0
- package/guidelines/scalarConstant/scalarConstant.instruction.md +28 -0
- package/guidelines/scalarDictionary/scalarDictionary.generate.json +37 -0
- package/guidelines/scalarDictionary/scalarDictionary.instruction.md +28 -0
- package/guidelines/scalarModule/scalarModule.generate.json +37 -0
- package/guidelines/scalarModule/scalarModule.instruction.md +29 -0
- package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +37 -0
- package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +25 -0
- package/guidelines/utilUiUsage/utilUiUsage.generate.json +37 -0
- package/guidelines/utilUiUsage/utilUiUsage.instruction.md +25 -0
- package/index.js +11630 -0
- package/package.json +38 -56
- package/templates/__scalar/__model__/__model__.constant.ts +15 -0
- package/templates/__scalar/__model__/__model__.dictionary.ts +19 -0
- package/templates/__scalar/__model__/__model__.document.ts +15 -0
- package/templates/app/akan.config.ts +14 -0
- package/templates/app/env/env.client.debug.ts.template +7 -0
- package/templates/app/env/env.client.develop.ts.template +7 -0
- package/templates/app/env/env.client.local.ts.template +7 -0
- package/templates/app/env/env.client.main.ts.template +7 -0
- package/templates/app/env/env.client.testing.ts.template +7 -0
- package/{esm/src/templates/app/env/env.client.js → templates/app/env/env.client.ts} +7 -6
- package/templates/app/env/env.client.type.ts +16 -0
- package/{esm/src/templates/app/env/env.server.testing.ts.template → templates/app/env/env.server.debug.ts.template} +3 -2
- package/templates/app/env/env.server.develop.ts.template +7 -0
- package/templates/app/env/env.server.local.ts.template +7 -0
- package/templates/app/env/env.server.main.ts.template +7 -0
- package/{cjs/src/templates → templates}/app/env/env.server.testing.ts.template +0 -0
- package/{esm/src/templates/app/env/env.server.js → templates/app/env/env.server.ts} +7 -6
- package/templates/app/lib/___appName__/__appName__.dictionary.ts +17 -0
- package/templates/app/lib/___appName__/__appName__.service.ts +13 -0
- package/templates/app/lib/___appName__/__appName__.signal.ts +17 -0
- package/templates/app/lib/___appName__/__appName__.store.ts +17 -0
- package/templates/app/lib/option.ts +18 -0
- package/templates/app/main.ts +16 -0
- package/templates/app/page/_index.tsx +296 -0
- package/templates/app/page/_layout.tsx +31 -0
- package/templates/app/page/styles.css.template +53 -0
- package/templates/app/public/favicon.ico +0 -0
- package/templates/app/public/logo.png +0 -0
- package/{esm/src/templates → templates}/app/tsconfig.json.template +0 -1
- package/templates/client.ts +46 -0
- package/templates/crudPages/[__model__Id]/edit/page.tsx +47 -0
- package/templates/crudPages/[__model__Id]/page.tsx +52 -0
- package/templates/crudPages/new/page.tsx +42 -0
- package/templates/crudPages/page.tsx +43 -0
- package/templates/crudSinglePage/page.tsx +37 -0
- package/templates/env/_env.server.type.ts +16 -0
- package/templates/facetIndex/index.ts +33 -0
- package/templates/index.ts +10 -0
- package/templates/lib/__lib/lib.constant.ts +38 -0
- package/templates/lib/__lib/lib.dictionary.ts +33 -0
- package/templates/lib/__lib/lib.document.ts +35 -0
- package/templates/lib/__lib/lib.service.ts +33 -0
- package/templates/lib/__lib/lib.signal.ts +34 -0
- package/templates/lib/__lib/lib.store.ts +33 -0
- package/templates/lib/cnst.ts +29 -0
- package/templates/lib/db.ts +32 -0
- package/{esm/src/templates/lib/dict.js → templates/lib/dict.ts} +16 -16
- package/templates/lib/sig.ts +60 -0
- package/templates/lib/srv.ts +34 -0
- package/templates/lib/st.ts +31 -0
- package/templates/lib/useClient.ts +19 -0
- package/templates/lib/useServer.ts +7 -0
- package/templates/libRoot/akan.config.ts +12 -0
- package/templates/libRoot/base/baseLogic.ts +14 -0
- package/templates/libRoot/base/index.ts +8 -0
- package/templates/libRoot/common/commonLogic.ts +14 -0
- package/templates/libRoot/common/index.ts +8 -0
- package/{esm/src/templates/libRoot/lib/___libName__/__libName__.dictionary.js → templates/libRoot/lib/___libName__/__libName__.dictionary.ts} +6 -6
- package/templates/libRoot/lib/___libName__/__libName__.service.ts +13 -0
- package/templates/libRoot/lib/___libName__/__libName__.store.ts +15 -0
- package/templates/libRoot/lib/option.ts +18 -0
- package/templates/libRoot/srvkit/backendLogic.ts +13 -0
- package/templates/libRoot/srvkit/index.ts +8 -0
- package/templates/libRoot/ui/index.ts +8 -0
- package/templates/libRoot/webkit/frontendLogic.ts +13 -0
- package/templates/libRoot/webkit/index.ts +8 -0
- package/templates/localDev/docker-compose.yaml.template +37 -0
- package/{esm/src/templates/module/__Model__.Template.js → templates/module/__Model__.Template.tsx} +11 -8
- package/templates/module/__Model__.Unit.tsx +26 -0
- package/templates/module/__Model__.Util.tsx +30 -0
- package/{esm/src/templates/module/__Model__.View.js → templates/module/__Model__.View.tsx} +11 -8
- package/{esm/src/templates/module/__Model__.Zone.js → templates/module/__Model__.Zone.tsx} +15 -12
- package/{esm/src/templates/module/__model__.constant.js → templates/module/__model__.constant.ts} +9 -6
- package/{esm/src/templates/module/__model__.dictionary.js → templates/module/__model__.dictionary.ts} +12 -9
- package/templates/module/__model__.document.ts +23 -0
- package/templates/module/__model__.service.ts +16 -0
- package/{esm/src/templates/module/__model__.signal.js → templates/module/__model__.signal.ts} +10 -7
- package/templates/module/__model__.store.ts +21 -0
- package/templates/moduleRoot/index.tsx +31 -0
- package/{esm/src/templates/libRoot → templates/pkgRoot}/tsconfig.json.template +2 -3
- package/templates/server.ts +45 -0
- package/templates/service/__model__.dictionary.ts +19 -0
- package/templates/service/__model__.service.ts +13 -0
- package/templates/service/__model__.signal.ts +17 -0
- package/templates/service/__model__.store.ts +17 -0
- package/templates/workspaceRoot/.env.template +14 -0
- package/{cjs/src/templates → templates}/workspaceRoot/.gitignore.template +14 -13
- package/templates/workspaceRoot/.vscode/settings.json.template +23 -0
- package/templates/workspaceRoot/biome.json.template +191 -0
- package/templates/workspaceRoot/bunfig.toml +4 -0
- package/templates/workspaceRoot/package.json.template +7 -0
- package/templates/workspaceRoot/tsconfig.json.template +29 -0
- package/README.md +0 -307
- package/cjs/index.js +0 -7778
- package/cjs/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
- package/cjs/src/guidelines/___library/utilUiStructureDescription.en.md +0 -395
- package/cjs/src/guidelines/___lint/lintRuleDescription.en.md +0 -64
- package/cjs/src/guidelines/___module/moduleStructureDescription.en.md +0 -80
- package/cjs/src/guidelines/componentRule/componentRule.generate.json +0 -131
- package/cjs/src/guidelines/componentRule/componentRule.instruction.md +0 -637
- package/cjs/src/guidelines/cssRule/cssRule.generate.json +0 -93
- package/cjs/src/guidelines/cssRule/cssRule.instruction.md +0 -435
- package/cjs/src/guidelines/databaseModule/databaseModule.generate.json +0 -51
- package/cjs/src/guidelines/databaseModule/databaseModule.instruction.md +0 -631
- package/cjs/src/guidelines/docPageRule/docPageRule.generate.json +0 -72
- package/cjs/src/guidelines/docPageRule/docPageRule.instruction.md +0 -389
- package/cjs/src/guidelines/enumConstant/enumConstant.generate.json +0 -24
- package/cjs/src/guidelines/enumConstant/enumConstant.instruction.md +0 -232
- package/cjs/src/guidelines/framework/framework.generate.json +0 -119
- package/cjs/src/guidelines/framework/framework.instruction.md +0 -1110
- package/cjs/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
- package/cjs/src/guidelines/modelConstant/modelConstant.generate.json +0 -128
- package/cjs/src/guidelines/modelConstant/modelConstant.instruction.md +0 -506
- package/cjs/src/guidelines/modelDictionary/modelDictionary.generate.json +0 -108
- package/cjs/src/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
- package/cjs/src/guidelines/modelDocument/modelDocument.generate.json +0 -129
- package/cjs/src/guidelines/modelDocument/modelDocument.instruction.md +0 -659
- package/cjs/src/guidelines/modelService/modelService.generate.json +0 -135
- package/cjs/src/guidelines/modelService/modelService.instruction.md +0 -708
- package/cjs/src/guidelines/modelSignal/modelSignal.generate.json +0 -201
- package/cjs/src/guidelines/modelSignal/modelSignal.instruction.md +0 -552
- package/cjs/src/guidelines/modelStore/modelStore.generate.json +0 -130
- package/cjs/src/guidelines/modelStore/modelStore.instruction.md +0 -590
- package/cjs/src/guidelines/modelTemplate/modelTemplate.generate.json +0 -104
- package/cjs/src/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
- package/cjs/src/guidelines/modelUnit/modelUnit.generate.json +0 -92
- package/cjs/src/guidelines/modelUnit/modelUnit.instruction.md +0 -541
- package/cjs/src/guidelines/modelUtil/modelUtil.generate.json +0 -93
- package/cjs/src/guidelines/modelUtil/modelUtil.instruction.md +0 -752
- package/cjs/src/guidelines/modelView/modelView.generate.json +0 -80
- package/cjs/src/guidelines/modelView/modelView.instruction.md +0 -1005
- package/cjs/src/guidelines/modelZone/modelZone.generate.json +0 -126
- package/cjs/src/guidelines/modelZone/modelZone.instruction.md +0 -528
- package/cjs/src/guidelines/scalarConstant/scalarConstant.generate.json +0 -106
- package/cjs/src/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
- package/cjs/src/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -83
- package/cjs/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
- package/cjs/src/guidelines/scalarModule/scalarModule.generate.json +0 -35
- package/cjs/src/guidelines/scalarModule/scalarModule.instruction.md +0 -81
- package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -108
- package/cjs/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
- package/cjs/src/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -140
- package/cjs/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
- package/cjs/src/templates/__scalar/__model__/__model__.constant.js +0 -33
- package/cjs/src/templates/__scalar/__model__/__model__.dictionary.js +0 -37
- package/cjs/src/templates/__scalar/__model__/__model__.document.js +0 -33
- package/cjs/src/templates/app/akan.config.js +0 -33
- package/cjs/src/templates/app/app/[lang]/layout.js +0 -55
- package/cjs/src/templates/app/app/[lang]/page.js +0 -111
- package/cjs/src/templates/app/app/[lang]/styles.css.template +0 -20
- package/cjs/src/templates/app/app/csr.js +0 -36
- package/cjs/src/templates/app/app/index.html.template +0 -13
- package/cjs/src/templates/app/app/layout.js +0 -41
- package/cjs/src/templates/app/app/robots.js +0 -40
- package/cjs/src/templates/app/app/sitemap.js +0 -36
- package/cjs/src/templates/app/base/baseLogic.js +0 -35
- package/cjs/src/templates/app/base/index.js +0 -29
- package/cjs/src/templates/app/capacitor.config.ts.template +0 -8
- package/cjs/src/templates/app/common/commonLogic.js +0 -35
- package/cjs/src/templates/app/common/index.js +0 -29
- package/cjs/src/templates/app/env/env.client.debug.ts.template +0 -7
- package/cjs/src/templates/app/env/env.client.develop.ts.template +0 -7
- package/cjs/src/templates/app/env/env.client.js +0 -40
- package/cjs/src/templates/app/env/env.client.local.ts.template +0 -7
- package/cjs/src/templates/app/env/env.client.main.ts.template +0 -7
- package/cjs/src/templates/app/env/env.client.testing.ts.template +0 -7
- package/cjs/src/templates/app/env/env.client.type.js +0 -35
- package/cjs/src/templates/app/env/env.server.debug.ts.template +0 -10
- package/cjs/src/templates/app/env/env.server.develop.ts.template +0 -10
- package/cjs/src/templates/app/env/env.server.js +0 -39
- package/cjs/src/templates/app/env/env.server.local.ts.template +0 -10
- package/cjs/src/templates/app/env/env.server.main.ts.template +0 -10
- package/cjs/src/templates/app/instrumentation.js +0 -32
- package/cjs/src/templates/app/jest.config.js +0 -36
- package/cjs/src/templates/app/lib/___appName__/__appName__.dictionary.js +0 -35
- package/cjs/src/templates/app/lib/___appName__/__appName__.service.js +0 -31
- package/cjs/src/templates/app/lib/___appName__/__appName__.signal.js +0 -35
- package/cjs/src/templates/app/lib/___appName__/__appName__.store.js +0 -35
- package/cjs/src/templates/app/lib/option.js +0 -47
- package/cjs/src/templates/app/main.js +0 -39
- package/cjs/src/templates/app/nest/backendLogic.js +0 -34
- package/cjs/src/templates/app/nest/index.js +0 -29
- package/cjs/src/templates/app/next/frontendLogic.js +0 -34
- package/cjs/src/templates/app/next/index.js +0 -29
- package/cjs/src/templates/app/postcss.config.js.template +0 -8
- package/cjs/src/templates/app/proxy.js +0 -35
- package/cjs/src/templates/app/public/favicon.ico +0 -0
- package/cjs/src/templates/app/public/icons/icon-128x128.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-144x144.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-152x152.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-192x192.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-256x256.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-384x384.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-48x48.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-512x512.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-72x72.png +0 -0
- package/cjs/src/templates/app/public/icons/icon-96x96.png +0 -0
- package/cjs/src/templates/app/public/logo.svg +0 -70
- package/cjs/src/templates/app/public/manifest.json.template +0 -67
- package/cjs/src/templates/app/tsconfig.json.template +0 -22
- package/cjs/src/templates/app/tsconfig.spec.json.template +0 -7
- package/cjs/src/templates/app/ui/UiComponent.js +0 -38
- package/cjs/src/templates/app/ui/index.js +0 -29
- package/cjs/src/templates/client.js +0 -47
- package/cjs/src/templates/crudPages/[__model__Id]/edit/page.js +0 -72
- package/cjs/src/templates/crudPages/[__model__Id]/page.js +0 -78
- package/cjs/src/templates/crudPages/new/page.js +0 -67
- package/cjs/src/templates/crudPages/page.js +0 -68
- package/cjs/src/templates/crudSinglePage/page.js +0 -62
- package/cjs/src/templates/env/_env.server.type.js +0 -39
- package/cjs/src/templates/index.js +0 -29
- package/cjs/src/templates/lib/__lib/lib.constant.js +0 -57
- package/cjs/src/templates/lib/__lib/lib.dictionary.js +0 -50
- package/cjs/src/templates/lib/__lib/lib.document.js +0 -52
- package/cjs/src/templates/lib/__lib/lib.service.js +0 -59
- package/cjs/src/templates/lib/__lib/lib.signal.js +0 -55
- package/cjs/src/templates/lib/__lib/lib.store.js +0 -52
- package/cjs/src/templates/lib/cnst.js +0 -56
- package/cjs/src/templates/lib/db.js +0 -53
- package/cjs/src/templates/lib/dict.js +0 -69
- package/cjs/src/templates/lib/sig.js +0 -71
- package/cjs/src/templates/lib/srv.js +0 -50
- package/cjs/src/templates/lib/st.js +0 -50
- package/cjs/src/templates/lib/useClient.js +0 -40
- package/cjs/src/templates/lib/useServer.js +0 -31
- package/cjs/src/templates/libRoot/akan.config.js +0 -33
- package/cjs/src/templates/libRoot/base/baseLogic.js +0 -35
- package/cjs/src/templates/libRoot/base/index.js +0 -29
- package/cjs/src/templates/libRoot/common/commonLogic.js +0 -35
- package/cjs/src/templates/libRoot/common/index.js +0 -29
- package/cjs/src/templates/libRoot/jest.config.js +0 -36
- package/cjs/src/templates/libRoot/lib/___libName__/__libName__.dictionary.js +0 -35
- package/cjs/src/templates/libRoot/lib/___libName__/__libName__.service.js +0 -33
- package/cjs/src/templates/libRoot/lib/___libName__/__libName__.store.js +0 -35
- package/cjs/src/templates/libRoot/lib/option.js +0 -46
- package/cjs/src/templates/libRoot/nest/backendLogic.js +0 -34
- package/cjs/src/templates/libRoot/nest/index.js +0 -29
- package/cjs/src/templates/libRoot/next/frontendLogic.js +0 -34
- package/cjs/src/templates/libRoot/next/index.js +0 -29
- package/cjs/src/templates/libRoot/tsconfig.spec.json.template +0 -7
- package/cjs/src/templates/libRoot/ui/index.js +0 -29
- package/cjs/src/templates/localDev/docker-compose.yaml.template +0 -42
- package/cjs/src/templates/module/__Model__.Template.js +0 -53
- package/cjs/src/templates/module/__Model__.Unit.js +0 -43
- package/cjs/src/templates/module/__Model__.Util.js +0 -47
- package/cjs/src/templates/module/__Model__.View.js +0 -46
- package/cjs/src/templates/module/__Model__.Zone.js +0 -60
- package/cjs/src/templates/module/__model__.constant.js +0 -41
- package/cjs/src/templates/module/__model__.dictionary.js +0 -47
- package/cjs/src/templates/module/__model__.document.js +0 -46
- package/cjs/src/templates/module/__model__.service.js +0 -33
- package/cjs/src/templates/module/__model__.signal.js +0 -44
- package/cjs/src/templates/module/__model__.store.js +0 -38
- package/cjs/src/templates/module/index.js +0 -61
- package/cjs/src/templates/moduleRoot/index.js +0 -49
- package/cjs/src/templates/pkgRoot/tsconfig.json.template +0 -15
- package/cjs/src/templates/server.js +0 -87
- package/cjs/src/templates/workspaceRoot/.env.template +0 -20
- package/cjs/src/templates/workspaceRoot/.prettierignore.template +0 -10
- package/cjs/src/templates/workspaceRoot/.prettierrc.json.template +0 -6
- package/cjs/src/templates/workspaceRoot/.swcrc.template +0 -9
- package/cjs/src/templates/workspaceRoot/.vscode/settings.json.template +0 -12
- package/cjs/src/templates/workspaceRoot/README.md.template +0 -37
- package/cjs/src/templates/workspaceRoot/eslint.config.ts.template +0 -3
- package/cjs/src/templates/workspaceRoot/infra/app/Chart.yaml.template +0 -6
- package/cjs/src/templates/workspaceRoot/infra/app/templates/frontend.yaml.template +0 -182
- package/cjs/src/templates/workspaceRoot/infra/app/values/_common-values.yaml.template +0 -183
- package/cjs/src/templates/workspaceRoot/package.json.template +0 -47
- package/cjs/src/templates/workspaceRoot/tsconfig.json.template +0 -27
- package/esm/index.js +0 -7758
- package/esm/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
- package/esm/src/guidelines/___library/utilUiStructureDescription.en.md +0 -395
- package/esm/src/guidelines/___lint/lintRuleDescription.en.md +0 -64
- package/esm/src/guidelines/___module/moduleStructureDescription.en.md +0 -80
- package/esm/src/guidelines/componentRule/componentRule.generate.json +0 -131
- package/esm/src/guidelines/componentRule/componentRule.instruction.md +0 -637
- package/esm/src/guidelines/cssRule/cssRule.generate.json +0 -93
- package/esm/src/guidelines/cssRule/cssRule.instruction.md +0 -435
- package/esm/src/guidelines/databaseModule/databaseModule.generate.json +0 -51
- package/esm/src/guidelines/databaseModule/databaseModule.instruction.md +0 -631
- package/esm/src/guidelines/docPageRule/docPageRule.generate.json +0 -72
- package/esm/src/guidelines/docPageRule/docPageRule.instruction.md +0 -389
- package/esm/src/guidelines/enumConstant/enumConstant.generate.json +0 -24
- package/esm/src/guidelines/enumConstant/enumConstant.instruction.md +0 -232
- package/esm/src/guidelines/framework/framework.generate.json +0 -119
- package/esm/src/guidelines/framework/framework.instruction.md +0 -1110
- package/esm/src/guidelines/howToUseStore/howToUseStore.generate.json +0 -0
- package/esm/src/guidelines/modelConstant/modelConstant.generate.json +0 -128
- package/esm/src/guidelines/modelConstant/modelConstant.instruction.md +0 -506
- package/esm/src/guidelines/modelDictionary/modelDictionary.generate.json +0 -108
- package/esm/src/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
- package/esm/src/guidelines/modelDocument/modelDocument.generate.json +0 -129
- package/esm/src/guidelines/modelDocument/modelDocument.instruction.md +0 -659
- package/esm/src/guidelines/modelService/modelService.generate.json +0 -135
- package/esm/src/guidelines/modelService/modelService.instruction.md +0 -708
- package/esm/src/guidelines/modelSignal/modelSignal.generate.json +0 -201
- package/esm/src/guidelines/modelSignal/modelSignal.instruction.md +0 -552
- package/esm/src/guidelines/modelStore/modelStore.generate.json +0 -130
- package/esm/src/guidelines/modelStore/modelStore.instruction.md +0 -590
- package/esm/src/guidelines/modelTemplate/modelTemplate.generate.json +0 -104
- package/esm/src/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
- package/esm/src/guidelines/modelUnit/modelUnit.generate.json +0 -92
- package/esm/src/guidelines/modelUnit/modelUnit.instruction.md +0 -541
- package/esm/src/guidelines/modelUtil/modelUtil.generate.json +0 -93
- package/esm/src/guidelines/modelUtil/modelUtil.instruction.md +0 -752
- package/esm/src/guidelines/modelView/modelView.generate.json +0 -80
- package/esm/src/guidelines/modelView/modelView.instruction.md +0 -1005
- package/esm/src/guidelines/modelZone/modelZone.generate.json +0 -126
- package/esm/src/guidelines/modelZone/modelZone.instruction.md +0 -528
- package/esm/src/guidelines/scalarConstant/scalarConstant.generate.json +0 -106
- package/esm/src/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
- package/esm/src/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -83
- package/esm/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
- package/esm/src/guidelines/scalarModule/scalarModule.generate.json +0 -35
- package/esm/src/guidelines/scalarModule/scalarModule.instruction.md +0 -81
- package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -108
- package/esm/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
- package/esm/src/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -140
- package/esm/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
- package/esm/src/templates/__scalar/__model__/__model__.constant.js +0 -13
- package/esm/src/templates/__scalar/__model__/__model__.dictionary.js +0 -17
- package/esm/src/templates/__scalar/__model__/__model__.document.js +0 -13
- package/esm/src/templates/app/akan.config.js +0 -13
- package/esm/src/templates/app/app/[lang]/layout.js +0 -35
- package/esm/src/templates/app/app/[lang]/page.js +0 -91
- package/esm/src/templates/app/app/[lang]/styles.css.template +0 -20
- package/esm/src/templates/app/app/csr.js +0 -16
- package/esm/src/templates/app/app/index.html.template +0 -13
- package/esm/src/templates/app/app/layout.js +0 -21
- package/esm/src/templates/app/app/robots.js +0 -20
- package/esm/src/templates/app/app/sitemap.js +0 -16
- package/esm/src/templates/app/base/baseLogic.js +0 -15
- package/esm/src/templates/app/base/index.js +0 -9
- package/esm/src/templates/app/capacitor.config.ts.template +0 -8
- package/esm/src/templates/app/common/commonLogic.js +0 -15
- package/esm/src/templates/app/common/index.js +0 -9
- package/esm/src/templates/app/env/env.client.debug.ts.template +0 -7
- package/esm/src/templates/app/env/env.client.develop.ts.template +0 -7
- package/esm/src/templates/app/env/env.client.local.ts.template +0 -7
- package/esm/src/templates/app/env/env.client.main.ts.template +0 -7
- package/esm/src/templates/app/env/env.client.testing.ts.template +0 -7
- package/esm/src/templates/app/env/env.client.type.js +0 -15
- package/esm/src/templates/app/env/env.server.debug.ts.template +0 -10
- package/esm/src/templates/app/env/env.server.develop.ts.template +0 -10
- package/esm/src/templates/app/env/env.server.local.ts.template +0 -10
- package/esm/src/templates/app/env/env.server.main.ts.template +0 -10
- package/esm/src/templates/app/instrumentation.js +0 -12
- package/esm/src/templates/app/jest.config.js +0 -16
- package/esm/src/templates/app/lib/___appName__/__appName__.dictionary.js +0 -15
- package/esm/src/templates/app/lib/___appName__/__appName__.service.js +0 -11
- package/esm/src/templates/app/lib/___appName__/__appName__.signal.js +0 -15
- package/esm/src/templates/app/lib/___appName__/__appName__.store.js +0 -15
- package/esm/src/templates/app/lib/option.js +0 -27
- package/esm/src/templates/app/main.js +0 -19
- package/esm/src/templates/app/nest/backendLogic.js +0 -14
- package/esm/src/templates/app/nest/index.js +0 -9
- package/esm/src/templates/app/next/frontendLogic.js +0 -14
- package/esm/src/templates/app/next/index.js +0 -9
- package/esm/src/templates/app/package.json.template +0 -5
- package/esm/src/templates/app/postcss.config.js.template +0 -8
- package/esm/src/templates/app/proxy.js +0 -15
- package/esm/src/templates/app/public/favicon.ico +0 -0
- package/esm/src/templates/app/public/icons/icon-128x128.png +0 -0
- package/esm/src/templates/app/public/icons/icon-144x144.png +0 -0
- package/esm/src/templates/app/public/icons/icon-152x152.png +0 -0
- package/esm/src/templates/app/public/icons/icon-192x192.png +0 -0
- package/esm/src/templates/app/public/icons/icon-256x256.png +0 -0
- package/esm/src/templates/app/public/icons/icon-384x384.png +0 -0
- package/esm/src/templates/app/public/icons/icon-48x48.png +0 -0
- package/esm/src/templates/app/public/icons/icon-512x512.png +0 -0
- package/esm/src/templates/app/public/icons/icon-72x72.png +0 -0
- package/esm/src/templates/app/public/icons/icon-96x96.png +0 -0
- package/esm/src/templates/app/public/logo.svg +0 -70
- package/esm/src/templates/app/public/manifest.json.template +0 -67
- package/esm/src/templates/app/tsconfig.spec.json.template +0 -7
- package/esm/src/templates/app/ui/UiComponent.js +0 -18
- package/esm/src/templates/app/ui/index.js +0 -9
- package/esm/src/templates/client.js +0 -27
- package/esm/src/templates/crudPages/[__model__Id]/edit/page.js +0 -52
- package/esm/src/templates/crudPages/[__model__Id]/page.js +0 -58
- package/esm/src/templates/crudPages/new/page.js +0 -47
- package/esm/src/templates/crudPages/page.js +0 -48
- package/esm/src/templates/crudSinglePage/page.js +0 -42
- package/esm/src/templates/env/_env.server.type.js +0 -19
- package/esm/src/templates/index.js +0 -9
- package/esm/src/templates/lib/__lib/lib.constant.js +0 -37
- package/esm/src/templates/lib/__lib/lib.dictionary.js +0 -30
- package/esm/src/templates/lib/__lib/lib.document.js +0 -32
- package/esm/src/templates/lib/__lib/lib.service.js +0 -39
- package/esm/src/templates/lib/__lib/lib.signal.js +0 -35
- package/esm/src/templates/lib/__lib/lib.store.js +0 -32
- package/esm/src/templates/lib/cnst.js +0 -36
- package/esm/src/templates/lib/db.js +0 -33
- package/esm/src/templates/lib/sig.js +0 -51
- package/esm/src/templates/lib/srv.js +0 -30
- package/esm/src/templates/lib/st.js +0 -30
- package/esm/src/templates/lib/useClient.js +0 -20
- package/esm/src/templates/lib/useServer.js +0 -11
- package/esm/src/templates/libRoot/.gitignore.template +0 -16
- package/esm/src/templates/libRoot/akan.config.js +0 -13
- package/esm/src/templates/libRoot/base/baseLogic.js +0 -15
- package/esm/src/templates/libRoot/base/index.js +0 -9
- package/esm/src/templates/libRoot/common/commonLogic.js +0 -15
- package/esm/src/templates/libRoot/common/index.js +0 -9
- package/esm/src/templates/libRoot/env/env.server.example.ts.template +0 -6
- package/esm/src/templates/libRoot/env/env.server.testing.ts.template +0 -6
- package/esm/src/templates/libRoot/jest.config.js +0 -16
- package/esm/src/templates/libRoot/lib/___libName__/__libName__.service.js +0 -13
- package/esm/src/templates/libRoot/lib/___libName__/__libName__.store.js +0 -15
- package/esm/src/templates/libRoot/lib/option.js +0 -26
- package/esm/src/templates/libRoot/nest/backendLogic.js +0 -14
- package/esm/src/templates/libRoot/nest/index.js +0 -9
- package/esm/src/templates/libRoot/next/frontendLogic.js +0 -14
- package/esm/src/templates/libRoot/next/index.js +0 -9
- package/esm/src/templates/libRoot/package.json.template +0 -5
- package/esm/src/templates/libRoot/tsconfig.spec.json.template +0 -7
- package/esm/src/templates/libRoot/ui/index.js +0 -9
- package/esm/src/templates/localDev/docker-compose.yaml.template +0 -42
- package/esm/src/templates/module/__Model__.Unit.js +0 -23
- package/esm/src/templates/module/__Model__.Util.js +0 -27
- package/esm/src/templates/module/__model__.document.js +0 -26
- package/esm/src/templates/module/__model__.service.js +0 -13
- package/esm/src/templates/module/__model__.store.js +0 -18
- package/esm/src/templates/module/index.js +0 -41
- package/esm/src/templates/moduleRoot/index.js +0 -29
- package/esm/src/templates/pkgRoot/tsconfig.json.template +0 -15
- package/esm/src/templates/server.js +0 -67
- package/esm/src/templates/workspaceRoot/.env.template +0 -20
- package/esm/src/templates/workspaceRoot/.gitignore.template +0 -119
- package/esm/src/templates/workspaceRoot/.prettierignore.template +0 -10
- package/esm/src/templates/workspaceRoot/.prettierrc.json.template +0 -6
- package/esm/src/templates/workspaceRoot/.swcrc.template +0 -9
- package/esm/src/templates/workspaceRoot/.vscode/settings.json.template +0 -12
- package/esm/src/templates/workspaceRoot/README.md.template +0 -37
- package/esm/src/templates/workspaceRoot/eslint.config.ts.template +0 -3
- package/esm/src/templates/workspaceRoot/infra/app/Chart.yaml.template +0 -6
- package/esm/src/templates/workspaceRoot/infra/app/templates/frontend.yaml.template +0 -182
- package/esm/src/templates/workspaceRoot/infra/app/values/_common-values.yaml.template +0 -183
- package/esm/src/templates/workspaceRoot/package.json.template +0 -47
- package/esm/src/templates/workspaceRoot/tsconfig.json.template +0 -27
- package/index.d.ts +0 -2
- package/src/application/application.command.d.ts +0 -31
- package/src/application/application.interface.d.ts +0 -40
- package/src/application/application.runner.d.ts +0 -73
- package/src/application/application.script.d.ts +0 -83
- package/src/cloud/cloud.command.d.ts +0 -12
- package/src/cloud/cloud.runner.d.ts +0 -11
- package/src/cloud/cloud.script.d.ts +0 -11
- package/src/guideline/guideline.command.d.ts +0 -9
- package/src/guideline/guideline.prompt.d.ts +0 -29
- package/src/guideline/guideline.runner.d.ts +0 -19
- package/src/guideline/guideline.script.d.ts +0 -12
- package/src/guidelines/___library/sharedUiStructureDescription.en.md +0 -767
- package/src/guidelines/___library/utilUiStructureDescription.en.md +0 -395
- package/src/guidelines/___lint/lintRuleDescription.en.md +0 -64
- package/src/guidelines/___module/moduleStructureDescription.en.md +0 -80
- package/src/guidelines/componentRule/componentRule.instruction.md +0 -637
- package/src/guidelines/cssRule/cssRule.instruction.md +0 -435
- package/src/guidelines/databaseModule/databaseModule.instruction.md +0 -631
- package/src/guidelines/docPageRule/docPageRule.instruction.md +0 -389
- package/src/guidelines/enumConstant/enumConstant.instruction.md +0 -232
- package/src/guidelines/framework/framework.instruction.md +0 -1110
- package/src/guidelines/modelConstant/modelConstant.instruction.md +0 -506
- package/src/guidelines/modelDictionary/modelDictionary.instruction.md +0 -547
- package/src/guidelines/modelDocument/modelDocument.instruction.md +0 -659
- package/src/guidelines/modelService/modelService.instruction.md +0 -708
- package/src/guidelines/modelSignal/modelSignal.instruction.md +0 -552
- package/src/guidelines/modelStore/modelStore.instruction.md +0 -590
- package/src/guidelines/modelTemplate/modelTemplate.instruction.md +0 -604
- package/src/guidelines/modelUnit/modelUnit.instruction.md +0 -541
- package/src/guidelines/modelUtil/modelUtil.instruction.md +0 -752
- package/src/guidelines/modelView/modelView.instruction.md +0 -1005
- package/src/guidelines/modelZone/modelZone.instruction.md +0 -528
- package/src/guidelines/scalarConstant/scalarConstant.instruction.md +0 -442
- package/src/guidelines/scalarDictionary/scalarDictionary.instruction.md +0 -273
- package/src/guidelines/scalarModule/scalarModule.instruction.md +0 -81
- package/src/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -310
- package/src/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -339
- package/src/library/library.command.d.ts +0 -9
- package/src/library/library.runner.d.ts +0 -9
- package/src/library/library.script.d.ts +0 -9
- package/src/module/module.command.d.ts +0 -10
- package/src/module/module.prompt.d.ts +0 -13
- package/src/module/module.request.d.ts +0 -63
- package/src/module/module.runner.d.ts +0 -53
- package/src/module/module.script.d.ts +0 -17
- package/src/package/package.command.d.ts +0 -10
- package/src/package/package.runner.d.ts +0 -9
- package/src/package/package.script.d.ts +0 -10
- package/src/page/page.command.d.ts +0 -6
- package/src/page/page.runner.d.ts +0 -8
- package/src/page/page.script.d.ts +0 -9
- package/src/scalar/scalar.command.d.ts +0 -7
- package/src/scalar/scalar.prompt.d.ts +0 -23
- package/src/scalar/scalar.runner.d.ts +0 -14
- package/src/scalar/scalar.script.d.ts +0 -7
- package/src/templates/__scalar/__model__/__model__.constant.d.ts +0 -7
- package/src/templates/__scalar/__model__/__model__.dictionary.d.ts +0 -7
- package/src/templates/__scalar/__model__/__model__.document.d.ts +0 -7
- package/src/templates/app/akan.config.d.ts +0 -6
- package/src/templates/app/app/[lang]/layout.d.ts +0 -11
- package/src/templates/app/app/[lang]/page.d.ts +0 -9
- package/src/templates/app/app/csr.d.ts +0 -9
- package/src/templates/app/app/layout.d.ts +0 -9
- package/src/templates/app/app/robots.d.ts +0 -6
- package/src/templates/app/app/sitemap.d.ts +0 -6
- package/src/templates/app/base/baseLogic.d.ts +0 -6
- package/src/templates/app/base/index.d.ts +0 -6
- package/src/templates/app/common/commonLogic.d.ts +0 -6
- package/src/templates/app/common/index.d.ts +0 -6
- package/src/templates/app/env/env.client.d.ts +0 -6
- package/src/templates/app/env/env.client.type.d.ts +0 -6
- package/src/templates/app/env/env.server.d.ts +0 -6
- package/src/templates/app/instrumentation.d.ts +0 -6
- package/src/templates/app/jest.config.d.ts +0 -6
- package/src/templates/app/lib/___appName__/__appName__.dictionary.d.ts +0 -7
- package/src/templates/app/lib/___appName__/__appName__.service.d.ts +0 -7
- package/src/templates/app/lib/___appName__/__appName__.signal.d.ts +0 -7
- package/src/templates/app/lib/___appName__/__appName__.store.d.ts +0 -7
- package/src/templates/app/lib/option.d.ts +0 -6
- package/src/templates/app/main.d.ts +0 -6
- package/src/templates/app/nest/backendLogic.d.ts +0 -6
- package/src/templates/app/nest/index.d.ts +0 -6
- package/src/templates/app/next/frontendLogic.d.ts +0 -6
- package/src/templates/app/next/index.d.ts +0 -6
- package/src/templates/app/proxy.d.ts +0 -6
- package/src/templates/app/ui/UiComponent.d.ts +0 -9
- package/src/templates/app/ui/index.d.ts +0 -6
- package/src/templates/client.d.ts +0 -4
- package/src/templates/crudPages/[__model__Id]/edit/page.d.ts +0 -11
- package/src/templates/crudPages/[__model__Id]/page.d.ts +0 -11
- package/src/templates/crudPages/new/page.d.ts +0 -11
- package/src/templates/crudPages/page.d.ts +0 -11
- package/src/templates/crudSinglePage/page.d.ts +0 -11
- package/src/templates/env/_env.server.type.d.ts +0 -7
- package/src/templates/index.d.ts +0 -6
- package/src/templates/lib/__lib/lib.constant.d.ts +0 -4
- package/src/templates/lib/__lib/lib.dictionary.d.ts +0 -4
- package/src/templates/lib/__lib/lib.document.d.ts +0 -4
- package/src/templates/lib/__lib/lib.service.d.ts +0 -4
- package/src/templates/lib/__lib/lib.signal.d.ts +0 -4
- package/src/templates/lib/__lib/lib.store.d.ts +0 -4
- package/src/templates/lib/cnst.d.ts +0 -4
- package/src/templates/lib/db.d.ts +0 -4
- package/src/templates/lib/dict.d.ts +0 -4
- package/src/templates/lib/sig.d.ts +0 -4
- package/src/templates/lib/srv.d.ts +0 -4
- package/src/templates/lib/st.d.ts +0 -4
- package/src/templates/lib/useClient.d.ts +0 -4
- package/src/templates/lib/useServer.d.ts +0 -4
- package/src/templates/libRoot/akan.config.d.ts +0 -5
- package/src/templates/libRoot/base/baseLogic.d.ts +0 -5
- package/src/templates/libRoot/base/index.d.ts +0 -5
- package/src/templates/libRoot/common/commonLogic.d.ts +0 -5
- package/src/templates/libRoot/common/index.d.ts +0 -5
- package/src/templates/libRoot/jest.config.d.ts +0 -6
- package/src/templates/libRoot/lib/___libName__/__libName__.dictionary.d.ts +0 -6
- package/src/templates/libRoot/lib/___libName__/__libName__.service.d.ts +0 -6
- package/src/templates/libRoot/lib/___libName__/__libName__.store.d.ts +0 -6
- package/src/templates/libRoot/lib/option.d.ts +0 -6
- package/src/templates/libRoot/nest/backendLogic.d.ts +0 -5
- package/src/templates/libRoot/nest/index.d.ts +0 -5
- package/src/templates/libRoot/next/frontendLogic.d.ts +0 -5
- package/src/templates/libRoot/next/index.d.ts +0 -5
- package/src/templates/libRoot/ui/index.d.ts +0 -5
- package/src/templates/module/__Model__.Template.d.ts +0 -11
- package/src/templates/module/__Model__.Unit.d.ts +0 -11
- package/src/templates/module/__Model__.Util.d.ts +0 -11
- package/src/templates/module/__Model__.View.d.ts +0 -11
- package/src/templates/module/__Model__.Zone.d.ts +0 -11
- package/src/templates/module/__model__.constant.d.ts +0 -8
- package/src/templates/module/__model__.dictionary.d.ts +0 -8
- package/src/templates/module/__model__.document.d.ts +0 -8
- package/src/templates/module/__model__.service.d.ts +0 -8
- package/src/templates/module/__model__.signal.d.ts +0 -9
- package/src/templates/module/__model__.store.d.ts +0 -8
- package/src/templates/module/index.d.ts +0 -11
- package/src/templates/moduleRoot/index.d.ts +0 -11
- package/src/templates/server.d.ts +0 -4
- package/src/workspace/workspace.command.d.ts +0 -12
- package/src/workspace/workspace.runner.d.ts +0 -13
- package/src/workspace/workspace.script.d.ts +0 -24
- package/ui/MultiScrollList.d.ts +0 -14
- /package/{cjs/src/templates → templates}/app/package.json.template +0 -0
- /package/{cjs/src/templates → templates}/libRoot/.gitignore.template +0 -0
- /package/{cjs/src/templates → templates}/libRoot/env/env.server.example.ts.template +0 -0
- /package/{cjs/src/templates → templates}/libRoot/env/env.server.testing.ts.template +0 -0
- /package/{cjs/src/templates → templates}/libRoot/package.json.template +0 -0
- /package/{cjs/src/templates → templates}/libRoot/tsconfig.json.template +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# model.document.ts Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate persistence behavior for a collection-backed Akan module. This file turns constant types into stored documents, query helpers, indexes, hooks, and model-level database helpers.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- Define `ModelFilter` with `from(cnst.Model, (filter) => ({ query, sort }))` for reusable list and lookup conditions.
|
|
8
|
+
- Define `Model` with `by(cnst.Model)` for behavior of one loaded document.
|
|
9
|
+
- Define `ModelModel` with `into(Model, ModelFilter, cnst.model, () => ({ ... }))` for collection-level helpers and schema options.
|
|
10
|
+
- Document methods should mutate `this`, use `this.set(...)` for multi-field changes, and return `this` for chaining.
|
|
11
|
+
- Model helpers should coordinate database lookups that are reused by services.
|
|
12
|
+
|
|
13
|
+
## Current Akan Patterns
|
|
14
|
+
- Query names become generated helpers such as list, find, pick, exists, count, and insight variants.
|
|
15
|
+
- Use filter args for required query inputs and optional args only when absence has a clear query meaning.
|
|
16
|
+
- Use schema indexes for fields that are frequently filtered, sorted, uniquely constrained, or text searched.
|
|
17
|
+
- Use hooks for persistence lifecycle behavior that must always run with document saves.
|
|
18
|
+
|
|
19
|
+
## Codegen Rules
|
|
20
|
+
- Do not put API guards, page-specific fetch behavior, or UI state in document files.
|
|
21
|
+
- Do not duplicate built-in all/latest/oldest behavior unless a business-specific sort is required.
|
|
22
|
+
- Keep document methods small and deterministic; put cross-document workflows in service.
|
|
23
|
+
- Index only query paths that are actually used by documented filters or lookups.
|
|
24
|
+
|
|
25
|
+
## Review Checklist
|
|
26
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
27
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
28
|
+
- The output contract tells the model which file paths to return.
|
|
29
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model Service",
|
|
3
|
+
"description": "Module service generation rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/service.tsx",
|
|
6
|
+
"codegenPriority": 2,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model Service",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/service.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelService.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/service.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# model.service.ts Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate server-side business workflows. A service decides which documents to load, how document methods compose, which other services are needed, and when to save results.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- A database service extends the current `serve(db.model, ({ use, service }) => ({ ... }))` pattern used in nearby modules.
|
|
8
|
+
- Use generated document helpers for CRUD, list, query, count, insight, search, and load operations.
|
|
9
|
+
- Use injected services for cross-domain work instead of importing and constructing service classes manually.
|
|
10
|
+
- Use injected utilities or options for external APIs, configuration, queues, and infrastructure dependencies.
|
|
11
|
+
|
|
12
|
+
## Current Akan Patterns
|
|
13
|
+
- Put multi-step business workflows in service, not signal or UI.
|
|
14
|
+
- Load documents through generated helpers, call document instance methods, then save once when practical.
|
|
15
|
+
- Throw clear domain errors when invariants fail.
|
|
16
|
+
- Return typed constants or documents that signal and store can serialize safely.
|
|
17
|
+
|
|
18
|
+
## Codegen Rules
|
|
19
|
+
- Do not keep persistent mutable state on the service instance.
|
|
20
|
+
- Do not duplicate query definitions that belong in document filters.
|
|
21
|
+
- Do not expose service methods directly to pages; expose them through signal endpoints or slices.
|
|
22
|
+
- Do not hide authorization decisions here when they belong in signal guards, but service may still enforce domain invariants.
|
|
23
|
+
|
|
24
|
+
## Review Checklist
|
|
25
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
26
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
27
|
+
- The output contract tells the model which file paths to return.
|
|
28
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model Signal",
|
|
3
|
+
"description": "Module signal generation rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/signal.tsx",
|
|
6
|
+
"codegenPriority": 2,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model Signal",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/signal.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelSignal.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/signal.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# model.signal.ts Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate the page-callable API surface for a module. Signal classes expose internal tasks, list/detail slices, endpoints, realtime channels, and resolved field handlers.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- `Internal` is for scheduled, queued, or server-only behavior.
|
|
8
|
+
- `Slice` is for page data loading: lists, insights, detail views, pagination, filters, and guards.
|
|
9
|
+
- `Endpoint` is for user actions such as create, update, submit, approve, archive, sync, or upload.
|
|
10
|
+
- The exported signal registry class ties internal, endpoint, and slice classes to the model constant.
|
|
11
|
+
|
|
12
|
+
## Current Akan Patterns
|
|
13
|
+
- Use guards at root/get/cru/action boundaries so generated fetch clients inherit correct access rules.
|
|
14
|
+
- Slices should call service methods and return model constants, light models, insights, or serializable DTOs.
|
|
15
|
+
- Endpoints should call service workflows and return the updated model or action result.
|
|
16
|
+
- Name slices and endpoints after user-visible behavior, not transport details.
|
|
17
|
+
|
|
18
|
+
## Codegen Rules
|
|
19
|
+
- Do not place business workflows in signal when service can own them.
|
|
20
|
+
- Do not expose internal-only operations as public endpoints.
|
|
21
|
+
- Do not bypass generated fetch/store conventions with ad hoc network calls.
|
|
22
|
+
- Keep argument names stable because dictionary, docs, and generated clients depend on them.
|
|
23
|
+
|
|
24
|
+
## Review Checklist
|
|
25
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
26
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
27
|
+
- The output contract tells the model which file paths to return.
|
|
28
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model Store",
|
|
3
|
+
"description": "Module store generation rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/store.tsx",
|
|
6
|
+
"codegenPriority": 2,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model Store",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/store.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelStore.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/store.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# model.store.ts Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate client state coordination for a module. Store connects generated fetch calls to form state, list state, detail state, toast messages, and UI-facing actions.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- Create the store with the current `stateOf(fetch.model, customState)` pattern used by nearby modules.
|
|
8
|
+
- Use generated `st.use.*` selectors in UI and generated `st.do.*` actions for state changes.
|
|
9
|
+
- Keep temporary UI state, selected IDs, query args, and form state in store when shared across components.
|
|
10
|
+
- Call generated fetch endpoints from store actions rather than directly inside presentation components.
|
|
11
|
+
|
|
12
|
+
## Current Akan Patterns
|
|
13
|
+
- Use store actions for submit, refresh, pagination, filter changes, dialog-confirmed actions, and optimistic UI updates.
|
|
14
|
+
- Use generated field setters for Template form inputs where available.
|
|
15
|
+
- Keep server invariants in service; store should coordinate user interaction and client state.
|
|
16
|
+
- Use user-facing messages consistently with dictionary terms.
|
|
17
|
+
|
|
18
|
+
## Codegen Rules
|
|
19
|
+
- Do not duplicate server data shape as independent client interfaces.
|
|
20
|
+
- Do not store derived values that can be computed cheaply from existing state.
|
|
21
|
+
- Do not perform persistence logic in React components when a store action can own it.
|
|
22
|
+
- Do not call private or internal signal operations from UI state.
|
|
23
|
+
|
|
24
|
+
## Review Checklist
|
|
25
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
26
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
27
|
+
- The output contract tells the model which file paths to return.
|
|
28
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model Template",
|
|
3
|
+
"description": "Module form UI generation rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/template.tsx",
|
|
6
|
+
"codegenPriority": 3,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model Template",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/template.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelTemplate.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/template.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Model.Template.tsx Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate form and interaction fragments bound to store form state and generated setters.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- Template owns create/edit form pieces and reusable input groups.
|
|
8
|
+
- It may use store hooks and generated setters when it is a client component.
|
|
9
|
+
- It should not own persistence workflow decisions.
|
|
10
|
+
|
|
11
|
+
## Current Akan Patterns
|
|
12
|
+
- Use dictionary-backed labels and descriptions.
|
|
13
|
+
- Use generated form state and setter actions.
|
|
14
|
+
- Split repeated scalar editors into scalar Template files when reusable.
|
|
15
|
+
|
|
16
|
+
## Codegen Rules
|
|
17
|
+
- Do not call service or signal directly from inputs.
|
|
18
|
+
- Do not duplicate validation that belongs in constants or service invariants.
|
|
19
|
+
- Do not build page layout here when Zone should compose it.
|
|
20
|
+
|
|
21
|
+
## Review Checklist
|
|
22
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
23
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
24
|
+
- The output contract tells the model which file paths to return.
|
|
25
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model Unit",
|
|
3
|
+
"description": "Module compact display UI rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/unit.tsx",
|
|
6
|
+
"codegenPriority": 3,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model Unit",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/unit.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelUnit.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/unit.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Model.Unit.tsx Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate compact reusable light-model displays such as cards, rows, avatars, badges, and summaries.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- Unit owns repeated display of light model data.
|
|
8
|
+
- It may accept navigation props or small display options.
|
|
9
|
+
- It should stay reusable across list and relation contexts.
|
|
10
|
+
|
|
11
|
+
## Current Akan Patterns
|
|
12
|
+
- Use LightModel fields only unless a full model prop is explicitly passed.
|
|
13
|
+
- Prefer small named components over one large card with every variant.
|
|
14
|
+
- Use Link when navigation is part of the unit.
|
|
15
|
+
|
|
16
|
+
## Codegen Rules
|
|
17
|
+
- Do not fetch data or mutate state in Unit.
|
|
18
|
+
- Do not assume full-model fields are available on light models.
|
|
19
|
+
- Do not hide action workflows in list display.
|
|
20
|
+
|
|
21
|
+
## Review Checklist
|
|
22
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
23
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
24
|
+
- The output contract tells the model which file paths to return.
|
|
25
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model Util",
|
|
3
|
+
"description": "Module utility UI rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/util.tsx",
|
|
6
|
+
"codegenPriority": 3,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model Util",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/util.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelUtil.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/util.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Model.Util.tsx Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate small model-specific client controls such as action buttons, toolbars, dialogs, query panels, and navigation helpers.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- Util owns interactive helpers that are too small to be a Zone.
|
|
8
|
+
- It may call store actions and open dialogs.
|
|
9
|
+
- It should stay model-specific and composable.
|
|
10
|
+
|
|
11
|
+
## Current Akan Patterns
|
|
12
|
+
- Use dictionary text for confirmations and action labels.
|
|
13
|
+
- Keep destructive actions explicit and confirmable.
|
|
14
|
+
- Prefer store actions over inline fetch calls.
|
|
15
|
+
|
|
16
|
+
## Codegen Rules
|
|
17
|
+
- Do not put large page layout in Util.
|
|
18
|
+
- Do not duplicate Template form code.
|
|
19
|
+
- Do not bypass guards or server-side invariants.
|
|
20
|
+
|
|
21
|
+
## Review Checklist
|
|
22
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
23
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
24
|
+
- The output contract tells the model which file paths to return.
|
|
25
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model View",
|
|
3
|
+
"description": "Module full detail UI rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/view.tsx",
|
|
6
|
+
"codegenPriority": 3,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model View",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/view.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelView.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/view.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Model.View.tsx Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate full-model detail displays for detail pages, view modals, and sections needing complete model data.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- View owns presentation of one full model.
|
|
8
|
+
- It can compose Unit displays for related light models.
|
|
9
|
+
- It should show data clearly without owning page-level state.
|
|
10
|
+
|
|
11
|
+
## Current Akan Patterns
|
|
12
|
+
- Use full model props and render important fields, relations, and resolved values.
|
|
13
|
+
- Use dictionary terms for field labels where possible.
|
|
14
|
+
- Keep display variants named by layout or purpose.
|
|
15
|
+
|
|
16
|
+
## Codegen Rules
|
|
17
|
+
- Do not perform click workflows here; wrap with Util or Zone when interaction is needed.
|
|
18
|
+
- Do not fetch data inside View.
|
|
19
|
+
- Do not omit core model fields when the view claims to be general.
|
|
20
|
+
|
|
21
|
+
## Review Checklist
|
|
22
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
23
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
24
|
+
- The output contract tells the model which file paths to return.
|
|
25
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Model Zone",
|
|
3
|
+
"description": "Module page section UI rules",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/zone.tsx",
|
|
6
|
+
"codegenPriority": 3,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Model Zone",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/zone.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./modelZone.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/zone.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Model.Zone.tsx Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Generate page sections that compose loaders, lists, views, templates, utilities, and section-level UI state.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- Zone owns page-level composition around one model.
|
|
8
|
+
- It coordinates Load wrappers, Unit/View display, Util controls, and section layout.
|
|
9
|
+
- It may hold local UI state that is only meaningful for the section.
|
|
10
|
+
|
|
11
|
+
## Current Akan Patterns
|
|
12
|
+
- Use store selectors and actions to connect data to the section.
|
|
13
|
+
- Split display into Unit/View and controls into Util before Zone grows too large.
|
|
14
|
+
- Name zones after page sections or user tasks.
|
|
15
|
+
|
|
16
|
+
## Codegen Rules
|
|
17
|
+
- Do not put low-level input groups here when Template owns them.
|
|
18
|
+
- Do not duplicate Unit or View display code.
|
|
19
|
+
- Do not implement service workflow logic in Zone.
|
|
20
|
+
|
|
21
|
+
## Review Checklist
|
|
22
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
23
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
24
|
+
- The output contract tells the model which file paths to return.
|
|
25
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Module Codegen",
|
|
3
|
+
"description": "AI module generation orchestration",
|
|
4
|
+
"group": "module",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/overview.tsx",
|
|
6
|
+
"codegenPriority": 1,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Module Codegen",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/overview.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./moduleCodegen.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/overview.tsx"
|
|
37
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Module Codegen Orchestration Guideline
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
Use this to orchestrate AI-assisted module creation. The model should emit small, parseable file blocks and preserve Akan ownership boundaries.
|
|
5
|
+
|
|
6
|
+
## Ownership
|
|
7
|
+
- Input description explains the business object, lifecycle, actions, queries, UI needs, and relations.
|
|
8
|
+
- The first output pass should prioritize data shape and persistence over decorative UI.
|
|
9
|
+
- Each returned code block must start with `// File: <relative path>` so `AiSession.writeTypescripts()` can parse it.
|
|
10
|
+
- Generated files must target `lib/<model>/...` or `lib/__scalar/<scalar>/...` only unless explicitly requested.
|
|
11
|
+
|
|
12
|
+
## Current Akan Patterns
|
|
13
|
+
- Phase 1: generate or update `model.constant.ts`, `model.dictionary.ts`, and `model.document.ts`.
|
|
14
|
+
- Phase 2: generate service, signal, and store only when there are business workflows or page-callable actions.
|
|
15
|
+
- Phase 3: generate UI files only after store/signal data flow is known.
|
|
16
|
+
- Use docs-backed examples from the current app and connected libs before inventing patterns.
|
|
17
|
+
|
|
18
|
+
## Codegen Rules
|
|
19
|
+
- Return only file blocks for writes, plus no prose in codegen responses unless explicitly requested.
|
|
20
|
+
- Prefer conservative defaults: one useful query, one insight only if analytics are requested, and minimal UI variants.
|
|
21
|
+
- Avoid broad abstractions; create helper functions only when they remove clear duplication inside the target module.
|
|
22
|
+
- When unsure whether a value should be scalar or module, choose scalar for embedded value objects and module for independent lifecycle or permissions.
|
|
23
|
+
|
|
24
|
+
## Review Checklist
|
|
25
|
+
- The instruction points to current docs pages, not removed docs routes.
|
|
26
|
+
- Generated examples use current Akan builder APIs and scanner-friendly filenames.
|
|
27
|
+
- The output contract tells the model which file paths to return.
|
|
28
|
+
- The guide avoids broad framework essays when a concrete file rule is better.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Module Overview",
|
|
3
|
+
"description": "Module file roles and growth order",
|
|
4
|
+
"group": "core",
|
|
5
|
+
"docsSource": "apps/angelo/page/akanjs/(docs)/conventions/module/overview.tsx",
|
|
6
|
+
"codegenPriority": 1,
|
|
7
|
+
"deprecated": false,
|
|
8
|
+
"scans": [
|
|
9
|
+
{
|
|
10
|
+
"type": "docs",
|
|
11
|
+
"description": "Current docs source for Module Overview",
|
|
12
|
+
"path": "apps/angelo/page/akanjs/(docs)/conventions/module/overview.tsx"
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"type": "example",
|
|
16
|
+
"description": "Existing Akan implementation examples",
|
|
17
|
+
"path": "{apps,libs}/*/lib/**/*.ts",
|
|
18
|
+
"sample": 4
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"update": {
|
|
22
|
+
"filePath": "./moduleOverview.instruction.md",
|
|
23
|
+
"contents": [
|
|
24
|
+
"purpose",
|
|
25
|
+
"file ownership",
|
|
26
|
+
"current API patterns",
|
|
27
|
+
"codegen rules",
|
|
28
|
+
"validation checklist"
|
|
29
|
+
],
|
|
30
|
+
"rules": [
|
|
31
|
+
"Use current Akan APIs only",
|
|
32
|
+
"Keep output parseable for codegen",
|
|
33
|
+
"Include ownership boundaries and review checklist"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"page": "apps/angelo/page/akanjs/(docs)/conventions/module/overview.tsx"
|
|
37
|
+
}
|