@akanjs/cli 3.0.0-alpha.3 → 3.0.0-alpha.5

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 (48) hide show
  1. package/.build-stamp +1 -1
  2. package/{agent.command-yv00p0s0.js → agent.command-b0fcx3r2.js} +6 -6
  3. package/{application.command-0qsczf4k.js → application.command-cgmy00gd.js} +4 -4
  4. package/{applicationBuildRunner-ct2pxyvw.js → applicationBuildRunner-n1svrwgt.js} +3 -3
  5. package/buildBatch.proc.js +3 -3
  6. package/{capacitorApp-4r9sm3qg.js → capacitorApp-yyw35vg4.js} +2 -2
  7. package/{cloud.command-dxfv18sa.js → cloud.command-1m7hfdpk.js} +7 -7
  8. package/{context.command-8d9e3k6b.js → context.command-b5heat2a.js} +13 -13
  9. package/{guideline.command-3jbkxzh6.js → guideline.command-9ew6aqhm.js} +3 -3
  10. package/incrementalBuilder.proc.js +2 -2
  11. package/{index-pyt2b4nw.js → index-0fj4yg7k.js} +50 -15
  12. package/{index-hgna5rjy.js → index-47qxw1tz.js} +27 -21
  13. package/{index-yzmhasdb.js → index-60a3jfcz.js} +5 -5
  14. package/{index-mr5s7mqd.js → index-6npsfpxr.js} +3 -3
  15. package/{index-2q1f5j9k.js → index-c94nq3c1.js} +3 -3
  16. package/{index-7c6k4yvg.js → index-exhpp31y.js} +2 -2
  17. package/{index-bbkek1bp.js → index-hrwzz2wf.js} +1 -1
  18. package/{index-rh16j3c7.js → index-j9cxndc0.js} +3 -2
  19. package/{index-8hsbnyes.js → index-jkynkyfk.js} +1 -1
  20. package/{index-a00jg8x8.js → index-jn9vfpwz.js} +9 -31
  21. package/{index-rzwcpcc3.js → index-m4kpmmtj.js} +1 -1
  22. package/{index-k95xkh4p.js → index-meh7mmz9.js} +2 -2
  23. package/{index-nm6wghb6.js → index-mn96y1nk.js} +5 -5
  24. package/{index-t3723f99.js → index-mterpj70.js} +1 -1
  25. package/{index-ej426mcr.js → index-nfxq39kj.js} +4 -4
  26. package/{index-e16gnn26.js → index-nx1vbtsc.js} +5 -5
  27. package/{index-1pvex4az.js → index-p69fcwe1.js} +11 -11
  28. package/{index-zasydjxd.js → index-p6txr1ss.js} +3 -3
  29. package/{index-bekddz9q.js → index-pfrt7qwh.js} +4 -4
  30. package/{index-tdbas9r0.js → index-qp089jp0.js} +1 -1
  31. package/{index-ec09pws3.js → index-wrrb8rxk.js} +3 -3
  32. package/index.js +18 -18
  33. package/{library.command-ebdj1vnm.js → library.command-aa1g8nsa.js} +3 -3
  34. package/{localRegistry.command-gb178ne8.js → localRegistry.command-kshva1ck.js} +6 -6
  35. package/{module.command-9c1bnsx4.js → module.command-b1zzgqde.js} +6 -6
  36. package/{package.command-t93p4jkj.js → package.command-9qv6vr9s.js} +3 -3
  37. package/package.json +2 -2
  38. package/{page.command-k3k0meh2.js → page.command-k16pw244.js} +3 -3
  39. package/{primitive.command-de6nktdt.js → primitive.command-s60dn1ae.js} +7 -7
  40. package/{quality.command-z5kth2wa.js → quality.command-p3vaze52.js} +7 -25
  41. package/{repair.command-ehf2g112.js → repair.command-mfv749ha.js} +5 -5
  42. package/{scalar.command-7a2jtv33.js → scalar.command-hs3nwzv1.js} +5 -5
  43. package/templates/lib/useClient.ts +9 -3
  44. package/templates/workspaceRoot/.cursor/rules/akan-sync-conventions.mdc.template +3 -2
  45. package/templates/workspaceRoot/AGENTS.md.template +4 -0
  46. package/templates/workspaceRoot/biome.json.template +22 -0
  47. package/{workflow.command-e0tt0vk2.js → workflow.command-z0e0fk0z.js} +10 -10
  48. package/{workspace.command-fpda0evj.js → workspace.command-3q1d6kk4.js} +19 -19
