@akanjs/cli 3.0.0-alpha.9 → 3.0.0-alpha.90

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 (135) hide show
  1. package/.build-stamp +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +1 -1
  4. package/{abstractCompactor-e5yq60qz.js → abstractCompactor-cefxzggj.js} +3 -5
  5. package/{agent.command-f0gqkfgz.js → agent.command-r93wmq7m.js} +11 -13
  6. package/{application.command-x903m2qq.js → application.command-5nqfqgdn.js} +62 -38
  7. package/{applicationBuildRunner-ha3y8ew8.js → applicationBuildRunner-b21m07fs.js} +23 -20
  8. package/{applicationReleasePackager-gg8ccbeh.js → applicationReleasePackager-3wh58n2m.js} +8 -9
  9. package/buildBatch.proc.js +12 -14
  10. package/capacitorApp-gzcx6txb.js +12 -0
  11. package/{cloud.command-zs6kyf83.js → cloud.command-g0pk0k60.js} +15 -18
  12. package/commandManifest.json +1 -1
  13. package/{context.command-fmepgjzg.js → context.command-qd8kqrnh.js} +19 -23
  14. package/dependencyScanner-shs82ynp.js +8 -0
  15. package/devTui-2xf0meaq.js +552 -0
  16. package/devTuiView-7jy8f30g.js +9 -0
  17. package/getDirname-dr3jz1xg.js +7 -0
  18. package/{guideline.command-n6sw0a0c.js → guideline.command-f38x8jhw.js} +16 -18
  19. package/guidelines/agentRule/agentRule.generate.json +31 -0
  20. package/guidelines/agentRule/agentRule.instruction.md +533 -0
  21. package/guidelines/conventions/conventions.instruction.md +406 -197
  22. package/guidelines/cssRule/cssRule.instruction.md +7 -0
  23. package/guidelines/framework/framework.generate.json +3 -2
  24. package/guidelines/framework/framework.instruction.md +1 -9
  25. package/guidelines/mcpRule/mcpRule.generate.json +25 -0
  26. package/guidelines/mcpRule/mcpRule.instruction.md +217 -0
  27. package/guidelines/modelStore/modelStore.instruction.md +12 -0
  28. package/guidelines/modelTemplate/modelTemplate.instruction.md +5 -0
  29. package/guidelines/queryRule/queryRule.generate.json +31 -0
  30. package/guidelines/queryRule/queryRule.instruction.md +143 -0
  31. package/guidelines/runtimeRule/runtimeRule.generate.json +25 -0
  32. package/guidelines/runtimeRule/runtimeRule.instruction.md +213 -0
  33. package/guidelines/ssrRule/ssrRule.instruction.md +49 -5
  34. package/guidelines/transportRule/transportRule.generate.json +31 -0
  35. package/guidelines/transportRule/transportRule.instruction.md +60 -0
  36. package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +51 -760
  37. package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +33 -0
  38. package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +402 -0
  39. package/incrementalBuilder.proc.js +26 -25
  40. package/{index-774gcx29.js → index-0emb9eat.js} +41 -34
  41. package/index-3d9y066c.js +76 -0
  42. package/{index-3vta1tqa.js → index-3vvbv974.js} +32 -32
  43. package/{index-76rn3g2c.js → index-47pj3aee.js} +4 -4
  44. package/{index-y4vkyhvv.js → index-5xdqxbn9.js} +14 -14
  45. package/{index-1577bej2.js → index-6wwzs1bc.js} +2 -2
  46. package/{index-wnp7hwq7.js → index-92zztqy1.js} +7 -7
  47. package/{index-jhpa13zj.js → index-9bwhxrqf.js} +57 -57
  48. package/{index-bjpxzr6s.js → index-9wtbw98m.js} +6 -3
  49. package/{index-fgc8r6dj.js → index-a5vmm6x4.js} +3 -1
  50. package/{index-xys926f2.js → index-by5gpp8x.js} +4 -4
  51. package/{index-kdh76j26.js → index-cezy7yb3.js} +100 -32
  52. package/{index-62955kn5.js → index-d61rcfa2.js} +758 -127
  53. package/{index-82jrh4hj.js → index-deekbtkj.js} +13 -13
  54. package/{index-rxkpk7n4.js → index-e82dyeqy.js} +4 -4
  55. package/{index-qzdjd4ct.js → index-h759vjfa.js} +18 -18
  56. package/{index-j37qq1f2.js → index-h7yw2z9n.js} +7 -7
  57. package/{index-qb61h0k7.js → index-jydtyzva.js} +1098 -1360
  58. package/{index-46tjzh6s.js → index-kcxmv48c.js} +29 -29
  59. package/{index-4m0bphac.js → index-kfnr6c19.js} +31 -30
  60. package/{index-xmmzf150.js → index-mpmyqm1y.js} +1 -1
  61. package/{index-xjd3rqzj.js → index-n68jx79w.js} +6 -15
  62. package/{index-0cj2zxbm.js → index-n85fer99.js} +12 -11
  63. package/{index-779ske1y.js → index-pgsswppj.js} +27 -27
  64. package/index-pvb4vdwr.js +159 -0
  65. package/{index-67546d0j.js → index-q0y2jq9j.js} +14 -2
  66. package/{index-z8ptfkzv.js → index-q8sn827n.js} +969 -240
  67. package/{index-5sn5w2mt.js → index-r50qen0z.js} +94 -61
  68. package/{index-eyyf2149.js → index-rntcdss1.js} +36 -37
  69. package/{index-gcv8ncfh.js → index-sjak5v5b.js} +16 -12
  70. package/{index-j9cxndc0.js → index-w8kmx1b6.js} +20 -11
  71. package/{index-jf2ya7r2.js → index-y74k5anj.js} +8 -8
  72. package/{index-d43t8af2.js → index-zkvpaggp.js} +58 -25
  73. package/index.js +22 -25
  74. package/{library.command-cv9gdbmg.js → library.command-em103wtn.js} +11 -10
  75. package/{localRegistry.command-d8fg36zc.js → localRegistry.command-gz8apn4y.js} +20 -23
  76. package/{module.command-qyr1s9cn.js → module.command-451pztkc.js} +13 -16
  77. package/{package.command-wsjx0k47.js → package.command-rfhyf38t.js} +8 -10
  78. package/package.json +5 -7
  79. package/{page.command-rdzg65rm.js → page.command-kt19da5g.js} +7 -9
  80. package/{primitive.command-89g38b53.js → primitive.command-pgy69ere.js} +13 -16
  81. package/{quality.command-0cs2z92d.js → quality.command-gpe2vqb5.js} +226 -105
  82. package/recipeScanner-fpagtgc1.js +11 -0
  83. package/{repair.command-6fphxfwj.js → repair.command-2sbrz187.js} +12 -14
  84. package/{routeSourceValidator-e4jmbfcx.js → routeSourceValidator-ze6x894c.js} +0 -2
  85. package/{scalar.command-xfer69s6.js → scalar.command-jcf4e5sv.js} +11 -14
  86. package/subspace.command-kqzqtk0p.js +755 -0
  87. package/templates/app/env/env.client.debug.ts.template +1 -5
  88. package/templates/app/env/env.client.develop.ts.template +1 -5
  89. package/templates/app/env/env.client.local.ts.template +1 -5
  90. package/templates/app/env/env.client.main.ts.template +1 -5
  91. package/templates/app/env/env.client.testing.ts.template +1 -5
  92. package/templates/app/env/env.client.type.ts +2 -6
  93. package/templates/app/env/env.server.debug.ts.template +1 -5
  94. package/templates/app/env/env.server.develop.ts.template +1 -5
  95. package/templates/app/env/env.server.local.ts.template +1 -5
  96. package/templates/app/env/env.server.main.ts.template +1 -5
  97. package/templates/app/main.ts +3 -1
  98. package/templates/appSample/lib/task/task.signal.ts +11 -6
  99. package/templates/appSample/srvkit/AuthGuard.ts +9 -5
  100. package/templates/appSample/srvkit/SessionInternalArg.ts +4 -3
  101. package/templates/crudPages/[__model__Id]/edit/page.tsx +5 -5
  102. package/templates/crudPages/[__model__Id]/page.tsx +10 -13
  103. package/templates/crudPages/new/page.tsx +5 -5
  104. package/templates/crudPages/page.tsx +9 -9
  105. package/templates/crudSinglePage/page.tsx +11 -7
  106. package/templates/env/_env.server.type.ts +7 -5
  107. package/templates/lib/db.ts +1 -1
  108. package/templates/lib/dict.ts +1 -1
  109. package/templates/lib/sig.ts +1 -1
  110. package/templates/lib/srv.ts +6 -2
  111. package/templates/module/__model__.dictionary.ts +4 -1
  112. package/templates/module/__model__.signal.ts +2 -3
  113. package/templates/module/__model__.store.ts +1 -2
  114. package/templates/workspaceRoot/.gitignore.template +0 -1
  115. package/templates/workspaceRoot/.husky/pre-commit.template +16 -0
  116. package/templates/workspaceRoot/.vscode/settings.json.template +1 -1
  117. package/templates/workspaceRoot/AGENTS.md.template +4 -0
  118. package/templates/workspaceRoot/CLAUDE.md.template +19 -0
  119. package/templates/workspaceRoot/biome.json.template +2 -1
  120. package/templates/workspaceRoot/docs/AI-DEVELOPMENT.md.template +10 -14
  121. package/templates/workspaceRoot/docs/GENERATED.md.template +12 -10
  122. package/templates/workspaceRoot/package.json.template +2 -4
  123. package/typeChecker-3xgrzc2v.js +7 -0
  124. package/typecheck.proc.js +4 -5
  125. package/{workflow.command-2ygfqt4f.js → workflow.command-m4z25a2p.js} +22 -25
  126. package/{workspace.command-88m0zs64.js → workspace.command-dqgj9zbk.js} +96 -81
  127. package/capacitorApp-9xswcgx7.js +0 -61
  128. package/dependencyScanner-f6grrep3.js +0 -9
  129. package/getDirname-m9s0cmhq.js +0 -8
  130. package/index-mxvakhsm.js +0 -66
  131. package/index-r24hmh0q.js +0 -4
  132. package/recipeScanner-tghkzrrt.js +0 -12
  133. package/typeChecker-kravn7ns.js +0 -8
  134. /package/{index-0wae5ebk.js → index-meh558jy.js} +0 -0
  135. /package/{index-ss469dec.js → index-nz8prx9g.js} +0 -0
