@akanjs/cli 3.0.0-beta.17 → 3.0.0-beta.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/.build-stamp +1 -1
  2. package/{CodeAgent-gjqnc2mg.js → CodeAgent-0035exh3.js} +2 -2
  3. package/{CodeTui-nd9hqvrw.js → CodeTui-eweg1hep.js} +205 -34
  4. package/{agent.command-n664dtcv.js → agent.command-65zqfkg0.js} +6 -6
  5. package/akanCode.js +5 -3
  6. package/{application.command-t5542jte.js → application.command-2wcj5da3.js} +18 -11
  7. package/{applicationBuildRunner-x4gbfn7y.js → applicationBuildRunner-m0hhgwsx.js} +6 -5
  8. package/{applicationReleasePackager-z61ep017.js → applicationReleasePackager-vykfzgx3.js} +1 -1
  9. package/buildBatch.proc.js +2 -2
  10. package/{capacitorApp-shv3ajh5.js → capacitorApp-2daqhb5h.js} +2 -2
  11. package/{cloud.command-dk5tj39k.js → cloud.command-960bgbf4.js} +8 -8
  12. package/{cloud.script-ch3xrw3s.js → cloud.script-qhcnqt1n.js} +8 -8
  13. package/{code.command-88sebgnn.js → code.command-4feh3ef7.js} +6 -6
  14. package/{context.command-pqsm5jrk.js → context.command-kzehkx48.js} +14 -14
  15. package/context.runner-z0rrcz7b.js +22 -0
  16. package/{devTui-gy6mendg.js → devTui-ffjsarqa.js} +3 -3
  17. package/{devTuiView-y1548wy6.js → devTuiView-1q1mdgrv.js} +1 -1
  18. package/{guideline.command-rpc2emw8.js → guideline.command-3w2g20x4.js} +8 -13
  19. package/guidelines/conventions/conventions.instruction.md +37 -22
  20. package/guidelines/queryRule/queryRule.instruction.md +1 -1
  21. package/guidelines/ssrRule/ssrRule.instruction.md +4 -2
  22. package/guidelines/transportRule/transportRule.instruction.md +10 -8
  23. package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +4 -3
  24. package/incrementalBuilder.proc.js +1 -1
  25. package/{index-bzakk0c2.js → index-14zrtgfa.js} +5 -3
  26. package/{index-57p9p179.js → index-3hpxeys1.js} +6 -5
  27. package/{index-sn7dnzq4.js → index-4r42ext5.js} +1 -1
  28. package/{index-3mg4h788.js → index-6q589y9t.js} +2 -2
  29. package/index-9dp031by.js +12 -0
  30. package/{index-p4p9t45x.js → index-bwxpk2cj.js} +4 -18
  31. package/{index-g9zghs4h.js → index-cjw1sj1x.js} +12 -12
  32. package/{index-te0y1c0m.js → index-d9fjz06h.js} +12 -7
  33. package/{index-4n4821gp.js → index-dw943k93.js} +4 -4
  34. package/{index-4cvpzkq6.js → index-ef228gzf.js} +3 -3
  35. package/{index-3cymrzsb.js → index-erfc1x40.js} +17 -3
  36. package/{index-ns128c4q.js → index-h94faz96.js} +13 -20
  37. package/index-jd01kj5r.js +656 -0
  38. package/{index-2sq06vv0.js → index-jwexzh42.js} +200 -54
  39. package/{index-kvzjda3v.js → index-m41ptvat.js} +5 -5
  40. package/{index-qh7brn20.js → index-mt2154s2.js} +6 -2
  41. package/{index-xjc7gg65.js → index-pn8mhpps.js} +23 -33
  42. package/{index-vpx68e4x.js → index-q9c3c0hy.js} +2 -2
  43. package/{index-v17gj504.js → index-rpgxs245.js} +2 -2
  44. package/{index-twq9p2sp.js → index-s5rhm04y.js} +0 -6
  45. package/{index-p0tew3fq.js → index-sbfk9daf.js} +8 -3
  46. package/{index-n8kt2wh6.js → index-wcg582a8.js} +5 -5
  47. package/{index-6na0sd2b.js → index-ycy302an.js} +5 -2
  48. package/{index-qhtj9y6j.js → index-yw6g3bbv.js} +74 -21
  49. package/{index-2pm1j01n.js → index-zmj143x7.js} +4 -4
  50. package/{index-zn8qgeqx.js → index-zq0mr3hh.js} +1 -1
  51. package/index.js +21 -21
  52. package/{library.command-m8p2r1dh.js → library.command-fp0nhr62.js} +3 -3
  53. package/{localRegistry.command-yppdqrxv.js → localRegistry.command-8y0ecxb9.js} +7 -7
  54. package/{module.command-mfzvqt0n.js → module.command-kqkn48t2.js} +5 -5
  55. package/{package.command-cgp2p2v5.js → package.command-qverjh22.js} +4 -4
  56. package/package.json +2 -2
  57. package/{page.command-taenb02b.js → page.command-94bwhd0g.js} +3 -3
  58. package/{primitive.command-7kpncmkk.js → primitive.command-2ydvtah2.js} +6 -6
  59. package/{prompter-9mn3kp36.js → prompter-1f8d9pcc.js} +1 -1
  60. package/{quality.command-1ar94hrw.js → quality.command-fa0gth4p.js} +3 -4
  61. package/{repair.command-n08t6j8p.js → repair.command-4qng2hpm.js} +5 -5
  62. package/{routeSourceValidator-apyqw7wk.js → routeSourceValidator-7ycnfz0e.js} +0 -6
  63. package/{scalar.command-mq8qfp4t.js → scalar.command-pb2y95sh.js} +4 -4
  64. package/skills/akan-code/SKILL.md +122 -0
  65. package/skills/akan-module/SKILL.md +2 -2
  66. package/skills/akan-store/SKILL.md +6 -2
  67. package/{subspace.command-jqv5n79w.js → subspace.command-vkxmwp74.js} +4 -4
  68. package/templates/__scalar/__model__/__model__.abstract.md.template +8 -0
  69. package/templates/appSample/lib/__scalar/workHistory/workHistory.abstract.ts +8 -39
  70. package/templates/appSample/lib/_noti/noti.abstract.ts +6 -29
  71. package/templates/appSample/lib/task/task.abstract.ts +12 -32
  72. package/templates/appSample/lib/task/task.signal.spec.ts +15 -18
  73. package/templates/appSample/lib/task/task.signal.test.ts +14 -0
  74. package/templates/appSample/lib/task/task.signal.ts +1 -1
  75. package/templates/appSample/srvkit/AuthGuard.ts +4 -1
  76. package/templates/appSample/srvkit/SessionInternalArg.ts +3 -1
  77. package/templates/crudPages/[__model__Id]/edit/page.tsx +2 -1
  78. package/templates/crudPages/[__model__Id]/page.tsx +2 -1
  79. package/templates/crudPages/new/page.tsx +2 -1
  80. package/templates/crudPages/page.tsx +2 -1
  81. package/templates/crudSinglePage/page.tsx +2 -1
  82. package/templates/module/__model__.signal.ts +12 -4
  83. package/templates/pkgRoot/tsconfig.json.template +2 -7
  84. package/templates/service/__model__.abstract.md.template +8 -0
  85. package/{tunnel.command-ht2es78c.js → tunnel.command-02cvp9nf.js} +2 -2
  86. package/{workflow.command-tvz4nm9n.js → workflow.command-132txnrh.js} +9 -9
  87. package/{workspace.command-txv1yv5e.js → workspace.command-d5wkswek.js} +21 -21
  88. package/context.runner-bys6ykcp.js +0 -22
  89. package/guidelines/agentRule/agentRule.generate.json +0 -31
  90. package/guidelines/componentRule/componentRule.generate.json +0 -31
  91. package/guidelines/conventions/conventions.generate.json +0 -25
  92. package/guidelines/cssRule/cssRule.generate.json +0 -31
  93. package/guidelines/docPageRule/docPageRule.generate.json +0 -31
  94. package/guidelines/docPageRule/docPageRule.instruction.md +0 -25
  95. package/guidelines/docSyncRule/docSyncRule.generate.json +0 -31
  96. package/guidelines/docSyncRule/docSyncRule.instruction.md +0 -25
  97. package/guidelines/enumConstant/enumConstant.generate.json +0 -31
  98. package/guidelines/enumConstant/enumConstant.instruction.md +0 -28
  99. package/guidelines/fieldRule/fieldRule.generate.json +0 -31
  100. package/guidelines/framework/framework.generate.json +0 -32
  101. package/guidelines/mcpRule/mcpRule.generate.json +0 -35
  102. package/guidelines/modelConstant/modelConstant.generate.json +0 -32
  103. package/guidelines/modelDictionary/modelDictionary.generate.json +0 -32
  104. package/guidelines/modelDocument/modelDocument.generate.json +0 -31
  105. package/guidelines/modelService/modelService.generate.json +0 -31
  106. package/guidelines/modelSignal/modelSignal.generate.json +0 -31
  107. package/guidelines/modelStore/modelStore.generate.json +0 -31
  108. package/guidelines/modelTemplate/modelTemplate.generate.json +0 -31
  109. package/guidelines/modelUnit/modelUnit.generate.json +0 -31
  110. package/guidelines/modelUtil/modelUtil.generate.json +0 -31
  111. package/guidelines/modelView/modelView.generate.json +0 -31
  112. package/guidelines/modelZone/modelZone.generate.json +0 -31
  113. package/guidelines/moduleCodegen/moduleCodegen.generate.json +0 -31
  114. package/guidelines/moduleCodegen/moduleCodegen.instruction.md +0 -28
  115. package/guidelines/moduleOverview/moduleOverview.generate.json +0 -31
  116. package/guidelines/queryRule/queryRule.generate.json +0 -31
  117. package/guidelines/recipeRule/recipeRule.generate.json +0 -31
  118. package/guidelines/runtimeRule/runtimeRule.generate.json +0 -25
  119. package/guidelines/scalarConstant/scalarConstant.generate.json +0 -32
  120. package/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -32
  121. package/guidelines/scalarModule/scalarModule.generate.json +0 -31
  122. package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -31
  123. package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -25
  124. package/guidelines/ssrRule/ssrRule.generate.json +0 -31
  125. package/guidelines/transportRule/transportRule.generate.json +0 -31
  126. package/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -31
  127. package/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -25
  128. package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +0 -24
  129. package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +0 -34
  130. package/index-qt8dqgnf.js +0 -250
  131. package/templates/__scalar/__model__/__model__.abstract.md +0 -28
  132. package/templates/module/__model__.abstract.md +0 -28
  133. package/templates/service/__model__.abstract.md +0 -28