@@ -1,10 +1,10 @@
1
1
  // @bun
2
2
  import {
3
3
  CloudRunner
4
- } from "./index-zasydjxd.js";
4
+ } from "./index-p6txr1ss.js";
5
5
  import {
6
6
  PackageScript
7
- } from "./index-k95xkh4p.js";
7
+ } from "./index-meh7mmz9.js";
8
8
  import {
9
9
  AiSession,
10
10
  CloudApi,
@@ -12,13 +12,13 @@ import {
12
12
  } from "./index-0cj2zxbm.js";
13
13
  import {
14
14
  ApplicationScript
15
- } from "./index-e16gnn26.js";
15
+ } from "./index-nx1vbtsc.js";
16
16
  import {
17
17
  script
18
- } from "./index-8hsbnyes.js";
18
+ } from "./index-jkynkyfk.js";
19
19
  import {
20
20
  PkgExecutor
21
- } from "./index-hgna5rjy.js";
21
+ } from "./index-47qxw1tz.js";
22
22
 
23
23
  // pkgs/@akanjs/cli/cloud/cloud.script.ts
24
24
  import { Logger } from "akanjs/common";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./index-76rn3g2c.js";
6
6
  import {
7
7
  CommandExecutionError
8
- } from "./index-hgna5rjy.js";
8
+ } from "./index-47qxw1tz.js";
9
9
 
10
10
  // pkgs/@akanjs/devkit/capacitorApp.ts
11
11
  import { cp, mkdir, readFile, rm, writeFile } from "fs/promises";
@@ -1,14 +1,14 @@
1
1
  // @bun
2
2
  import {
3
3
  AkanContextAnalyzer
4
- } from "./index-a00jg8x8.js";
4
+ } from "./index-jn9vfpwz.js";
5
5
  import {
6
6
  Prompter
7
- } from "./index-tdbas9r0.js";
7
+ } from "./index-qp089jp0.js";
8
8
  import {
9
9
  runner,
10
10
  script
11
- } from "./index-8hsbnyes.js";
11
+ } from "./index-jkynkyfk.js";
12
12
  import {
13
13
  AGENT_BLOCK_END,
14
14
  AGENT_BLOCK_START,
@@ -16,7 +16,7 @@ import {
16
16
  LibExecutor,
17
17
  renderRecipeEntries,
18
18
  upsertAgentBlock
19
- } from "./index-hgna5rjy.js";
19
+ } from "./index-47qxw1tz.js";
20
20
  import {
21
21
  collectRecipeSources,
22
22
  scanRecipes
@@ -4,11 +4,11 @@ import {
4
4
  } from "./index-76rn3g2c.js";
5
5
  import {
6
6
  LibraryScript
7
- } from "./index-7c6k4yvg.js";
7
+ } from "./index-exhpp31y.js";
8
8
  import {
9
9
  runner,
10
10
  script
11
- } from "./index-8hsbnyes.js";
11
+ } from "./index-jkynkyfk.js";
12
12
  import {
13
13
  HmrWatcher,
14
14
  WatchRootResolver
@@ -18,7 +18,7 @@ import {
18
18
  LibExecutor,
19
19
  PkgExecutor,
20
20
  WorkspaceExecutor
21
- } from "./index-hgna5rjy.js";
21
+ } from "./index-47qxw1tz.js";
22
22
  import {
23
23
  __require
24
24
  } from "./index-r24hmh0q.js";
@@ -1898,9 +1898,9 @@ function openBrowser(url) {
1898
1898
  }
1899
1899
 
1900
1900
  // pkgs/@akanjs/cli/application/application.runner.ts
1901
- var loadBuildRunner = async () => (await import("./applicationBuildRunner-ct2pxyvw.js")).ApplicationBuildRunner;
1901
+ var loadBuildRunner = async () => (await import("./applicationBuildRunner-n1svrwgt.js")).ApplicationBuildRunner;
1902
1902
  var loadReleasePackager = async () => (await import("./applicationReleasePackager-gg8ccbeh.js")).ApplicationReleasePackager;
1903
- var loadCapacitorApp = async () => (await import("./capacitorApp-4r9sm3qg.js")).CapacitorApp;
1903
+ var loadCapacitorApp = async () => (await import("./capacitorApp-yyw35vg4.js")).CapacitorApp;
1904
1904
  var loadAbstractCompactor = async () => (await import("./abstractCompactor-e5yq60qz.js")).AbstractCompactor;
1905
1905
  var loadPrompts = async () => await import("@inquirer/prompts");
1906
1906
 