@@ -2,16 +2,24 @@
2
2
  import {
3
3
  runner,
4
4
  script
5
- } from "./index-kdh76j26.js";
5
+ } from "./index-cezy7yb3.js";
6
6
  import {
7
7
  LibExecutor
8
- } from "./index-z8ptfkzv.js";
8
+ } from "./index-q8sn827n.js";
9
+ import {
10
+ LibSource,
11
+ formatLibStatuses
12
+ } from "./index-3d9y066c.js";
13
+
14
+ // pkgs/@akanjs/cli/library/library.script.ts
15
+ import { Logger } from "akanjs/common";
9
16
 
10
- // pkgs/@akanjs/cli/semver.ts
11
- function parseVersion(version) {
17
+ // pkgs/@akanjs/devkit/semver.ts
18
+ var stripRangeOperator = (version) => version.replace(/^[\s^~>=<v]+/, "").trim();
19
+ var parseVersion = (version) => {
12
20
  return version.replace(/^[^\d]*/, "").split(/[.-]/).map((part) => Number.parseInt(part, 10)).map((part) => Number.isFinite(part) ? part : 0);
13
- }
14
- function compareSemver(a, b) {
21
+ };
22
+ var compareNumeric = (a, b) => {
15
23
  const left = parseVersion(a);
16
24
  const right = parseVersion(b);
17
25
  const length = Math.max(left.length, right.length);
@@ -21,40 +29,64 @@ function compareSemver(a, b) {
21
29
  return diff > 0 ? 1 : -1;
22
30
  }
23
31
  return 0;
24
- }
32
+ };
33
+ var compareSemver = (a, b) => {
34
+ try {
35
+ return Bun.semver.order(stripRangeOperator(a), stripRangeOperator(b));
36
+ } catch {
37
+ return compareNumeric(a, b);
38
+ }
39
+ };
25
40
 