@@ -9,10 +9,10 @@ import {
9
9
  runner,
10
10
  script,
11
11
  command
12
- } from "./index-6na0sd2b.js";
12
+ } from "./index-ycy302an.js";
13
13
  import {
14
14
  AppExecutor
15
- } from "./index-p4p9t45x.js";
15
+ } from "./index-bwxpk2cj.js";
16
16
  import"./index-6wwzs1bc.js";
17
17
  import {
18
18
  TunnelShare2
@@ -3,28 +3,28 @@ import {
3
3
  Workspace,
4
4
  script,
5
5
  command
6
- } from "./index-6na0sd2b.js";
6
+ } from "./index-ycy302an.js";
7
7
  import"./index-q0y2jq9j.js";
8
- import"./index-p4p9t45x.js";
8
+ import"./index-bwxpk2cj.js";
9
9
  import"./index-6wwzs1bc.js";
10
10
  import {
11
11
  createWorkflowStepRegistry
12
- } from "./index-qhtj9y6j.js";
13
- import"./index-qh7brn20.js";
12
+ } from "./index-yw6g3bbv.js";
13
+ import"./index-mt2154s2.js";
14
14
  import {
15
15
  ModuleScript
16
- } from "./index-xjc7gg65.js";
16
+ } from "./index-pn8mhpps.js";
17
17
  import {
18
18
  PrimitiveScript
19
- } from "./index-te0y1c0m.js";
19
+ } from "./index-d9fjz06h.js";
20
20
  import {
21
21
  ScalarScript
22
- } from "./index-vpx68e4x.js";
22
+ } from "./index-q9c3c0hy.js";
23
23
  import"./index-by5gpp8x.js";