@@ -1,22 +1,22 @@
1
1
  // @bun
2
2
  import {
3
3
  RepairRunner
4
- } from "./index-mr5s7mqd.js";
4
+ } from "./index-6npsfpxr.js";
5
5
  import {
6
6
  WorkflowRunner
7
- } from "./index-2q1f5j9k.js";
7
+ } from "./index-c94nq3c1.js";
8
8
  import {
9
9
  PrimitiveScript
10
- } from "./index-bekddz9q.js";
10
+ } from "./index-pfrt7qwh.js";
11
11
  import {
12
12
  ModuleScript
13
- } from "./index-yzmhasdb.js";
13
+ } from "./index-60a3jfcz.js";
14
14
  import {
15
15
  ScalarScript
16
- } from "./index-ec09pws3.js";
16
+ } from "./index-wrrb8rxk.js";
17
17
  import {
18
18
  isPlaceholderAppId
19
- } from "./index-t3723f99.js";
19
+ } from "./index-mterpj70.js";
20
20
  import {
21
21
  AkanContextAnalyzer,
22
22
  akanMcpInstallConfigPaths,
@@ -27,17 +27,17 @@ import {
27
27
  renderDoctorText,
28
28
  resourceList,
29
29
  upsertCodexMcpServerBlock
30
- } from "./index-a00jg8x8.js";
30
+ } from "./index-jn9vfpwz.js";
31
31
  import {
32
32
  buildAkanModuleContextIndex,
33
33
  createWorkflowBaselineSummary,
34
34
  createWorkflowStepRegistry,
35
35
  jsonText,
36
36
  toolingRolloutGate
37
- } from "./index-rzwcpcc3.js";
37
+ } from "./index-m4kpmmtj.js";
38
38
  import {
39
39
  Prompter
40
- } from "./index-tdbas9r0.js";
40
+ } from "./index-qp089jp0.js";
41
41
  import {
42
42
  getMobileTargets
43
43
  } from "./index-76rn3g2c.js";
@@ -45,10 +45,10 @@ import {
45
45
  CommandContainer,
46
46
  runner,
47
47
  script
48
- } from "./index-8hsbnyes.js";
48
+ } from "./index-jkynkyfk.js";
49
49
  import {
50
50
  AppExecutor
51
- } from "./index-hgna5rjy.js";
51
+ } from "./index-47qxw1tz.js";
52
52
 
53
53
  // pkgs/@akanjs/cli/context/context.script.ts
54
54
  import { Logger } from "akanjs/common";
@@ -7,14 +7,14 @@ import {
7
7
  } from "./index-0cj2zxbm.js";
8
8
  import {
9
9
  openBrowser
10
- } from "./index-e16gnn26.js";
10
+ } from "./index-nx1vbtsc.js";
11
11
  import {
12
12
  runner
13
- } from "./index-8hsbnyes.js";
13
+ } from "./index-jkynkyfk.js";
14
14
  import {
15
15
  AppExecutor,
16
16
  WorkspaceExecutor
17
- } from "./index-hgna5rjy.js";
17
+ } from "./index-47qxw1tz.js";
18
18
 
19
19
  // pkgs/@akanjs/cli/cloud/cloud.runner.ts
20
20
  import path from "path";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  ModuleScript
4
- } from "./index-yzmhasdb.js";
4
+ } from "./index-60a3jfcz.js";
5
5
  import {
6
6
  addFieldUiPolicyForType,
7
7
  coerceFieldDefault,
@@ -34,15 +34,15 @@ import {
34
34
  sourceFile,
35
35
  validationCommandsForTarget,
36
36
  viaBuilderParameterName
37
- } from "./index-rzwcpcc3.js";
37
+ } from "./index-m4kpmmtj.js";
38
38
  import {
39
39
  script
40
- } from "./index-8hsbnyes.js";
40
+ } from "./index-jkynkyfk.js";
41
41
  import {
42
42
  AppExecutor,
43
43
  LibExecutor,
44
44
  ModuleExecutor
45
- } from "./index-hgna5rjy.js";
45
+ } from "./index-47qxw1tz.js";
46
46
 
47
47
  // pkgs/@akanjs/cli/primitive/primitive.script.ts
48
48
  import { capitalize } from "akanjs/common";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  getDirname
4
- } from "./index-hgna5rjy.js";
4
+ } from "./index-47qxw1tz.js";
5
5
 
6
6
  // pkgs/@akanjs/devkit/prompter.ts
7
7
  import fsPromise from "fs/promises";