26
41
  // pkgs/@akanjs/cli/library/library.runner.ts
27
42
  class LibraryRunner extends runner("library") {
43
+ static libraryRepository = "https://github.com/akan-team/akanjs.git";
28
44
  async createLibrary(libName, workspace) {
29
- await workspace.exec(`mkdir -p libs/${libName}`);
45
+ await workspace.mkdir(`libs/${libName}`);
30
46
  await workspace.applyTemplate({ basePath: `libs/${libName}`, template: "libRoot", dict: { libName } });
31
47
  const lib = LibExecutor.from(workspace, libName);
32
48
  return lib;
33
49
  }
34
50
  async removeLibrary(lib) {
35
- await lib.workspace.exec(`rm -rf libs/${lib.name}`);
51
+ await lib.workspace.removeDir(`libs/${lib.name}`);
36
52
  }
37
53
  async#copyInstalledLibrary(workspace, libName) {
38
54
  const installedPackageJson = `node_modules/akanjs/libs/${libName}/package.json`;
39
55
  if (!await workspace.exists(installedPackageJson))
40
- return false;
56
+ return null;
41
57
  await workspace.cp(`node_modules/akanjs/libs/${libName}`, `libs/${libName}`);
42
- return true;
58
+ return { origin: "akanjs", sha: await this.#installedAkanVersion(workspace) };
59
+ }
60
+ async#installedAkanVersion(workspace) {
61
+ const manifestPath = "node_modules/akanjs/package.json";
62
+ if (!await workspace.exists(manifestPath))
63
+ return "unknown";
64
+ const { version } = await workspace.readJson(manifestPath);
65
+ return version ?? "unknown";
43
66
  }