24
- import"./index-v17gj504.js";
24
+ import"./index-rpgxs245.js";
25
25
  import {
26
26
  WorkflowRunner
27
- } from "./index-2pm1j01n.js";
27
+ } from "./index-zmj143x7.js";
28
28
 
29
29
  // pkgs/@akanjs/cli/workflow/workflow.script.ts
30
30
  import { Logger } from "akanjs/common";
@@ -11,7 +11,7 @@ import {
11
11
  runner,
12
12
  script,
13
13
  command
14
- } from "./index-6na0sd2b.js";
14
+ } from "./index-ycy302an.js";
15
15
  import {
16
16
  extractAgentBlock,
17
17
  collectScopeRecipeSources,
@@ -21,7 +21,7 @@ import {
21
21
  AppExecutor,
22
22
  LibExecutor,
23
23
  PkgExecutor
24
- } from "./index-p4p9t45x.js";
24
+ } from "./index-bwxpk2cj.js";
25
25
  import"./index-6wwzs1bc.js";
26
26
  import {
27
27
  countBlocking,
@@ -32,43 +32,43 @@ import {
32
32
  collectRecipeSources2,
33
33
  scanRecipes2
34
34
  } from "./index-by5gpp8x.js";
35
- import"./index-qhtj9y6j.js";
36
- import"./index-v17gj504.js";
37
- import"./index-twq9p2sp.js";
35
+ import"./index-yw6g3bbv.js";
36
+ import"./index-rpgxs245.js";
37
+ import"./index-s5rhm04y.js";
38
38
  import {
39
39
  AgentScript
40
- } from "./index-kvzjda3v.js";
40
+ } from "./index-m41ptvat.js";
41
41
  import {
42
42
  ApplicationScript
43
- } from "./index-ns128c4q.js";
43
+ } from "./index-h94faz96.js";
44
44
  import {
45
45
  LibraryScript
46
- } from "./index-3mg4h788.js";
46
+ } from "./index-6q589y9t.js";
47
47
  import"./index-hwkygn9s.js";