@@ -9,14 +9,14 @@ import {
9
9
  createPassedPrimitiveReport,
10
10
  generatedFilesForSync,
11
11
  scalarChangedFiles
12
- } from "./index-rzwcpcc3.js";
12
+ } from "./index-m4kpmmtj.js";
13
13
  import {
14
14
  Prompter
15
- } from "./index-tdbas9r0.js";
15
+ } from "./index-qp089jp0.js";
16
16
  import {
17
17
  runner,
18
18
  script
19
- } from "./index-8hsbnyes.js";
19
+ } from "./index-jkynkyfk.js";
20
20
 
21
21
  // pkgs/@akanjs/cli/scalar/scalar.prompt.ts
22
22
  import { input } from "@inquirer/prompts";
package/index.js CHANGED
@@ -4,8 +4,8 @@ import {
4
4
  getTargetCommandNames,
5
5
  getTargetMetas,
6
6
  runCommands
7
- } from "./index-8hsbnyes.js";
8
- import"./index-hgna5rjy.js";
7
+ } from "./index-jkynkyfk.js";
8
+ import"./index-47qxw1tz.js";
9
9
  import"./index-mxvakhsm.js";
10
10
  import"./index-67546d0j.js";
11
11
  import {
@@ -17,22 +17,22 @@ import path from "path";
17
17
 
18
18
  // pkgs/@akanjs/cli/commandModules.ts
19
19
  var commandModules = {
20
- workspace: async () => (await import("./workspace.command-fpda0evj.js")).WorkspaceCommand,
21
- agent: async () => (await import("./agent.command-yv00p0s0.js")).AgentCommand,
22
- application: async () => (await import("./application.command-0qsczf4k.js")).ApplicationCommand,
23
- library: async () => (await import("./library.command-ebdj1vnm.js")).LibraryCommand,
24
- localRegistry: async () => (await import("./localRegistry.command-gb178ne8.js")).LocalRegistryCommand,
25
- package: async () => (await import("./package.command-t93p4jkj.js")).PackageCommand,
26
- module: async () => (await import("./module.command-9c1bnsx4.js")).ModuleCommand,
27
- page: async () => (await import("./page.command-k3k0meh2.js")).PageCommand,
28
- context: async () => (await import("./context.command-8d9e3k6b.js")).ContextCommand,
29
- cloud: async () => (await import("./cloud.command-dxfv18sa.js")).CloudCommand,
30
- guideline: async () => (await import("./guideline.command-3jbkxzh6.js")).GuidelineCommand,
31
- scalar: async () => (await import("./scalar.command-7a2jtv33.js")).ScalarCommand,
32
- primitive: async () => (await import("./primitive.command-de6nktdt.js")).PrimitiveCommand,
33
- quality: async () => (await import("./quality.command-z5kth2wa.js")).QualityCommand,
34
- repair: async () => (await import("./repair.command-ehf2g112.js")).RepairCommand,
35
- workflow: async () => (await import("./workflow.command-e0tt0vk2.js")).WorkflowCommand
20
+ workspace: async () => (await import("./workspace.command-3q1d6kk4.js")).WorkspaceCommand,
21
+ agent: async () => (await import("./agent.command-b0fcx3r2.js")).AgentCommand,
22
+ application: async () => (await import("./application.command-cgmy00gd.js")).ApplicationCommand,
23
+ library: async () => (await import("./library.command-aa1g8nsa.js")).LibraryCommand,
24
+ localRegistry: async () => (await import("./localRegistry.command-kshva1ck.js")).LocalRegistryCommand,
25
+ package: async () => (await import("./package.command-9qv6vr9s.js")).PackageCommand,
26
+ module: async () => (await import("./module.command-b1zzgqde.js")).ModuleCommand,
27
+ page: async () => (await import("./page.command-k16pw244.js")).PageCommand,
28
+ context: async () => (await import("./context.command-b5heat2a.js")).ContextCommand,
29
+ cloud: async () => (await import("./cloud.command-1m7hfdpk.js")).CloudCommand,
30
+ guideline: async () => (await import("./guideline.command-9ew6aqhm.js")).GuidelineCommand,
31
+ scalar: async () => (await import("./scalar.command-hs3nwzv1.js")).ScalarCommand,
32
+ primitive: async () => (await import("./primitive.command-s60dn1ae.js")).PrimitiveCommand,
33
+ quality: async () => (await import("./quality.command-p3vaze52.js")).QualityCommand,
34
+ repair: async () => (await import("./repair.command-mfv749ha.js")).RepairCommand,
35
+ workflow: async () => (await import("./workflow.command-z0e0fk0z.js")).WorkflowCommand
36
36
  };
37
37
  var commandModuleIds = Object.keys(commandModules);
38
38
 
@@ -1,13 +1,13 @@
1
1
  // @bun
2
2
  import {
3
3
  LibraryScript
4
- } from "./index-7c6k4yvg.js";
4
+ } from "./index-exhpp31y.js";
5
5
  import {
6
6
  Lib,
7
7
  Workspace,
8
8
  command
9
- } from "./index-8hsbnyes.js";
10
- import"./index-hgna5rjy.js";
9
+ } from "./index-jkynkyfk.js";
10
+ import"./index-47qxw1tz.js";
11
11
  import"./index-mxvakhsm.js";