44
67
  async#copyLibraryFromRepository(workspace, libName) {
45
68
  await workspace.mkdir("node_modules/.akan");
46
69
  if (await workspace.exists("node_modules/.akan/akanjs"))
47
70
  await workspace.removeDir("node_modules/.akan/akanjs");
48
- await workspace.exec(`cd node_modules/.akan && git clone https://github.com/akan-team/akanjs.git`);
71
+ await workspace.exec(`cd node_modules/.akan && git clone ${LibraryRunner.libraryRepository}`);
49
72
  await workspace.cp(`node_modules/.akan/akanjs/libs/${libName}`, `libs/${libName}`);
73
+ const sha = await workspace.spawn("git", ["-C", "node_modules/.akan/akanjs", "rev-parse", "HEAD"]);
74
+ return { origin: LibraryRunner.libraryRepository, sha: sha.trim().slice(0, 12) };
50
75
  }
51
76
  async installLibrary(workspace, libName) {
52
- const copiedFromInstalledPackage = await this.#copyInstalledLibrary(workspace, libName);
53
- if (!copiedFromInstalledPackage)
54
- await this.#copyLibraryFromRepository(workspace, libName);
55
- await workspace.cp(`libs/${libName}/env/env.server.example.ts`, `libs/${libName}/env/env.server.testing.ts`);
56
- await workspace.commit(`Add ${libName} library`);
57
- return LibExecutor.from(workspace, libName);
77
+ const source = await this.#copyInstalledLibrary(workspace, libName) ?? await this.#copyLibraryFromRepository(workspace, libName);
78
+ const testingEnv = `libs/${libName}/env/env.server.testing.ts`;
79
+ if (!await workspace.exists(testingEnv))
80
+ await workspace.cp(`libs/${libName}/env/env.server.example.ts`, testingEnv);
81
+ const lib = LibExecutor.from(workspace, libName);
82
+ const stamp = await new LibSource(lib).write(source);
83
+ if (await workspace.hasChanges())
84
+ await workspace.commit(`Install ${libName} library from ${stamp.origin}`);
85
+ return lib;
86
+ }
87
+ async libraryStatuses(workspace) {
88
+ const libNames = await workspace.getLibs();
89
+ return await Promise.all(libNames.map((libName) => new LibSource(LibExecutor.from(workspace, libName)).status()));
58
90
  }
59
91
  async mergeLibraryDependencies(lib) {
60
92
  const libPackageJson = await lib.getPackageJson();
@@ -70,7 +102,7 @@ class LibraryRunner extends runner("library") {
70
102
  return [dep, newerVersion];
71
103
  }));