48
48
  import"./index-7md2g9vw.js";
49
49
  import"./index-kcxmv48c.js";
50
50
  import {
51
51
  PackageScript
52
- } from "./index-p0tew3fq.js";
52
+ } from "./index-sbfk9daf.js";
53
53
  import {
54
54
  getNpmRegistryUrl,
55
55
  getLatestPackageVersion
56
- } from "./index-57p9p179.js";
56
+ } from "./index-3hpxeys1.js";
57
57
  import {
58
58
  CloudScript2
59
- } from "./index-n8kt2wh6.js";
60
- import"./index-g9zghs4h.js";
61
- import"./index-3cymrzsb.js";
62
- import"./index-4cvpzkq6.js";
63
- import"./index-2pm1j01n.js";
64
- import"./index-qh7brn20.js";
65
- import"./index-xjc7gg65.js";
66
- import"./index-te0y1c0m.js";
67
- import"./index-vpx68e4x.js";
59
+ } from "./index-wcg582a8.js";
60
+ import"./index-cjw1sj1x.js";
61
+ import"./index-erfc1x40.js";
62
+ import"./index-ef228gzf.js";
63
+ import"./index-zmj143x7.js";
64
+ import"./index-mt2154s2.js";
65
+ import"./index-pn8mhpps.js";
66
+ import"./index-d9fjz06h.js";
67
+ import"./index-q9c3c0hy.js";
68
68
  import {
69
69
  ContextScript
70
- } from "./index-4n4821gp.js";
71
- import"./index-sn7dnzq4.js";
70
+ } from "./index-dw943k93.js";
71
+ import"./index-4r42ext5.js";
72
72
 