12
12
  import"./index-67546d0j.js";
13
13
  import"./index-r24hmh0q.js";
@@ -2,27 +2,27 @@
2
2
  import {
3
3
  CloudRunner,
4
4
  getNpmRegistryUrl
5
- } from "./index-zasydjxd.js";
5
+ } from "./index-p6txr1ss.js";
6
6
  import {
7
7
  PackageScript
8
- } from "./index-k95xkh4p.js";
8
+ } from "./index-meh7mmz9.js";
9
9
  import"./index-0cj2zxbm.js";
10
10
  import {
11
11
  ApplicationScript
12
- } from "./index-e16gnn26.js";
12
+ } from "./index-nx1vbtsc.js";
13
13
  import"./index-76rn3g2c.js";
14
- import"./index-7c6k4yvg.js";
14
+ import"./index-exhpp31y.js";
15
15
  import {
16
16
  Workspace,
17
17
  command,
18
18
  runner,
19
19
  script
20
- } from "./index-8hsbnyes.js";
20
+ } from "./index-jkynkyfk.js";
21
21
  import"./index-fgc8r6dj.js";
22
22
  import"./index-bjpxzr6s.js";
23
23
  import {
24
24
  PkgExecutor
25
- } from "./index-hgna5rjy.js";
25
+ } from "./index-47qxw1tz.js";
26
26
  import"./index-mxvakhsm.js";
27
27
  import"./index-46tjzh6s.js";
28
28
  import"./index-67546d0j.js";
@@ -1,20 +1,20 @@
1
1
  // @bun
2
2
  import {
3
3
  ModuleScript
4
- } from "./index-yzmhasdb.js";
5
- import"./index-bbkek1bp.js";
4
+ } from "./index-60a3jfcz.js";
5
+ import"./index-hrwzz2wf.js";
6
6
  import"./index-ss469dec.js";
7
7
  import"./index-0cj2zxbm.js";
8
8
  import {
9
9
  renderPrimitiveReport
10
- } from "./index-rzwcpcc3.js";
11
- import"./index-tdbas9r0.js";
10
+ } from "./index-m4kpmmtj.js";
11
+ import"./index-qp089jp0.js";
12
12
  import {
13
13
  Module,
14
14
  Sys,
15
15
  command
16
- } from "./index-8hsbnyes.js";
17
- import"./index-hgna5rjy.js";
16
+ } from "./index-jkynkyfk.js";
17
+ import"./index-47qxw1tz.js";
18
18
  import"./index-mxvakhsm.js";
19
19
  import"./index-67546d0j.js";
20
20
  import"./index-r24hmh0q.js";
@@ -1,13 +1,13 @@
1
1
  // @bun
2
2
  import {
3
3
  PackageScript
4
- } from "./index-k95xkh4p.js";
4
+ } from "./index-meh7mmz9.js";
5
5
  import {
6
6
  Pkg,
7
7
  Workspace,
8
8
  command
9
- } from "./index-8hsbnyes.js";
10
- import"./index-hgna5rjy.js";
9
+ } from "./index-jkynkyfk.js";
10
+ import"./index-47qxw1tz.js";
11
11
  import"./index-mxvakhsm.js";
12
12
  import"./index-46tjzh6s.js";
13
13
  import"./index-67546d0j.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanjs/cli",
3
- "version": "3.0.0-alpha.3",
3
+ "version": "3.0.0-alpha.5",
4
4
  "sourceType": "module",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -34,7 +34,7 @@
34
34
  "@langchain/openai": "^1.4.6",
35
35
  "@tailwindcss/node": "^4.3.0",
36
36
  "@trapezedev/project": "^7.1.4",
37
- "akanjs": "3.0.0-alpha.3",
37
+ "akanjs": "3.0.0-alpha.5",
38
38
  "chalk": "^5.6.2",
39
39
  "commander": "^14.0.3",