72
104
  Object.keys(allDependencies).sort().forEach((dep) => {
73
- if (!!libPackageJson.dependencies?.[dep] || !!rootPackageJson.dependencies?.[dep])
105
+ if (libPackageJson.dependencies?.[dep] || rootPackageJson.dependencies?.[dep])
74
106
  dependencies[dep] = allDependencies[dep];
75
107
  else
76
108
  devDependencies[dep] = allDependencies[dep];
@@ -80,7 +112,6 @@ class LibraryRunner extends runner("library") {
80
112
  await lib.workspace.spawn("bun", ["install"]);
81
113
  await lib.workspace.commit(`Merge ${lib.name} library dependencies`);
82
114
  }
83
- async testLibrary(lib) {}
84
115
  }
85
116
 
86
117
  // pkgs/@akanjs/cli/library/library.script.ts
@@ -102,6 +133,13 @@ class LibraryScript extends script("library", [LibraryRunner]) {
102
133
  await this.libraryRunner.removeLibrary(lib);
103
134
  spinner.succeed(`Library ${lib.name} (libs/${lib.name}) is removed`);
104
135
  }
136
+ async libraryStatus(workspace, format = "text") {
137
+ const spinner = workspace.spinning("Checking library sources...");
138
+ const statuses = await this.libraryRunner.libraryStatuses(workspace);
139
+ const drifted = statuses.filter((status) => status.drift === "drifted").length;
140
+ spinner.succeed(`Checked ${statuses.length} libraries (${drifted} drifted)`);
141
+ Logger.rawLog(format === "json" ? JSON.stringify(statuses, null, 2) : formatLibStatuses(statuses));
142
+ }
105
143
  async installLibrary(workspace, libName) {
106
144
  const installSpinner = workspace.spinning(`Installing ${libName} library`);
107
145
  const lib = await this.libraryRunner.installLibrary(workspace, libName);
@@ -110,11 +148,6 @@ class LibraryScript extends script("library", [LibraryRunner]) {
110
148
  await this.libraryRunner.mergeLibraryDependencies(lib);
111
149
  mergeSpinner.succeed(`${libName} library (libs/${libName}) dependencies merged to root package.json`);
112
150
  }
113
- async testLibrary(lib) {
114
- const spinner = lib.spinning("Testing library...");
115
- await this.libraryRunner.testLibrary(lib);
116
- spinner.succeed(`Library ${lib.name} (libs/${lib.name}) test is successful`);
117
- }
118
151
  }
119
152
 
120
153
  export { LibraryScript };
package/index.js CHANGED
@@ -1,39 +1,36 @@
1
1
  #!/usr/bin/env bun
2
2
  // @bun
3
3
  import {
4
- getTargetCommandNames,
5
4
  getTargetMetas,
5
+ getTargetCommandNames,
6
6
  runCommands
7
- } from "./index-kdh76j26.js";
8
- import"./index-z8ptfkzv.js";
9
- import"./index-mxvakhsm.js";
10
- import"./index-1577bej2.js";
11
- import"./index-67546d0j.js";
12
- import {
13
- __require
14
- } from "./index-r24hmh0q.js";
7
+ } from "./index-cezy7yb3.js";
8
+ import"./index-q0y2jq9j.js";
9
+ import"./index-q8sn827n.js";
10
+ import"./index-6wwzs1bc.js";
15
11
 
16
12
  // pkgs/@akanjs/cli/commandManifest.ts
17
13
  import path from "path";
18
14
 
19
15
  // pkgs/@akanjs/cli/commandModules.ts