73
73
  // pkgs/@akanjs/cli/workspace/workspace.runner.ts
74
74
  import path from "path";
@@ -1,22 +0,0 @@
1
- // @bun
2
- import {
3
- ContextRunner2
4
- } from "./index-g9zghs4h.js";
5
- import"./index-2pm1j01n.js";
6
- import"./index-vpx68e4x.js";
7
- import"./index-te0y1c0m.js";
8
- import"./index-4cvpzkq6.js";
9
- import"./index-xjc7gg65.js";
10
- import"./index-qh7brn20.js";
11
- import"./index-v17gj504.js";
12
- import"./index-qhtj9y6j.js";
13
- import"./index-twq9p2sp.js";
14
- import"./index-3cymrzsb.js";
15
- import"./index-6na0sd2b.js";
16
- import"./index-p4p9t45x.js";
17
- import"./index-by5gpp8x.js";
18
- import"./index-6wwzs1bc.js";
19
- import"./index-q0y2jq9j.js";
20
- export {
21
- ContextRunner2 as ContextRunner
22
- };
@@ -1,31 +0,0 @@
1
- {
2
- "title": "In-Page Agent Rule",
3
- "description": "How an akan screen exposes itself to an in-page agent — st.tool, subscribed keys, built-ins, and the chat",
4
- "group": "core",
5
- "codegenPriority": 4,
6
- "deprecated": false,
7
- "scans": [
8
- {
9
- "type": "example",
10
- "description": "Components publishing an agent tool beside the control that already performs the action",
11
- "path": "{apps,libs}/*/**/*.tsx",
12
- "sample": 4
13
- }
14
- ],
15
- "update": {
16
- "filePath": "./agentRule.instruction.md",
17
- "contents": [
18
- "what a declaration publishes",
19
- "mounting the chat",
20
- "publishing a tool",
21
- "forms and reading state",
22
- "built-in tools"
23
- ],
24
- "rules": [
25
- "Use current Akan APIs only",
26
- "State the rule before the reason, and keep the reason to one clause",
27
- "Never describe a store class as an exposure surface — only st.tool and subscribed keys publish",
28
- "Keep it workspace-neutral — no app or repo names"
29
- ]
30
- }
31
- }
@@ -1,31 +0,0 @@
1
- {
2
- "title": "Component Rule",
3
- "description": "Shared component implementation 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 Component Rule",
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": "./componentRule.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
- {
2
- "title": "Workspace Conventions",
3
- "description": "The tool-neutral Akan convention set rendered into every workspace AGENTS.md managed block",
4
- "group": "core",
5
- "codegenPriority": 1,
6
- "deprecated": false,
7
- "scans": [],
8
- "update": {
9
- "filePath": "./conventions.instruction.md",
10
- "contents": [
11
- "change scope",
12
- "lint-enforced rules",
13
- "coding style and comments",
14
- "client/server boundaries and SSR",
15
- "domain module, service, signal, and scalar conventions",
16
- "page routing, sync layout, and layer placement"
17
- ],
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 .grit rule that enforces a rule wherever one does",
22
- "Keep it workspace-neutral — no app or repo names, since every workspace renders this file"
23
- ]
24
- }
25
- }
@@ -1,31 +0,0 @@
1
- {
2
- "title": "CSS Rule",
3
- "description": "Tailwind and akanjs/ui (semantic token) styling rules",
4
- "group": "core",
5
- "docsSource": "apps/akan/page/(docs)/docs/arch/css.tsx",
6
- "codegenPriority": 3,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for CSS Rule",
12
- "path": "apps/akan/page/(docs)/docs/arch/css.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": "./cssRule.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)/docs/arch/css.tsx"
31
- }
@@ -1,31 +0,0 @@
1
- {
2
- "title": "Docs Page Rule",
3
- "description": "Docs page writing rules",
4
- "group": "core",
5
- "docsSource": "apps/akan/page/(docs)/cheatsheet/dev/docs.tsx",
6
- "codegenPriority": 3,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Docs Page Rule",
12
- "path": "apps/akan/page/(docs)/cheatsheet/dev/docs.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": "./docPageRule.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)/cheatsheet/dev/docs.tsx"
31
- }
@@ -1,25 +0,0 @@
1
- # Docs Page Rule Guideline
2
-
3
- ## Purpose
4
- Use this when generating or updating Akan docs pages under the current docs route tree.
5
-
6
- ## Ownership
7
- - Docs pages live under `apps/akan/page/(docs)`.
8
- - Pages use `Docs`, `Code`, `Scroll`, and app localization helpers used by nearby pages.
9
- - A docs page should teach one concept with examples, alerts, and navigation anchors.
10
-
11
- ## Current Akan Patterns
12
- - Use current route groups: docs, conventions, references, cheatsheet, and plugins.
13
- - Prefer concise sections with code snippets and practical rules.
14
- - Use Mermaid only when it clarifies architecture or flow.
15
-
16
- ## Codegen Rules
17
- - Do not write docs for removed route paths.
18
- - Do not generate placeholder pages when source docs already exist.
19
- - Do not include implementation claims that are not backed by code or nearby docs.
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": "Docs Sync Rule",
3
- "description": "Docs to guideline sync rules",
4
- "group": "core",
5
- "docsSource": "apps/akan/page/(docs)/docs/_index.tsx",
6
- "codegenPriority": 3,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Docs Sync Rule",
12
- "path": "apps/akan/page/(docs)/docs/_index.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": "./docSyncRule.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)/docs/_index.tsx"
31
- }
@@ -1,25 +0,0 @@
1
- # Docs To Guideline Sync Rule
2
-
3
- ## Purpose
4
- Use this when applying current docs page information back into guideline instruction files.
5
-
6
- ## Ownership
7
- - Docs pages are the source of truth for product-facing explanations.
8
- - Guideline instructions are compressed operational rules for AI codegen.
9
- - Sync should preserve codegen-specific output contracts and validation rules that docs pages may not mention.
10
-
11
- ## Current Akan Patterns
12
- - Extract ownership boundaries, API names, file paths, examples, and warnings from docs pages.
13
- - Convert long explanatory sections into prompt-friendly bullet rules.
14
- - Keep docs links or source paths in `generate.json` metadata.
15
-
16
- ## Codegen Rules
17
- - Do not copy large TSX page content directly into markdown instructions.
18
- - Do not remove codegen output format requirements during sync.
19
- - Do not let stale instruction examples override newer docs examples.
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": "Enum Constant",
3
- "description": "enumOf category value rules",
4
- "group": "core",
5
- "docsSource": "apps/akan/page/(docs)/conventions/module/constant.tsx",
6
- "codegenPriority": 2,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Enum Constant",
12
- "path": "apps/akan/page/(docs)/conventions/module/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": "./enumConstant.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/constant.tsx"
31
- }
@@ -1,28 +0,0 @@
1
- # enumOf Guideline
2
-
3
- ## Purpose
4
- Use enum classes for categorical values that need type safety, defaults, dictionary entries, and stable API values.
5
-
6
- ## Ownership
7
- - Define enum classes near the constant or scalar that owns the category.
8
- - Use camelCase values that are stable API/storage values.
9
- - Export the enum class so constants, dictionaries, UI, service, and signal can share it.
10
- - Provide dictionary entries for each public enum value and description.
11
-
12
- ## Current Akan Patterns
13
- - Use enums for status, role, type, mode, channel, lifecycle, and similar finite sets.
14
- - Use boolean fields only when there are exactly two stable states and labels are obvious.
15
- - Use string fields only when the value is open-ended or user-defined.
16
- - Keep enum names domain-specific enough to avoid collisions.
17
-
18
- ## Codegen Rules
19
- - Do not generate plain string unions when enum dictionary coverage is needed.
20
- - Do not rename stored enum values casually; persisted data may depend on them.
21
- - Do not add unused enum values just for hypothetical future UI.
22
- - Do not mix display labels into stored enum values.
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": "Field Rule",
3
- "description": "Current via field helper rules",
4
- "group": "core",
5
- "docsSource": "apps/akan/page/(docs)/conventions/module/constant.tsx",
6
- "codegenPriority": 1,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Field Rule",
12
- "path": "apps/akan/page/(docs)/conventions/module/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": "./fieldRule.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/constant.tsx"
31
- }
@@ -1,32 +0,0 @@
1
- {
2
- "title": "Akan.js Framework",
3
- "description": "Compact global context for Akan AI codegen",
4
- "group": "core",
5
- "docsSource": "apps/akan/page/(docs)/docs/intro/fundamentals.tsx",
6
- "codegenPriority": 1,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Akan.js Framework",
12
- "path": "apps/akan/page/(docs)/docs/intro/fundamentals.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": "./framework.instruction.md",
23
- "contents": ["file ownership", "current API patterns", "codegen rules", "theming and UI customization"],
24
- "rules": [
25
- "Use current Akan APIs only",
26
- "Keep output parseable for codegen",
27
- "Include ownership boundaries",
28
- "Carry no meta about this document itself — it renders into every workspace's always-loaded AGENTS.md"
29
- ]
30
- },
31
- "page": "apps/akan/page/(docs)/docs/intro/fundamentals.tsx"
32
- }
@@ -1,35 +0,0 @@
1
- {
2
- "title": "MCP Exposure Rule",
3
- "description": "How Akan signals reach AI agents over MCP — guard-derived exposure, refusals, prompts, and resources",
4
- "group": "core",
5
- "codegenPriority": 4,
6
- "deprecated": false,
7
- "scans": [
8
- {
9
- "type": "example",
10
- "description": "Signal files whose slices and endpoints declare the guards MCP exposure is derived from",
11
- "path": "{apps,libs}/*/lib/*/*.signal.ts",
12
- "sample": 4
13
- }
14
- ],
15
- "update": {
16
- "filePath": "./mcpRule.instruction.md",
17
- "contents": [
18
- "exposure rule",
19
- "configuration",
20
- "declaring endpoints",
21
- "refusals and wire behaviour",
22
- "prompts",
23
- "rolling out to an app",
24
- "choosing what to open",
25
- "writing instructions",
26
- "verifying an app"
27
- ],
28
- "rules": [
29
- "Use current Akan APIs only",
30
- "State the rule before the reason, and keep the reason to one clause",
31
- "Name the env spelling beside every option field",
32
- "Keep it workspace-neutral — no app or repo names"
33
- ]
34
- }
35
- }
@@ -1,32 +0,0 @@
1
- {
2
- "title": "Model Constant",
3
- "description": "Module constant generation rules",
4
- "group": "module",
5
- "docsSource": "apps/akan/page/(docs)/conventions/module/constant.tsx",
6
- "codegenPriority": 1,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Model Constant",
12
- "path": "apps/akan/page/(docs)/conventions/module/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": "./modelConstant.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/module/constant.tsx"
32
- }
@@ -1,32 +0,0 @@
1
- {
2
- "title": "Model Dictionary",
3
- "description": "Module dictionary generation rules",
4
- "group": "module",
5
- "docsSource": "apps/akan/page/(docs)/conventions/module/dictionary.tsx",
6
- "codegenPriority": 1,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Model Dictionary",
12
- "path": "apps/akan/page/(docs)/conventions/module/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": "./modelDictionary.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/module/dictionary.tsx"
32
- }
@@ -1,31 +0,0 @@
1
- {
2
- "title": "Model Document",
3
- "description": "Module persistence generation rules",
4
- "group": "module",
5
- "docsSource": "apps/akan/page/(docs)/conventions/module/document.tsx",
6
- "codegenPriority": 1,
7
- "deprecated": false,
8
- "scans": [
9
- {
10
- "type": "docs",
11
- "description": "Current docs source for Model Document",
12
- "path": "apps/akan/page/(docs)/conventions/module/document.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": "./modelDocument.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/document.tsx"
31
- }