40
40
  "dayjs": "^1.11.20",
@@ -1,13 +1,13 @@
1
1
  // @bun
2
2
  import {
3
3
  PageScript
4
- } from "./index-bbkek1bp.js";
4
+ } from "./index-hrwzz2wf.js";
5
5
  import {
6
6
  App,
7
7
  Module,
8
8
  command
9
- } from "./index-8hsbnyes.js";
10
- import"./index-hgna5rjy.js";
9
+ } from "./index-jkynkyfk.js";
10
+ import"./index-47qxw1tz.js";
11
11
  import"./index-mxvakhsm.js";
12
12
  import"./index-67546d0j.js";
13
13
  import"./index-r24hmh0q.js";
@@ -1,20 +1,20 @@
1
1
  // @bun
2
2
  import {
3
3
  PrimitiveScript
4
- } from "./index-bekddz9q.js";
5
- import"./index-yzmhasdb.js";
6
- import"./index-bbkek1bp.js";
4
+ } from "./index-pfrt7qwh.js";
5
+ import"./index-60a3jfcz.js";
6
+ import"./index-hrwzz2wf.js";
7
7
  import"./index-ss469dec.js";
8
8
  import"./index-0cj2zxbm.js";
9
9
  import {
10
10
  renderPrimitiveReport
11
- } from "./index-rzwcpcc3.js";
12
- import"./index-tdbas9r0.js";
11
+ } from "./index-m4kpmmtj.js";
12
+ import"./index-qp089jp0.js";
13
13
  import {
14
14
  Workspace,
15
15
  command
16
- } from "./index-8hsbnyes.js";
17
- import"./index-hgna5rjy.js";
16
+ } from "./index-jkynkyfk.js";
17
+ import"./index-47qxw1tz.js";
18
18
  import"./index-mxvakhsm.js";
19
19
  import"./index-67546d0j.js";
20
20
  import"./index-r24hmh0q.js";
@@ -7,8 +7,11 @@ import {
7
7
  command,
8
8
  runner,
9
9
  script
10
- } from "./index-8hsbnyes.js";
11
- import"./index-hgna5rjy.js";
10
+ } from "./index-jkynkyfk.js";
11
+ import {
12
+ appRootAllowedFiles,
13
+ libFacetRootAllowedFiles
14
+ } from "./index-47qxw1tz.js";
12
15
  import"./index-mxvakhsm.js";
13
16
  import"./index-67546d0j.js";
14
17
  import"./index-r24hmh0q.js";
@@ -404,27 +407,6 @@ var SUGGESTED_RULES = [
404
407
  "Move shared app utilities to apps/*/common instead of creating apps/*/base.",
405
408
  "Avoid large mixed-purpose class files; class export files should import helpers from neighboring utility files instead of declaring them inline."
406
409
  ];