20
16
  var commandModules = {
21
- workspace: async () => (await import("./workspace.command-88m0zs64.js")).WorkspaceCommand,
22
- agent: async () => (await import("./agent.command-f0gqkfgz.js")).AgentCommand,
23
- application: async () => (await import("./application.command-x903m2qq.js")).ApplicationCommand,
24
- library: async () => (await import("./library.command-cv9gdbmg.js")).LibraryCommand,
25
- localRegistry: async () => (await import("./localRegistry.command-d8fg36zc.js")).LocalRegistryCommand,
26
- package: async () => (await import("./package.command-wsjx0k47.js")).PackageCommand,
27
- module: async () => (await import("./module.command-qyr1s9cn.js")).ModuleCommand,
28
- page: async () => (await import("./page.command-rdzg65rm.js")).PageCommand,
29
- context: async () => (await import("./context.command-fmepgjzg.js")).ContextCommand,
30
- cloud: async () => (await import("./cloud.command-zs6kyf83.js")).CloudCommand,
31
- guideline: async () => (await import("./guideline.command-n6sw0a0c.js")).GuidelineCommand,
32
- scalar: async () => (await import("./scalar.command-xfer69s6.js")).ScalarCommand,
33
- primitive: async () => (await import("./primitive.command-89g38b53.js")).PrimitiveCommand,
34
- quality: async () => (await import("./quality.command-0cs2z92d.js")).QualityCommand,
35
- repair: async () => (await import("./repair.command-6fphxfwj.js")).RepairCommand,
36
- workflow: async () => (await import("./workflow.command-2ygfqt4f.js")).WorkflowCommand
17
+ workspace: async () => (await import("./workspace.command-dqgj9zbk.js")).WorkspaceCommand,
18
+ agent: async () => (await import("./agent.command-r93wmq7m.js")).AgentCommand,
19
+ application: async () => (await import("./application.command-5nqfqgdn.js")).ApplicationCommand,
20
+ library: async () => (await import("./library.command-em103wtn.js")).LibraryCommand,
21
+ localRegistry: async () => (await import("./localRegistry.command-gz8apn4y.js")).LocalRegistryCommand,
22
+ package: async () => (await import("./package.command-rfhyf38t.js")).PackageCommand,
23
+ module: async () => (await import("./module.command-451pztkc.js")).ModuleCommand,
24
+ page: async () => (await import("./page.command-kt19da5g.js")).PageCommand,
25
+ context: async () => (await import("./context.command-qd8kqrnh.js")).ContextCommand,
26
+ cloud: async () => (await import("./cloud.command-g0pk0k60.js")).CloudCommand,
27
+ subspace: async () => (await import("./subspace.command-kqzqtk0p.js")).SubspaceCommand,
28
+ guideline: async () => (await import("./guideline.command-f38x8jhw.js")).GuidelineCommand,
29
+ scalar: async () => (await import("./scalar.command-jcf4e5sv.js")).ScalarCommand,
30
+ primitive: async () => (await import("./primitive.command-pgy69ere.js")).PrimitiveCommand,
31
+ quality: async () => (await import("./quality.command-gpe2vqb5.js")).QualityCommand,
32
+ repair: async () => (await import("./repair.command-2sbrz187.js")).RepairCommand,
33
+ workflow: async () => (await import("./workflow.command-m4z25a2p.js")).WorkflowCommand
37
34
  };
38
35
  var commandModuleIds = Object.keys(commandModules);
39
36
 
@@ -1,17 +1,15 @@
1
1
  // @bun
2
- import {
3
- LibraryScript
4
- } from "./index-d43t8af2.js";
5
2
  import {
6
3
  Lib,
7
4
  Workspace,
8
5
  command
9
- } from "./index-kdh76j26.js";
10
- import"./index-z8ptfkzv.js";
11
- import"./index-mxvakhsm.js";
12
- import"./index-1577bej2.js";
13
- import"./index-67546d0j.js";
14
- import"./index-r24hmh0q.js";
6
+ } from "./index-cezy7yb3.js";
7
+ import"./index-q0y2jq9j.js";
8
+ import"./index-q8sn827n.js";
9
+ import"./index-6wwzs1bc.js";
10
+ import {
11
+ LibraryScript
12
+ } from "./index-zkvpaggp.js";
15
13
 
16
14
  // pkgs/@akanjs/cli/library/library.command.ts
