@akanjs/cli 3.0.0-beta.2 → 3.0.0-beta.20
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/.build-stamp +1 -1
- package/CodeAgent-awv258wb.js +9 -0
- package/CodeAgentRpcHost-p7h6n2hp.js +7 -0
- package/CodeAgentRpcListener-7p7z5dd7.js +97 -0
- package/CodeTui-1nqh35ez.js +1457 -0
- package/README.md +3 -0
- package/TunnelShare-scf4e4pd.js +9 -0
- package/{agent.command-d2gfxfck.js → agent.command-1s9ag7sb.js} +8 -9
- package/akanCode.js +102 -0
- package/{application.command-pj2m7584.js → application.command-49hwy6va.js} +51 -78
- package/{applicationBuildRunner-kxwbssgn.js → applicationBuildRunner-ybyp97pv.js} +63 -64
- package/{applicationReleasePackager-4yasxwv9.js → applicationReleasePackager-esnrphw8.js} +40 -60
- package/buildBatch.proc.js +19 -24
- package/{capacitorApp-36rbr858.js → capacitorApp-1synz4en.js} +3 -4
- package/cloud.command-d7rqtzt9.js +94 -0
- package/cloud.script-bkbpcr96.js +19 -0
- package/code.command-nn48xzej.js +154 -0
- package/commandManifest.json +1 -1
- package/consoleToStderr-h5bryj94.js +7 -0
- package/context.command-s3mcmvpa.js +48 -0
- package/context.runner-k99nb5pk.js +21 -0
- package/{dependencyScanner-shs82ynp.js → dependencyScanner-ye2e6pdz.js} +2 -2
- package/{devTui-40ggmd99.js → devTui-q7k7bakd.js} +122 -40
- package/fileSys-5ngz93ga.js +9 -0
- package/guideline.command-sct4qnt5.js +42 -0
- package/guidelines/agentRule/agentRule.instruction.md +206 -25
- package/guidelines/conventions/conventions.instruction.md +79 -24
- package/guidelines/fieldRule/fieldRule.instruction.md +1 -0
- package/guidelines/mcpRule/mcpRule.instruction.md +7 -5
- package/guidelines/queryRule/queryRule.instruction.md +17 -7
- package/guidelines/runtimeRule/runtimeRule.instruction.md +74 -0
- package/guidelines/ssrRule/ssrRule.instruction.md +4 -2
- package/guidelines/transportRule/transportRule.instruction.md +51 -0
- package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +66 -3
- package/incrementalBuilder.proc.js +31 -48
- package/{index-h7yw2z9n.js → index-0bq14vr1.js} +8 -14
- package/index-13ffe9wp.js +69 -0
- package/index-22d57v4c.js +266 -0
- package/{index-fz5q3gd7.js → index-31yr441d.js} +10 -17
- package/index-3hx1z96c.js +87 -0
- package/index-3sq321ak.js +53 -0
- package/{index-kcxmv48c.js → index-3t7g9e4r.js} +45 -79
- package/{index-q0y2jq9j.js → index-5b6tavv3.js} +6 -3
- package/{index-47pj3aee.js → index-5e0n4hqx.js} +11 -12
- package/{index-259dsnz3.js → index-5pc1qrbv.js} +5 -8
- package/index-7md2g9vw.js +6 -0
- package/index-8mna0947.js +187 -0
- package/{index-zry5nz81.js → index-8sf7wmdr.js} +51 -30
- package/{index-2tv3fdx4.js → index-9d9bgcx4.js} +342 -765
- package/index-9dp031by.js +12 -0
- package/{index-ne2qy0nk.js → index-ahemdr5n.js} +12 -12
- package/{index-ws5e0j51.js → index-as7xmyz8.js} +40 -24
- package/index-axzjaqve.js +1118 -0
- package/{index-3d9y066c.js → index-bjwxs904.js} +9 -8
- package/index-c6eggbee.js +123 -0
- package/index-d2242ksy.js +99 -0
- package/{index-a64esmtb.js → index-ddxvdd1p.js} +169 -305
- package/{index-92zztqy1.js → index-dy0jx9ay.js} +2 -17
- package/{index-pnqbkf5p.js → index-dzf3r49a.js} +6 -2
- package/{index-w8kmx1b6.js → index-fgq75haa.js} +198 -290
- package/{index-by5gpp8x.js → index-hj6w4ka1.js} +2 -1
- package/{index-hwkygn9s.js → index-khpfpcsd.js} +302 -33
- package/{index-wt7qrtd4.js → index-mxav6j3c.js} +93 -232
- package/{index-gyd220p2.js → index-myhc3c1j.js} +554 -577
- package/{index-600zhnve.js → index-nv5976x3.js} +56 -197
- package/index-p6pbz9n5.js +25 -0
- package/{index-4edzf1gr.js → index-przybvy5.js} +77 -150
- package/index-smme4r47.js +49 -0
- package/{index-mak3cd28.js → index-w2zdcw3k.js} +137 -255
- package/index-wa5jbxj1.js +760 -0
- package/{index-v0qh106m.js → index-ww4z397j.js} +527 -723
- package/{index-j9yhg404.js → index-xqjwd384.js} +4 -7
- package/{index-7737gxcp.js → index-xqpzbab5.js} +107 -241
- package/index-xsjh6nzh.js +2729 -0
- package/{index-ktb5njgy.js → index-ygn77a5w.js} +47 -99
- package/index-ztp3e73t.js +700 -0
- package/index.js +23 -22
- package/{library.command-nbsky672.js → library.command-1gx04jgn.js} +4 -5
- package/{localRegistry.command-yeq57wjr.js → localRegistry.command-zndxj1q6.js} +22 -42
- package/{module.command-29vqzrh8.js → module.command-3waddk95.js} +8 -11
- package/{package.command-axv0abmn.js → package.command-zrc7br1y.js} +6 -7
- package/package.json +14 -5
- package/{page.command-vs9s3zrh.js → page.command-vpjgardh.js} +4 -5
- package/{primitive.command-cbxmqbtc.js → primitive.command-sz84tk4t.js} +9 -22
- package/prompter-ptaa3nk0.js +8 -0
- package/{quality.command-gmbs7nws.js → quality.command-g869hafs.js} +203 -376
- package/{recipeScanner-fpagtgc1.js → recipeScanner-4b69ybe0.js} +1 -1
- package/{repair.command-bqsjptsj.js → repair.command-chsnjvvv.js} +11 -35
- package/{routeSourceValidator-apyqw7wk.js → routeSourceValidator-7ycnfz0e.js} +0 -6
- package/{scalar.command-6k1vhe9s.js → scalar.command-2v21newx.js} +7 -10
- package/skills/akan-code/SKILL.md +130 -0
- package/skills/akan-debug/SKILL.md +42 -0
- package/skills/akan-deps/SKILL.md +50 -0
- package/skills/akan-err/SKILL.md +39 -0
- package/skills/akan-module/SKILL.md +45 -0
- package/skills/akan-scaffold/SKILL.md +76 -0
- package/skills/akan-scalar/SKILL.md +52 -0
- package/skills/akan-service/SKILL.md +34 -0
- package/skills/akan-store/SKILL.md +67 -0
- package/skills/akan-ui/SKILL.md +63 -0
- package/skills/akan-validate/SKILL.md +44 -0
- package/{subspace.command-fwjfcts7.js → subspace.command-ckcbwfp1.js} +138 -67
- package/templates/__scalar/__model__/__model__.abstract.md.template +8 -0
- package/templates/appSample/lib/__scalar/workHistory/workHistory.abstract.ts +8 -39
- package/templates/appSample/lib/_noti/noti.abstract.ts +6 -29
- package/templates/appSample/lib/task/task.abstract.ts +12 -32
- package/templates/appSample/lib/task/task.signal.spec.ts +15 -18
- package/templates/appSample/lib/task/task.signal.test.ts +15 -1
- package/templates/appSample/lib/task/task.signal.ts +1 -1
- package/templates/appSample/srvkit/{AuthGuard.ts → guards.ts} +7 -4
- package/templates/appSample/srvkit/{SessionInternalArg.ts → internalArgs.ts} +6 -4
- package/templates/client.ts +7 -30
- package/templates/crudPages/[__model__Id]/edit/page.tsx +2 -1
- package/templates/crudPages/[__model__Id]/page.tsx +2 -1
- package/templates/crudPages/new/page.tsx +2 -1
- package/templates/crudPages/page.tsx +2 -1
- package/templates/crudSinglePage/page.tsx +2 -1
- package/templates/lib/__lib/lib.dictionary.ts +0 -2
- package/templates/lib/__lib/lib.document.ts +0 -2
- package/templates/lib/sig.ts +8 -30
- package/templates/localDev/docker-compose.yaml.template +3 -14
- package/templates/module/__model__.signal.ts +12 -4
- package/templates/pkgRoot/tsconfig.json.template +2 -7
- package/templates/server.ts +0 -2
- package/templates/service/__model__.abstract.md.template +8 -0
- package/tunnel.command-kd2yr4fx.js +129 -0
- package/{typeChecker-3xgrzc2v.js → typeChecker-px49mezc.js} +1 -1
- package/typecheck.proc.js +1 -1
- package/workflow.command-44252cqv.js +79 -0
- package/{workspace.command-8s050m0h.js → workspace.command-fqcztt5p.js} +77 -109
- package/abstractCompactor-mjh5ppsq.js +0 -101
- package/cloud.command-jshwdq22.js +0 -93
- package/context.command-ez8a0zyz.js +0 -80
- package/devTuiView-c08ccbat.js +0 -9
- package/getDirname-dr3jz1xg.js +0 -7
- package/guideline.command-xmqwx8zm.js +0 -359
- package/guidelines/agentRule/agentRule.generate.json +0 -31
- package/guidelines/componentRule/componentRule.generate.json +0 -31
- package/guidelines/conventions/conventions.generate.json +0 -25
- package/guidelines/cssRule/cssRule.generate.json +0 -31
- package/guidelines/docPageRule/docPageRule.generate.json +0 -31
- package/guidelines/docPageRule/docPageRule.instruction.md +0 -25
- package/guidelines/docSyncRule/docSyncRule.generate.json +0 -31
- package/guidelines/docSyncRule/docSyncRule.instruction.md +0 -25
- package/guidelines/enumConstant/enumConstant.generate.json +0 -31
- package/guidelines/enumConstant/enumConstant.instruction.md +0 -28
- package/guidelines/fieldRule/fieldRule.generate.json +0 -31
- package/guidelines/framework/framework.generate.json +0 -32
- package/guidelines/mcpRule/mcpRule.generate.json +0 -35
- package/guidelines/modelConstant/modelConstant.generate.json +0 -32
- package/guidelines/modelDictionary/modelDictionary.generate.json +0 -32
- package/guidelines/modelDocument/modelDocument.generate.json +0 -31
- package/guidelines/modelService/modelService.generate.json +0 -31
- package/guidelines/modelSignal/modelSignal.generate.json +0 -31
- package/guidelines/modelStore/modelStore.generate.json +0 -31
- package/guidelines/modelTemplate/modelTemplate.generate.json +0 -31
- package/guidelines/modelUnit/modelUnit.generate.json +0 -31
- package/guidelines/modelUtil/modelUtil.generate.json +0 -31
- package/guidelines/modelView/modelView.generate.json +0 -31
- package/guidelines/modelZone/modelZone.generate.json +0 -31
- package/guidelines/moduleCodegen/moduleCodegen.generate.json +0 -31
- package/guidelines/moduleCodegen/moduleCodegen.instruction.md +0 -28
- package/guidelines/moduleOverview/moduleOverview.generate.json +0 -31
- package/guidelines/queryRule/queryRule.generate.json +0 -31
- package/guidelines/recipeRule/recipeRule.generate.json +0 -31
- package/guidelines/runtimeRule/runtimeRule.generate.json +0 -25
- package/guidelines/scalarConstant/scalarConstant.generate.json +0 -32
- package/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -32
- package/guidelines/scalarModule/scalarModule.generate.json +0 -31
- package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -31
- package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -25
- package/guidelines/ssrRule/ssrRule.generate.json +0 -31
- package/guidelines/transportRule/transportRule.generate.json +0 -31
- package/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -31
- package/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -25
- package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +0 -24
- package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +0 -33
- package/index-2hq52jq3.js +0 -465
- package/index-6wwzs1bc.js +0 -7
- package/index-8pm30m73.js +0 -841
- package/index-kn1h7p1x.js +0 -560
- package/index-meh558jy.js +0 -65
- package/index-rwg2aa4f.js +0 -229
- package/templates/__scalar/__model__/__model__.abstract.md +0 -28
- package/templates/module/__model__.abstract.md +0 -28
- package/templates/service/__model__.abstract.md +0 -28
- package/workflow.command-nwpcdc8p.js +0 -107
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Module Codegen",
|
|
3
|
-
"description": "AI module generation orchestration",
|
|
4
|
-
"group": "module",
|
|
5
|
-
"docsSource": "apps/akan/page/(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/akan/page/(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": ["purpose", "file ownership", "current API patterns", "codegen rules", "validation checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Keep output parseable for codegen",
|
|
27
|
-
"Include ownership boundaries and review checklist"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"page": "apps/akan/page/(docs)/conventions/module/overview.tsx"
|
|
31
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
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.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Module Overview",
|
|
3
|
-
"description": "Module file roles and growth order",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"docsSource": "apps/akan/page/(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/akan/page/(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": ["purpose", "file ownership", "current API patterns", "codegen rules", "validation checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Keep output parseable for codegen",
|
|
27
|
-
"Include ownership boundaries and review checklist"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"page": "apps/akan/page/(docs)/conventions/module/overview.tsx"
|
|
31
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Query Rule",
|
|
3
|
-
"description": "Akan data access — filters, slices and hydration, full-text search, and cascade removal",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"codegenPriority": 4,
|
|
6
|
-
"deprecated": false,
|
|
7
|
-
"scans": [
|
|
8
|
-
{
|
|
9
|
-
"type": "example",
|
|
10
|
-
"description": "Filter and model declarations that drive the generated query surface",
|
|
11
|
-
"path": "{apps,libs}/*/lib/*/*.document.ts",
|
|
12
|
-
"sample": 4
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"type": "example",
|
|
16
|
-
"description": "Slice declarations that expose a query to a client store",
|
|
17
|
-
"path": "{apps,libs}/*/lib/*/*.signal.ts",
|
|
18
|
-
"sample": 4
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"update": {
|
|
22
|
-
"filePath": "./queryRule.instruction.md",
|
|
23
|
-
"contents": ["slices and hydration", "generated filter methods", "text search", "cascade removal"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"State the rule and the reason it exists, never restate a type signature",
|
|
27
|
-
"Say which generated methods fire hooks and which do not",
|
|
28
|
-
"Keep it workspace-neutral — no app or repo names"
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Recipe Rule",
|
|
3
|
-
"description": "Akan UI recipe authoring and consumption rules (reusable-look layer)",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"docsSource": "apps/akan/page/(docs)/docs/arch/ui-recipe.tsx",
|
|
6
|
-
"codegenPriority": 3,
|
|
7
|
-
"deprecated": false,
|
|
8
|
-
"scans": [
|
|
9
|
-
{
|
|
10
|
-
"type": "docs",
|
|
11
|
-
"description": "Current docs source for Recipe Rule",
|
|
12
|
-
"path": "apps/akan/page/(docs)/docs/arch/ui-recipe.tsx"
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"type": "example",
|
|
16
|
-
"description": "Existing recipe definitions",
|
|
17
|
-
"path": "{apps,libs}/*/ui/Recipe/*.ts",
|
|
18
|
-
"sample": 4
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"update": {
|
|
22
|
-
"filePath": "./recipeRule.instruction.md",
|
|
23
|
-
"contents": ["purpose", "ownership", "consuming", "authoring", "codegen rules", "review checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Keep output parseable for codegen",
|
|
27
|
-
"Include ownership boundaries and review checklist"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"page": "apps/akan/page/(docs)/docs/arch/ui-recipe.tsx"
|
|
31
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Runtime Rule",
|
|
3
|
-
"description": "Akan build and runtime surfaces — web/csr toggles, the gateway/solo process model, logging, the generated image, and shipped assets",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"codegenPriority": 4,
|
|
6
|
-
"deprecated": false,
|
|
7
|
-
"scans": [
|
|
8
|
-
{
|
|
9
|
-
"type": "example",
|
|
10
|
-
"description": "App and lib runtime declarations",
|
|
11
|
-
"path": "{apps,libs}/*/akan.config.ts",
|
|
12
|
-
"sample": 4
|
|
13
|
-
}
|
|
14
|
-
],
|
|
15
|
-
"update": {
|
|
16
|
-
"filePath": "./runtimeRule.instruction.md",
|
|
17
|
-
"contents": ["web surface toggles", "process model", "logging and live tail", "generated image", "shipped assets"],
|
|
18
|
-
"rules": [
|
|
19
|
-
"Use current Akan APIs only",
|
|
20
|
-
"State the rule and the reason it exists, never restate a type signature",
|
|
21
|
-
"Name the env that narrows a build-time declaration wherever one exists",
|
|
22
|
-
"Keep it workspace-neutral — no app or repo names"
|
|
23
|
-
]
|
|
24
|
-
}
|
|
25
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Scalar Constant",
|
|
3
|
-
"description": "Scalar constant generation rules",
|
|
4
|
-
"group": "scalar",
|
|
5
|
-
"docsSource": "apps/akan/page/(docs)/conventions/scalar/constant.tsx",
|
|
6
|
-
"codegenPriority": 1,
|
|
7
|
-
"deprecated": false,
|
|
8
|
-
"scans": [
|
|
9
|
-
{
|
|
10
|
-
"type": "docs",
|
|
11
|
-
"description": "Current docs source for Scalar Constant",
|
|
12
|
-
"path": "apps/akan/page/(docs)/conventions/scalar/constant.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": "./scalarConstant.instruction.md",
|
|
23
|
-
"contents": ["purpose", "file ownership", "current API patterns", "codegen rules", "validation checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Use double quotes for all string literals in TypeScript code",
|
|
27
|
-
"Keep output parseable for codegen",
|
|
28
|
-
"Include ownership boundaries and review checklist"
|
|
29
|
-
]
|
|
30
|
-
},
|
|
31
|
-
"page": "apps/akan/page/(docs)/conventions/scalar/constant.tsx"
|
|
32
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Scalar Dictionary",
|
|
3
|
-
"description": "Scalar dictionary generation rules",
|
|
4
|
-
"group": "scalar",
|
|
5
|
-
"docsSource": "apps/akan/page/(docs)/conventions/scalar/dictionary.tsx",
|
|
6
|
-
"codegenPriority": 1,
|
|
7
|
-
"deprecated": false,
|
|
8
|
-
"scans": [
|
|
9
|
-
{
|
|
10
|
-
"type": "docs",
|
|
11
|
-
"description": "Current docs source for Scalar Dictionary",
|
|
12
|
-
"path": "apps/akan/page/(docs)/conventions/scalar/dictionary.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": "./scalarDictionary.instruction.md",
|
|
23
|
-
"contents": ["purpose", "file ownership", "current API patterns", "codegen rules", "validation checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Use double quotes for all string literals in TypeScript code",
|
|
27
|
-
"Keep output parseable for codegen",
|
|
28
|
-
"Include ownership boundaries and review checklist"
|
|
29
|
-
]
|
|
30
|
-
},
|
|
31
|
-
"page": "apps/akan/page/(docs)/conventions/scalar/dictionary.tsx"
|
|
32
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Scalar Module",
|
|
3
|
-
"description": "Scalar module overview rules",
|
|
4
|
-
"group": "scalar",
|
|
5
|
-
"docsSource": "apps/akan/page/(docs)/conventions/scalar/overview.tsx",
|
|
6
|
-
"codegenPriority": 1,
|
|
7
|
-
"deprecated": false,
|
|
8
|
-
"scans": [
|
|
9
|
-
{
|
|
10
|
-
"type": "docs",
|
|
11
|
-
"description": "Current docs source for Scalar Module",
|
|
12
|
-
"path": "apps/akan/page/(docs)/conventions/scalar/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": "./scalarModule.instruction.md",
|
|
23
|
-
"contents": ["purpose", "file ownership", "current API patterns", "codegen rules", "validation checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Keep output parseable for codegen",
|
|
27
|
-
"Include ownership boundaries and review checklist"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"page": "apps/akan/page/(docs)/conventions/scalar/overview.tsx"
|
|
31
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Shared UI Usage",
|
|
3
|
-
"description": "Shared UI usage rules",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"docsSource": "apps/akan/page/(docs)/references/ui/overview.tsx",
|
|
6
|
-
"codegenPriority": 3,
|
|
7
|
-
"deprecated": false,
|
|
8
|
-
"scans": [
|
|
9
|
-
{
|
|
10
|
-
"type": "docs",
|
|
11
|
-
"description": "Current docs source for Shared UI Usage",
|
|
12
|
-
"path": "apps/akan/page/(docs)/references/ui/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": "./sharedUiUsage.instruction.md",
|
|
23
|
-
"contents": ["purpose", "file ownership", "current API patterns", "codegen rules", "validation checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Keep output parseable for codegen",
|
|
27
|
-
"Include ownership boundaries and review checklist"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"page": "apps/akan/page/(docs)/references/ui/overview.tsx"
|
|
31
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Shared UI Usage Guideline
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Use shared UI components when building app or module UI that should stay consistent across products.
|
|
5
|
-
|
|
6
|
-
## Ownership
|
|
7
|
-
- Shared UI components provide reusable display, form, overlay, and layout primitives.
|
|
8
|
-
- Prefer documented props and local examples before inventing new wrappers.
|
|
9
|
-
- Shared UI should remain domain-neutral.
|
|
10
|
-
|
|
11
|
-
## Current Akan Patterns
|
|
12
|
-
- Import from the project shared UI entrypoints already used nearby.
|
|
13
|
-
- Wrap shared UI only when the module needs domain-specific labels or behavior.
|
|
14
|
-
- Preserve accessibility and theming assumptions from the shared component.
|
|
15
|
-
|
|
16
|
-
## Codegen Rules
|
|
17
|
-
- Do not copy shared UI internals into module files.
|
|
18
|
-
- Do not pass unsupported props.
|
|
19
|
-
- Do not make shared UI depend on one app domain.
|
|
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.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "SSR Rule",
|
|
3
|
-
"description": "Akan SSR-first rendering rules — keep JSX on the server and justify every client boundary",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"codegenPriority": 3,
|
|
6
|
-
"deprecated": false,
|
|
7
|
-
"scans": [
|
|
8
|
-
{
|
|
9
|
-
"type": "example",
|
|
10
|
-
"description": "Client boundary shells that render server children untouched",
|
|
11
|
-
"path": "{apps,libs}/*/ui/**/*.tsx",
|
|
12
|
-
"sample": 4
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"type": "example",
|
|
16
|
-
"description": "Module UI split across client Zone/Template/Util and server Unit/View",
|
|
17
|
-
"path": "{apps,libs}/*/lib/*/*.tsx",
|
|
18
|
-
"sample": 4
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"update": {
|
|
22
|
-
"filePath": "./ssrRule.instruction.md",
|
|
23
|
-
"contents": ["purpose", "when a client boundary is earned", "quality rules", "implementation playbook"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Keep output parseable for codegen",
|
|
27
|
-
"Name the akan.ssr.* rule ids the quality scanner emits",
|
|
28
|
-
"Ground every pattern in a file that exists in the workspace"
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Transport Rule",
|
|
3
|
-
"description": "How a call reaches an Akan signal — guards across HTTP and websocket, socket identity and cleanup, binary pubsub frames, and mutation HTTP verbs",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"codegenPriority": 4,
|
|
6
|
-
"deprecated": false,
|
|
7
|
-
"scans": [
|
|
8
|
-
{
|
|
9
|
-
"type": "example",
|
|
10
|
-
"description": "Guard classes and their scope markers",
|
|
11
|
-
"path": "{apps,libs}/*/srvkit/guards.ts",
|
|
12
|
-
"sample": 2
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"type": "example",
|
|
16
|
-
"description": "Signal endpoints declaring guards, pubsub, and message handlers",
|
|
17
|
-
"path": "{apps,libs}/*/lib/*/*.signal.ts",
|
|
18
|
-
"sample": 4
|
|
19
|
-
}
|
|
20
|
-
],
|
|
21
|
-
"update": {
|
|
22
|
-
"filePath": "./transportRule.instruction.md",
|
|
23
|
-
"contents": ["guards across transports", "signal body types", "binary pubsub", "mutation HTTP verbs"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"State the rule and the reason it exists, never restate a type signature",
|
|
27
|
-
"Say what leaks or breaks when a rule is ignored",
|
|
28
|
-
"Keep it workspace-neutral — no app or repo names"
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Util UI Usage",
|
|
3
|
-
"description": "Utility UI usage rules",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"docsSource": "apps/akan/page/(docs)/references/ui/core.tsx",
|
|
6
|
-
"codegenPriority": 3,
|
|
7
|
-
"deprecated": false,
|
|
8
|
-
"scans": [
|
|
9
|
-
{
|
|
10
|
-
"type": "docs",
|
|
11
|
-
"description": "Current docs source for Util UI Usage",
|
|
12
|
-
"path": "apps/akan/page/(docs)/references/ui/core.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": "./utilUiUsage.instruction.md",
|
|
23
|
-
"contents": ["purpose", "file ownership", "current API patterns", "codegen rules", "validation checklist"],
|
|
24
|
-
"rules": [
|
|
25
|
-
"Use current Akan APIs only",
|
|
26
|
-
"Keep output parseable for codegen",
|
|
27
|
-
"Include ownership boundaries and review checklist"
|
|
28
|
-
]
|
|
29
|
-
},
|
|
30
|
-
"page": "apps/akan/page/(docs)/references/ui/core.tsx"
|
|
31
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# Util UI Usage Guideline
|
|
2
|
-
|
|
3
|
-
## Purpose
|
|
4
|
-
Use utility UI components for common application interactions, layout helpers, scrolling, loading, and small display patterns.
|
|
5
|
-
|
|
6
|
-
## Ownership
|
|
7
|
-
- Utility UI is for cross-domain layout and interaction helpers.
|
|
8
|
-
- Module-specific controls still belong in Model.Util.
|
|
9
|
-
- Docs pages may use utility UI for scroll sections and navigation.
|
|
10
|
-
|
|
11
|
-
## Current Akan Patterns
|
|
12
|
-
- Prefer existing utility components before adding custom layout code.
|
|
13
|
-
- Keep imported utility UI usage close to nearby docs and app examples.
|
|
14
|
-
- Forward className and preserve composition.
|
|
15
|
-
|
|
16
|
-
## Codegen Rules
|
|
17
|
-
- Do not make utility UI carry model-specific business behavior.
|
|
18
|
-
- Do not duplicate util components in each module.
|
|
19
|
-
- Do not use utility components without checking expected props.
|
|
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.
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Workspace Onboarding",
|
|
3
|
-
"description": "Product-workspace orientation — layout, decision matrix, workflow recipes, and query gotchas",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"codegenPriority": 2,
|
|
6
|
-
"deprecated": false,
|
|
7
|
-
"scans": [],
|
|
8
|
-
"update": {
|
|
9
|
-
"filePath": "./workspaceOnboarding.instruction.md",
|
|
10
|
-
"contents": [
|
|
11
|
-
"workspace layout and generated files",
|
|
12
|
-
"agent workflow and common commands",
|
|
13
|
-
"where-do-I-put-this decision matrix",
|
|
14
|
-
"workflow recipes",
|
|
15
|
-
"modeling and query gotchas"
|
|
16
|
-
],
|
|
17
|
-
"rules": [
|
|
18
|
-
"Use current Akan APIs only",
|
|
19
|
-
"Write for someone building a product on Akan, not for someone changing Akan",
|
|
20
|
-
"Refer to the app as <%= appName %>; the renderer substitutes the workspace's first app",
|
|
21
|
-
"Do not repeat a rule that the conventions guideline already states"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"title": "Workspace Recipes",
|
|
3
|
-
"description": "Worked step-by-step recipes for common Akan changes, plus the auto-generated signal/service/store/document API reference",
|
|
4
|
-
"group": "core",
|
|
5
|
-
"codegenPriority": 5,
|
|
6
|
-
"deprecated": false,
|
|
7
|
-
"scans": [
|
|
8
|
-
{
|
|
9
|
-
"type": "example",
|
|
10
|
-
"description": "Module files a recipe walks through",
|
|
11
|
-
"path": "{apps,libs}/*/lib/*/*.{constant,document,service,signal,store}.ts",
|
|
12
|
-
"sample": 5
|
|
13
|
-
}
|
|
14
|
-
],
|
|
15
|
-
"update": {
|
|
16
|
-
"filePath": "./workspaceRecipes.instruction.md",
|
|
17
|
-
"contents": [
|
|
18
|
-
"add a field",
|
|
19
|
-
"inject a dependency",
|
|
20
|
-
"create a slice",
|
|
21
|
-
"create a mutation",
|
|
22
|
-
"internal triggers",
|
|
23
|
-
"insights",
|
|
24
|
-
"auto-generated API reference"
|
|
25
|
-
],
|
|
26
|
-
"rules": [
|
|
27
|
-
"Use current Akan APIs only",
|
|
28
|
-
"Every recipe names the files to edit and the order to edit them in",
|
|
29
|
-
"Keep the <%= appName %> placeholder so the rendered guide names this workspace's app",
|
|
30
|
-
"Never duplicate a rule that workspaceOnboarding already states — link to it instead"
|
|
31
|
-
]
|
|
32
|
-
}
|
|
33
|
-
}
|