407
- var APP_ROOT_FILES = new Set([
408
- "akan.app.json",
409
- "akan.config.ts",
410
- "capacitor.config.ts",
411
- "client.ts",
412
- "main.ts",
413
- "package.json",
414
- "server.ts",
415
- "tsconfig.json"
416
- ]);
417
- var LIB_ROOT_FILES = new Set([
418
- "cnst.ts",
419
- "db.ts",
420
- "dict.ts",
421
- "option.ts",
422
- "sig.ts",
423
- "srv.ts",
424
- "st.ts",
425
- "useClient.ts",
426
- "useServer.ts"
427
- ]);
428
410
  var CONVENTION_SUFFIXES = [
429
411
  ".constant.ts",
430
412
  ".dictionary.ts",
@@ -703,7 +685,7 @@ class AkanQualityScanner {
703
685
  #scanLayoutQuality(sourceFile) {
704
686
  const segments = sourceFile.file.split("/");
705
687
  const warnings = [];
706
- if (segments[0] === "apps" && segments.length === 3 && !APP_ROOT_FILES.has(segments[2])) {
688
+ if (segments[0] === "apps" && segments.length === 3 && !appRootAllowedFiles.has(segments[2])) {
707
689
  warnings.push({
708
690
  rule: "akan.layout.app-root-file",
709
691
  scope: "layout",
@@ -713,7 +695,7 @@ class AkanQualityScanner {
713
695
  });
714
696
  }
715
697
  const libRootFile = getLibRootFile(sourceFile.file);
716
- if (libRootFile && !LIB_ROOT_FILES.has(libRootFile)) {
698
+ if (libRootFile && !libFacetRootAllowedFiles.has(libRootFile)) {
717
699
  warnings.push({
718
700
  rule: "akan.layout.lib-root-file",
719
701
  scope: "layout",
@@ -1,15 +1,15 @@
1
1
  // @bun
2
2
  import {
3
3
  RepairRunner
4
- } from "./index-mr5s7mqd.js";
5
- import"./index-a00jg8x8.js";
6
- import"./index-rzwcpcc3.js";
4
+ } from "./index-6npsfpxr.js";
5
+ import"./index-jn9vfpwz.js";
6
+ import"./index-m4kpmmtj.js";
7
7
  import {
8
8
  Workspace,
9
9
  command,
10
10
  script
11
- } from "./index-8hsbnyes.js";
12
- import"./index-hgna5rjy.js";
11
+ } from "./index-jkynkyfk.js";
12
+ import"./index-47qxw1tz.js";
13
13
  import"./index-mxvakhsm.js";
14
14
  import"./index-xys926f2.js";
15
15
  import"./index-67546d0j.js";
@@ -1,18 +1,18 @@
1
1
  // @bun
2
2
  import {
3
3
  ScalarScript
4
- } from "./index-ec09pws3.js";
4
+ } from "./index-wrrb8rxk.js";
5
5
  import"./index-ss469dec.js";
6
6
  import"./index-0cj2zxbm.js";
7
7
  import {
8
8
  renderPrimitiveReport
9
- } from "./index-rzwcpcc3.js";
10
- import"./index-tdbas9r0.js";
9
+ } from "./index-m4kpmmtj.js";
10
+ import"./index-qp089jp0.js";
11
11
  import {
12
12
  Sys,
13
13
  command
14
- } from "./index-8hsbnyes.js";
15
- import"./index-hgna5rjy.js";
14
+ } from "./index-jkynkyfk.js";
15
+ import"./index-47qxw1tz.js";
16
16
  import"./index-mxvakhsm.js";
17
17
  import"./index-67546d0j.js";
18
18
  import"./index-r24hmh0q.js";
@@ -1,16 +1,22 @@
1
1
  import type { AppInfo, LibInfo } from "akanjs";
2
2
 
3
3
  export default function getContent(scanInfo: AppInfo | LibInfo | null, dict: { [key: string]: string } = {}) {
4
+ const isApp = (scanInfo?.type ?? "lib") === "app";
4
5
  return `
5
6
  import { makePageProto, registerClientRuntime } from "akanjs/client";
6
7
  import { FetchClient } from "akanjs/fetch";
7
8
  import * as cnst from "./cnst";
8
- import { getAllDictionary } from "./dict" with { type: "macro" };
9
- import type * as dict from "./dict";
9
+ ${isApp ? `import { getAllDictionary } from "./dict" with { type: "macro" };\n` : ""}import type * as dict from "./dict";
10
10
  import { getSerializedSignal } from "./sig" with { type: "macro" };
11
11
  import type * as signal from "./sig";
12
12
 
13
- const dictionary = process.env.AKAN_PUBLIC_RENDER_ENV === "csr" ? getAllDictionary() : {};
13
+ ${
14
+ isApp
15
+ ? `const dictionary = process.env.AKAN_PUBLIC_RENDER_ENV === "csr" ? getAllDictionary() : {};`
16
+ : `// dict.ts is cumulative, so a lib dictionary is a subset of the mounting app's. Translator state is global,
17
+ // so the app's seed already resolves l() here — seeding again would ship the same payload a second time.
18
+ const dictionary = {};`
19
+ }
14
20
  const pageProto = makePageProto<typeof dict>(dictionary);
15
21
  const fetchProto = FetchClient.build<typeof signal>(cnst, getSerializedSignal(), { Err: pageProto.Err });
16
22
  export const runtime = registerClientRuntime({ ...pageProto, ...fetchProto }, { scope: ${JSON.stringify(scanInfo?.type ?? "lib")} });
@@ -6,8 +6,9 @@ alwaysApply: false
6
6
 
7
7
  # Akan Sync Conventions
8
8
 
9
- - `apps/<appName>` root may only contain these files: `akan.app.json`, `akan.config.ts`, `capacitor.config.ts`, `client.ts`, `main.ts`, `package.json`, `server.ts`, `tsconfig.json`.
10
- - `apps/<appName>` root may only contain these folders: `.akan`, `android`, `common`, `env`, `ios`, `lib`, `page`, `private`, `public`, `script`, `srvkit`, `ui`, `webkit`.
9
+ - `apps/<appName>` root may only contain these files: `AGENTS.md`, `CLAUDE.md`, `akan.app.json`, `akan.config.ts`, `capacitor.config.ts`, `client.ts`, `main.ts`, `package.json`, `server.ts`, `tsconfig.json`.
10
+ - `apps/<appName>` root may only contain these folders: `.akan`, `android`, `common`, `env`, `ios`, `lib`, `mobile`, `page`, `plugin`, `private`, `public`, `script`, `secrets`, `srvkit`, `ui`, `webkit`.
11
+ - `akan sync` maintains a scoped agent guide per app/lib (`apps/<app>/AGENTS.md` / `libs/<lib>/AGENTS.md`); the `akan:agent` block in it is generated, content outside the markers is hand-editable, and `akan lint` fails when the block is stale.
11
12
  - Do not add `apps/*/base`; place shared app utilities under `apps/*/common`.
12
13
  - `apps/*/lib` and `libs/*/lib` root files are limited to generated/support files: `cnst.ts`, `db.ts`, `dict.ts`, `option.ts`, `sig.ts`, `srv.ts`, `st.ts`, `useClient.ts`, `useServer.ts`.
13
14
  - Domain module folders are `lib/<model>` for database modules, `lib/_<service>` for service modules, and `lib/__scalar/<scalar>` for scalar modules.
@@ -260,6 +260,7 @@ final fallback when no CLI command covers the change.
260
260
  | Create a file without running sync | New files won't appear in barrel exports. Imports like `import * as cnst from "../cnst"` will fail. | Always run `akan sync <name>` after creating, renaming, or deleting any module file |
261
261
  | Use JS `#private` in `*.constant.ts`, `*.document.ts`, `*.service.ts`, or `*.store.ts` | `no-js-private-class-method.grit` bans `#private` in exactly those four file suffixes. The rule is scoped by file path, not class shape — `#private` stays the house style under `srvkit/`, including `adapt()` classes. | `private _methodName()` in those four files; `#methodName()` in `srvkit/` |
262
262
  | Use `console.log()` | Biome lint forbids `console.log`. Only `console.error`, `console.info`, `console.warn` are allowed. | Use one of the three allowed console methods, or `this.logger.*` / `new Logger("ClassName")` on the server |
263
+ | Write a `//!` marker in `ui/`, `webkit/`, `common/`, `page/**/*.tsx`, `*.constant.ts`, `*.store.ts`, or a module component file | `no-bang-comment-in-client.grit` bans it. Bun classifies `//!` and `/*!` as legal comments and keeps them through minification, so the note ships to every visitor. | `// FIXME:` in browser-reachable code; `//!` stays legal in server, `srvkit/`, and CLI files |
263
264
  | `throw new Error("...")` | `no-throw-raw-error.grit` bans raw errors outside tests, `*.constant.ts`, and `common/`. Raw errors carry no dictionary key, so they cannot be localized or toasted. | `throw new Err("task.error.<key>")` plus an `[en, ko]` entry in the module dictionary's `.error({})` |
264
265
  | Hand-order Tailwind classes, or reorder them to "fix" a diff | `useSortedClasses` is an error and also sorts the string arguments to `clsx()` and `cva()`. Sorter output like `font-bold text-2xl` looks wrong but is correct. | Write classes in any order and let `akan lint` sort them |
265
266
  | `import` a third-party package inside a page, a barrel, or a module file | `no-import-external-library.grit` covers `page/**`, all barrels, and every `*.{constant,dictionary,document,service,signal,store}.ts` and `*.{Template,Unit,Util,View,Zone}.tsx`. | Re-export the symbol from a one-line shim in `base/`, `webkit/`, or `ui/` first, then import that |
@@ -484,6 +485,9 @@ Do not narrate code. Do document the thing the code cannot say. Both halves are
484
485
  - Markers: `TODO` unfinished work · `FIXME` known broken behavior · `XXX` hazard a reader must not miss · `//!`
485
486
  disabled or must-fix code · `//?` an explanatory aside · `//*` a design note · deletion caution, warning why
486
487
  removing a line would break something non-obvious.
488
+ - `//!` is for server, `srvkit/`, and CLI files only. Bun's bundler treats `//!` and `/*!` as legal comments and
489
+ keeps them through minification, so in browser-reachable code the note ships verbatim to every visitor. Use
490
+ `// FIXME:` there — `no-bang-comment-in-client.grit` enforces it.
487
491
  - Keep allowed comments to one short line, and give every suppression a reason:
488
492
  `// biome-ignore lint/<rule>: <why>`. Never a bare disable block.
489
493
  - Match nearby file style: if the surrounding code has few comments, keep it that way.