17
15
  class LibraryCommand extends command("library", [LibraryScript], ({ public: target }) => ({
@@ -24,7 +22,10 @@ class LibraryCommand extends command("library", [LibraryScript], ({ public: targ
24
22
  syncLibrary: target({ desc: "Sync dependencies and configuration for a library" }).with(Lib).exec(async function(lib) {
25
23
  await this.libraryScript.syncLibrary(lib);
26
24
  }),
27
- installLibrary: target({ desc: "Install pre-built library templates (shared, util, etc.)" }).arg("libName", String, { desc: "name of library", nullable: true }).with(Workspace).exec(async function(libName, workspace) {
25
+ libraryStatus: target({ desc: "Report whether each library still matches the source it was installed from" }).with(Workspace).option("format", String, { desc: "output format", default: "text", enum: ["text", "json"] }).exec(async function(workspace, format) {
26
+ await this.libraryScript.libraryStatus(workspace, format);
27
+ }),
28
+ installLibrary: target({ desc: "Install pre-built library templates (shared, util, etc.)" }).arg("libName", String, { desc: "name of library" }).with(Workspace).exec(async function(libName, workspace) {
28
29
  await this.libraryScript.installLibrary(workspace, libName);
29
30
  })
30
31
  })) {
@@ -1,33 +1,30 @@
1
1
  // @bun
2
2
  import {
3
- CloudRunner,
4
- getNpmRegistryUrl
5
- } from "./index-4m0bphac.js";
3
+ Workspace,
4
+ runner,
5
+ script,
6
+ command
7
+ } from "./index-cezy7yb3.js";
8
+ import"./index-q0y2jq9j.js";
6
9
  import {
7
- PackageScript
8
- } from "./index-gcv8ncfh.js";
9
- import"./index-0cj2zxbm.js";
10
+ PkgExecutor
11
+ } from "./index-q8sn827n.js";
12
+ import"./index-6wwzs1bc.js";
10
13
  import {
11
14
  ApplicationScript
12
- } from "./index-62955kn5.js";
13
- import"./index-d43t8af2.js";
14
- import"./index-76rn3g2c.js";
15
+ } from "./index-d61rcfa2.js";
16
+ import"./index-zkvpaggp.js";
17
+ import"./index-9wtbw98m.js";
18
+ import"./index-n85fer99.js";
15
19
  import {
16
- Workspace,
17
- command,
18
- runner,
19
- script
20
- } from "./index-kdh76j26.js";
21
- import"./index-fgc8r6dj.js";
22
- import"./index-bjpxzr6s.js";
20
+ getNpmRegistryUrl,
21
+ CloudRunner
22
+ } from "./index-kfnr6c19.js";
23
+ import"./index-kcxmv48c.js";
23
24
  import {
24
- PkgExecutor
25
- } from "./index-z8ptfkzv.js";
26
- import"./index-mxvakhsm.js";
27
- import"./index-1577bej2.js";
28
- import"./index-46tjzh6s.js";
29
- import"./index-67546d0j.js";
30
- import"./index-r24hmh0q.js";
25
+ PackageScript
26
+ } from "./index-sjak5v5b.js";
27
+ import"./index-pvb4vdwr.js";
31
28
 
32
29
  // pkgs/@akanjs/cli/localRegistry/localRegistry.runner.ts
33
30
  import { mkdir, rm } from "fs/promises";
@@ -1,24 +1,21 @@
1
1
  // @bun
2
2
  import {
3
- ModuleScript
4
- } from "./index-jhpa13zj.js";
5
- import"./index-ss469dec.js";
6
- import"./index-xmmzf150.js";
7
- import"./index-0cj2zxbm.js";
3
+ Sys,
4
+ Module,
5
+ command
6
+ } from "./index-cezy7yb3.js";
7
+ import"./index-q0y2jq9j.js";
8
+ import"./index-q8sn827n.js";
9
+ import"./index-6wwzs1bc.js";
8
10
  import {
9
11
  renderPrimitiveReport
10
- } from "./index-rxkpk7n4.js";
11
- import"./index-j37qq1f2.js";
12
+ } from "./index-e82dyeqy.js";
13
+ import"./index-n85fer99.js";
12
14
  import {
13
- Module,
14
- Sys,
15
- command
16
- } from "./index-kdh76j26.js";
17
- import"./index-z8ptfkzv.js";
18
- import"./index-mxvakhsm.js";
19
- import"./index-1577bej2.js";
20
- import"./index-67546d0j.js";
21
- import"./index-r24hmh0q.js";
15
+ ModuleScript
16
+ } from "./index-9bwhxrqf.js";
17
+ import"./index-mpmyqm1y.js";
18
+ import"./index-h7yw2z9n.js";
22
19
 
23
20
  // pkgs/@akanjs/cli/module/module.command.ts
24
21
  import { Logger, lowerlize } from "akanjs/common";
@@ -1,18 +1,16 @@
1
1
  // @bun
2
- import {
3
- PackageScript
4
- } from "./index-gcv8ncfh.js";
5
2
  import {
6
3
  Pkg,
7
4
  Workspace,
8
5
  command
9
- } from "./index-kdh76j26.js";
10
- import"./index-z8ptfkzv.js";
11
- import"./index-mxvakhsm.js";
12
- import"./index-1577bej2.js";
13
- import"./index-46tjzh6s.js";
14
- import"./index-67546d0j.js";
15
- import"./index-r24hmh0q.js";
6
+ } from "./index-cezy7yb3.js";
7
+ import"./index-q0y2jq9j.js";
8
+ import"./index-q8sn827n.js";
9
+ import"./index-6wwzs1bc.js";
10
+ import"./index-kcxmv48c.js";
11
+ import {
12
+ PackageScript
13
+ } from "./index-sjak5v5b.js";
16
14
 
17
15
  // pkgs/@akanjs/cli/package/package.command.ts
18
16
  class PackageCommand extends command("package", [PackageScript], ({ public: target }) => ({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@akanjs/cli",
3
- "version": "3.0.0-alpha.9",
3
+ "version": "3.0.0-alpha.90",
4
4
  "sourceType": "module",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -14,11 +14,10 @@
14
14
  "directory": "pkgs/@akanjs/cli"
15
15
  },
16
16
  "engines": {
17
- "bun": ">=1.3.13"
17
+ "bun": ">=1.4.0"
18
18
  },
19
19
  "bin": {
20
- "akan": "./index.js",
21
- "akan2": "./index.js"
20
+ "akan": "./index.js"
22
21
  },
23
22
  "exports": {
24
23
  ".": {
@@ -34,7 +33,7 @@
34
33
  "@langchain/openai": "^1.4.6",
35
34
  "@tailwindcss/node": "^4.3.0",
36
35
  "@trapezedev/project": "^7.1.4",
37
- "akanjs": "3.0.0-alpha.9",
36
+ "akanjs": "3.0.0-alpha.90",
38
37
  "chalk": "^5.6.2",
39
38
  "commander": "^14.0.3",
40
39
  "dayjs": "^1.11.20",
@@ -42,7 +41,6 @@
42
41
  "fonteditor-core": "^2.6.3",
43
42
  "ignore": "^7.0.5",
44
43
  "ink": "^6.8.0",
45
- "js-yaml": "^4.1.1",
46
44
  "ora": "^9.4.0",
47
45
  "qrcode": "^1.5.4",
48
46
  "react": "19.2.7",
@@ -56,4 +54,4 @@
56
54
  "bun": {
57
55
  "platform": "bun"
58
56
  }
59
- }
57
+ }
@@ -1,17 +1,15 @@
1
1
  // @bun
2
- import {
3
- PageScript
4
- } from "./index-xmmzf150.js";
5
2
  import {
6
3
  App,
7
4
  Module,
8
5
  command
9
- } from "./index-kdh76j26.js";
10
- import"./index-z8ptfkzv.js";
11
- import"./index-mxvakhsm.js";
12
- import"./index-1577bej2.js";
13
- import"./index-67546d0j.js";
14
- import"./index-r24hmh0q.js";
6
+ } from "./index-cezy7yb3.js";
7
+ import"./index-q0y2jq9j.js";
8
+ import"./index-q8sn827n.js";
9
+ import"./index-6wwzs1bc.js";
10
+ import {
11
+ PageScript
12
+ } from "./index-mpmyqm1y.js";
15
13
 
16
14
  // pkgs/@akanjs/cli/page/page.command.ts
17
15
  class PageCommand extends command("page", [PageScript], ({ public: target }) => ({
@@ -1,24 +1,21 @@
1
1
  // @bun
2
2
  import {
3
- PrimitiveScript
4
- } from "./index-3vta1tqa.js";
5
- import"./index-jhpa13zj.js";
6
- import"./index-ss469dec.js";
7
- import"./index-xmmzf150.js";
8
- import"./index-0cj2zxbm.js";
3
+ Workspace,
4
+ command
5
+ } from "./index-cezy7yb3.js";
6
+ import"./index-q0y2jq9j.js";
7
+ import"./index-q8sn827n.js";
8
+ import"./index-6wwzs1bc.js";
9
9
  import {
10
10
  renderPrimitiveReport
11
- } from "./index-rxkpk7n4.js";
12
- import"./index-j37qq1f2.js";
11
+ } from "./index-e82dyeqy.js";
12
+ import"./index-n85fer99.js";
13
+ import"./index-9bwhxrqf.js";
14
+ import"./index-mpmyqm1y.js";
15
+ import"./index-h7yw2z9n.js";
13
16
  import {
14
- Workspace,
15
- command
16
- } from "./index-kdh76j26.js";
17
- import"./index-z8ptfkzv.js";
18
- import"./index-mxvakhsm.js";
19
- import"./index-1577bej2.js";
20
- import"./index-67546d0j.js";
21
- import"./index-r24hmh0q.js";
17
+ PrimitiveScript
18
+ } from "./index-3vvbv974.js";
22
19
 
23
20
  // pkgs/@akanjs/cli/primitive/primitive.command.ts
24
21
  import { Logger } from "akanjs/common";