@akanjs/cli 3.0.0-alpha.8 → 3.0.0-alpha.81

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 (152) 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-pwc6d6yk.js} +3 -5
  5. package/{agent.command-pggr92jj.js → agent.command-180hh0ye.js} +11 -12
  6. package/{application.command-692yap1d.js → application.command-4fq5pmdd.js} +59 -35
  7. package/{applicationBuildRunner-ha3y8ew8.js → applicationBuildRunner-tavpx3fv.js} +22 -20
  8. package/{applicationReleasePackager-gg8ccbeh.js → applicationReleasePackager-ktjt0erc.js} +8 -9
  9. package/buildBatch.proc.js +12 -13
  10. package/capacitorApp-kwa67kzs.js +12 -0
  11. package/{cloud.command-wqfsyzv2.js → cloud.command-wm3mtfve.js} +15 -17
  12. package/commandManifest.json +1 -1
  13. package/{context.command-9bxtdn0w.js → context.command-dk2m2sjx.js} +19 -22
  14. package/dependencyScanner-c64m6fxp.js +8 -0
  15. package/getDirname-dr3jz1xg.js +7 -0
  16. package/{guideline.command-nfqahxex.js → guideline.command-w6ddv13r.js} +16 -17
  17. package/guidelines/agentRule/agentRule.generate.json +31 -0
  18. package/guidelines/agentRule/agentRule.instruction.md +525 -0
  19. package/guidelines/conventions/conventions.generate.json +25 -0
  20. package/guidelines/conventions/conventions.instruction.md +847 -0
  21. package/guidelines/cssRule/cssRule.instruction.md +7 -0
  22. package/guidelines/framework/framework.generate.json +3 -2
  23. package/guidelines/framework/framework.instruction.md +1 -9
  24. package/guidelines/mcpRule/mcpRule.generate.json +25 -0
  25. package/guidelines/mcpRule/mcpRule.instruction.md +217 -0
  26. package/guidelines/queryRule/queryRule.generate.json +31 -0
  27. package/guidelines/queryRule/queryRule.instruction.md +143 -0
  28. package/guidelines/runtimeRule/runtimeRule.generate.json +25 -0
  29. package/guidelines/runtimeRule/runtimeRule.instruction.md +176 -0
  30. package/guidelines/ssrRule/ssrRule.instruction.md +49 -5
  31. package/guidelines/transportRule/transportRule.generate.json +31 -0
  32. package/guidelines/transportRule/transportRule.instruction.md +60 -0
  33. package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +24 -0
  34. package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +263 -0
  35. package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +33 -0
  36. package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +402 -0
  37. package/incrementalBuilder.proc.js +21 -22
  38. package/{index-4hek879p.js → index-1kzsn94d.js} +1 -1
  39. package/{index-p3f4q532.js → index-1tgp56ke.js} +31 -30
  40. package/index-3d9y066c.js +76 -0
  41. package/{index-76rn3g2c.js → index-47pj3aee.js} +4 -4
  42. package/{index-gex7c8kd.js → index-5n0hf8r9.js} +65 -38
  43. package/{index-mssqn2sq.js → index-5y7qba1c.js} +79 -33
  44. package/index-6wwzs1bc.js +7 -0
  45. package/{index-wnp7hwq7.js → index-92zztqy1.js} +7 -7
  46. package/{index-fgc8r6dj.js → index-a5vmm6x4.js} +3 -1
  47. package/{index-azv0xjb5.js → index-a8h184wr.js} +15 -11
  48. package/{index-67546d0j.js → index-ayy5ecax.js} +1 -1
  49. package/{index-xhgtkekh.js → index-b2nt0w0k.js} +27 -27
  50. package/{index-xys926f2.js → index-by5gpp8x.js} +4 -4
  51. package/{index-bz2sfzzt.js → index-cd5x18qh.js} +32 -32
  52. package/{index-bjpxzr6s.js → index-ctphds8v.js} +1 -1
  53. package/{index-w6wbb612.js → index-dq6wq1tv.js} +94 -61
  54. package/{index-6rhabeev.js → index-ft1sfjz0.js} +36 -25
  55. package/{index-7myvn0f0.js → index-h7yw2z9n.js} +7 -7
  56. package/{index-5pmx7bkg.js → index-j9vnq8tr.js} +18 -18
  57. package/{index-vg0sj9nc.js → index-k1n0h7dk.js} +840 -201
  58. package/{index-vtj3zps1.js → index-k86zc21w.js} +57 -57
  59. package/{index-5dw57f0d.js → index-m7e0f1sy.js} +155 -76
  60. package/index-m9c7k0gm.js +159 -0
  61. package/{index-46tjzh6s.js → index-mfm35dhh.js} +29 -29
  62. package/{index-xjd3rqzj.js → index-n68jx79w.js} +6 -15
  63. package/{index-ztpw544k.js → index-qcracvc9.js} +8 -8
  64. package/{index-2c3e2xh8.js → index-saheq2bs.js} +4 -4
  65. package/{index-gmy45vz2.js → index-v0s24t8j.js} +14 -14
  66. package/{index-0cj2zxbm.js → index-wet2ytnr.js} +12 -11
  67. package/{index-j9cxndc0.js → index-x23688ar.js} +12 -7
  68. package/{index-a1e0j63x.js → index-xxe90kqy.js} +58 -25
  69. package/{index-js368gk9.js → index-ypvdw8nr.js} +13 -13
  70. package/{index-qb61h0k7.js → index-z3c9mmw4.js} +1098 -1360
  71. package/index.js +22 -24
  72. package/{library.command-md9715jz.js → library.command-wpedct6c.js} +11 -9
  73. package/{localRegistry.command-exkbamyj.js → localRegistry.command-gk773cte.js} +20 -22
  74. package/{module.command-w5aaddxk.js → module.command-8n4kct3e.js} +13 -15
  75. package/{package.command-yfkrcy0z.js → package.command-fcbd0b1d.js} +8 -9
  76. package/package.json +5 -7
  77. package/{page.command-echbavp4.js → page.command-x4379grq.js} +7 -8
  78. package/{primitive.command-9fbhspw2.js → primitive.command-8etmnqhq.js} +13 -15
  79. package/{quality.command-3pnt9yep.js → quality.command-hfx7z8yr.js} +226 -104
  80. package/recipeScanner-fpagtgc1.js +11 -0
  81. package/{repair.command-carj4vax.js → repair.command-j0fs5qkz.js} +12 -13
  82. package/{routeSourceValidator-e4jmbfcx.js → routeSourceValidator-ze6x894c.js} +0 -2
  83. package/{scalar.command-51ryzypc.js → scalar.command-2emk89eh.js} +11 -13
  84. package/subspace.command-3w3s1zas.js +714 -0
  85. package/templates/app/env/env.client.debug.ts.template +1 -5
  86. package/templates/app/env/env.client.develop.ts.template +1 -5
  87. package/templates/app/env/env.client.local.ts.template +1 -5
  88. package/templates/app/env/env.client.main.ts.template +1 -5
  89. package/templates/app/env/env.client.testing.ts.template +1 -5
  90. package/templates/app/env/env.client.type.ts +2 -6
  91. package/templates/app/env/env.server.debug.ts.template +1 -5
  92. package/templates/app/env/env.server.develop.ts.template +1 -5
  93. package/templates/app/env/env.server.local.ts.template +1 -5
  94. package/templates/app/env/env.server.main.ts.template +1 -5
  95. package/templates/app/main.ts +3 -1
  96. package/templates/appSample/lib/task/task.signal.ts +11 -6
  97. package/templates/appSample/srvkit/AuthGuard.ts +9 -5
  98. package/templates/appSample/srvkit/SessionInternalArg.ts +4 -3
  99. package/templates/crudPages/[__model__Id]/edit/page.tsx +6 -6
  100. package/templates/crudPages/[__model__Id]/page.tsx +10 -13
  101. package/templates/crudPages/new/page.tsx +6 -6
  102. package/templates/crudPages/page.tsx +9 -9
  103. package/templates/crudSinglePage/page.tsx +11 -7
  104. package/templates/env/_env.server.type.ts +7 -5
  105. package/templates/lib/db.ts +1 -1
  106. package/templates/lib/dict.ts +1 -1
  107. package/templates/lib/sig.ts +1 -1
  108. package/templates/lib/srv.ts +6 -2
  109. package/templates/module/__Model__.Util.tsx +1 -1
  110. package/templates/module/__Model__.Zone.tsx +3 -5
  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/AGENTS.md.template +4 -972
  116. package/templates/workspaceRoot/CLAUDE.md.template +19 -0
  117. package/templates/workspaceRoot/biome.json.template +4 -244
  118. package/templates/workspaceRoot/docs/AI-DEVELOPMENT.md.template +10 -14
  119. package/templates/workspaceRoot/docs/GENERATED.md.template +12 -10
  120. package/templates/workspaceRoot/package.json.template +2 -4
  121. package/typeChecker-3xgrzc2v.js +7 -0
  122. package/typecheck.proc.js +4 -5
  123. package/{workflow.command-91wmvm8k.js → workflow.command-cvpmzwjg.js} +21 -23
  124. package/{workspace.command-wa10mfd9.js → workspace.command-4ztb4fdh.js} +108 -91
  125. package/capacitorApp-p0z5yab2.js +0 -60
  126. package/dependencyScanner-f6grrep3.js +0 -9
  127. package/index-mxvakhsm.js +0 -66
  128. package/index-r24hmh0q.js +0 -4
  129. package/recipeScanner-tghkzrrt.js +0 -12
  130. package/templates/workspaceRoot/.cursor/rules/akan-page-routing.mdc.template +0 -43
  131. package/templates/workspaceRoot/.cursor/rules/akan-sync-conventions.mdc.template +0 -34
  132. package/templates/workspaceRoot/.cursor/rules/application-test-commands.mdc.template +0 -16
  133. package/templates/workspaceRoot/.cursor/rules/change-scope.mdc.template +0 -12
  134. package/templates/workspaceRoot/.cursor/rules/client-server-boundaries.mdc.template +0 -18
  135. package/templates/workspaceRoot/.cursor/rules/coding-comments.mdc.template +0 -25
  136. package/templates/workspaceRoot/.cursor/rules/coding-style.mdc.template +0 -44
  137. package/templates/workspaceRoot/.cursor/rules/domain-module-conventions.mdc.template +0 -17
  138. package/templates/workspaceRoot/.cursor/rules/format-lint.mdc.template +0 -12
  139. package/templates/workspaceRoot/.cursor/rules/lint-enforced-rules.mdc.template +0 -19
  140. package/templates/workspaceRoot/.cursor/rules/module-file-playbook.mdc.template +0 -62
  141. package/templates/workspaceRoot/.cursor/rules/naming-conventions.mdc.template +0 -15
  142. package/templates/workspaceRoot/.cursor/rules/react-component-style.mdc.template +0 -21
  143. package/templates/workspaceRoot/.cursor/rules/repo-overview.mdc.template +0 -17
  144. package/templates/workspaceRoot/.cursor/rules/scalar-modeling.mdc.template +0 -99
  145. package/templates/workspaceRoot/.cursor/rules/secrets-and-env.mdc.template +0 -13
  146. package/templates/workspaceRoot/.cursor/rules/service-signal-conventions.mdc.template +0 -83
  147. package/templates/workspaceRoot/.cursor/rules/srvkit-adapters-and-guards.mdc.template +0 -50
  148. package/templates/workspaceRoot/.cursor/rules/ssr-first.mdc.template +0 -59
  149. package/templates/workspaceRoot/.cursor/rules/typescript-imports.mdc.template +0 -16
  150. package/typeChecker-kravn7ns.js +0 -8
  151. /package/{index-0wae5ebk.js → index-meh558jy.js} +0 -0
  152. /package/{index-ss469dec.js → index-nz8prx9g.js} +0 -0
package/.build-stamp CHANGED
@@ -1 +1 @@
1
- 96800101b13c6f5163a33a8e22d3b688e1822d063cd1d5b809f97697a9b1ecd7
1
+ 1429e054540fb7cf0961c7a6a76cd1b54564627f1534e7f1e38cd437ba24748b
package/README.ko.md CHANGED
@@ -64,7 +64,7 @@ metadata를 검증합니다.
64
64
 
65
65
  ## 요구사항
66
66
 
67
- - [Bun](https://bun.sh) `>=1.3.13`
67
+ - [Bun](https://bun.sh) `>=1.4.0`
68
68
  - TypeScript 기반 Akan 워크스페이스
69
69
 
70
70
  ## 라이선스
package/README.md CHANGED
@@ -77,7 +77,7 @@ artifact is built last and is not overwritten by the root `akan` bootstrap scrip
77
77
 
78
78
  ## Requirements
79
79
 
80
- - [Bun](https://bun.sh) `>=1.3.13`
80
+ - [Bun](https://bun.sh) `>=1.4.0`
81
81
  - A TypeScript Akan workspace
82
82
 
83
83
  ## License
@@ -1,13 +1,11 @@
1
1
  // @bun
2
+ import"./index-ayy5ecax.js";
2
3
  import {
3
4
  AiSession
4
- } from "./index-0cj2zxbm.js";
5
+ } from "./index-wet2ytnr.js";
5
6
  import {
6
7
  AbstractDoc
7
- } from "./index-0wae5ebk.js";
8
- import"./index-mxvakhsm.js";
9
- import"./index-67546d0j.js";
10
- import"./index-r24hmh0q.js";
8
+ } from "./index-meh558jy.js";
11
9
 
12
10
  // pkgs/@akanjs/devkit/abstractCompactor.ts
13
11
  import { Logger } from "akanjs/common";
@@ -1,19 +1,18 @@
1
1
  // @bun
2
- import {
3
- AgentScript
4
- } from "./index-gex7c8kd.js";
5
- import"./index-mssqn2sq.js";
6
- import"./index-2c3e2xh8.js";
7
- import"./index-7myvn0f0.js";
8
2
  import {
9
3
  Workspace,
10
4
  command
11
- } from "./index-6rhabeev.js";
12
- import"./index-vg0sj9nc.js";
13
- import"./index-mxvakhsm.js";
14
- import"./index-xys926f2.js";
15
- import"./index-67546d0j.js";
16
- import"./index-r24hmh0q.js";
5
+ } from "./index-ft1sfjz0.js";
6
+ import"./index-k1n0h7dk.js";
7
+ import"./index-ayy5ecax.js";
8
+ import"./index-6wwzs1bc.js";
9
+ import"./index-by5gpp8x.js";
10
+ import"./index-saheq2bs.js";
11
+ import"./index-5y7qba1c.js";
12
+ import"./index-h7yw2z9n.js";
13
+ import {
14
+ AgentScript
15
+ } from "./index-5n0hf8r9.js";
17
16
 
18
17
  // pkgs/@akanjs/cli/agent/agent.command.ts
19
18
  class AgentCommand extends command("agent", [AgentScript], ({ public: target }) => ({
@@ -1,31 +1,29 @@
1
1
  // @bun
2
- import {
3
- AbstractDoc
4
- } from "./index-0wae5ebk.js";
5
- import {
6
- ApplicationScript
7
- } from "./index-5dw57f0d.js";
8
- import {
9
- getMobileTargetChoices
10
- } from "./index-76rn3g2c.js";
11
- import"./index-a1e0j63x.js";
12
2
  import {
13
3
  App,
14
- Exec,
15
4
  Sys,
5
+ Exec,
16
6
  Workspace,
17
7
  command
18
- } from "./index-6rhabeev.js";
19
- import"./index-fgc8r6dj.js";
20
- import"./index-bjpxzr6s.js";
21
- import"./index-vg0sj9nc.js";
22
- import"./index-mxvakhsm.js";
23
- import"./index-67546d0j.js";
24
- import"./index-r24hmh0q.js";
8
+ } from "./index-ft1sfjz0.js";
9
+ import"./index-k1n0h7dk.js";
10
+ import"./index-ayy5ecax.js";
11
+ import"./index-6wwzs1bc.js";
12
+ import {
13
+ ApplicationScript
14
+ } from "./index-m7e0f1sy.js";
15
+ import"./index-xxe90kqy.js";
16
+ import"./index-ctphds8v.js";
17
+ import {
18
+ AbstractDoc
19
+ } from "./index-meh558jy.js";
20
+ import"./index-m9c7k0gm.js";
21
+ import {
22
+ getMobileTargetChoices
23
+ } from "./index-47pj3aee.js";
25
24
 
26
25
  // pkgs/@akanjs/cli/application/application.command.ts
27
26
  import { select } from "@inquirer/prompts";
28
- var asMobileEnv = (env) => env;
29
27
  var mobileTargetOption = {
30
28
  desc: "mobile target name or all",
31
29
  ask: "Select mobile target",
@@ -39,6 +37,9 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
39
37
  removeApplication: target({ desc: "Remove an application from the workspace" }).with(App).exec(async function(app) {
40
38
  await this.applicationScript.removeApplication(app);
41
39
  }),
40
+ planSlice: target({ desc: "List the exact files an app needs to live in a workspace of its own" }).with(App).option("format", String, { desc: "output format", default: "text", enum: ["text", "json"] }).exec(async function(app, format) {
41
+ await this.applicationScript.planSlice(app, format);
42
+ }),
42
43
  sync: target({ desc: "Sync dependencies and configuration for an app or library" }).with(Sys).exec(async function(sys) {
43
44
  await this.applicationScript.sync(sys);
44
45
  }),
@@ -55,6 +56,29 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
55
56
  console: target({ desc: "Open an interactive server console for the application" }).with(App).exec(async function(app) {
56
57
  await this.applicationScript.console(app);
57
58
  }),
59
+ logs: target({ desc: "Tail the running application's logs, filtered (attaches to akan-control.sock)" }).with(App).option("level", String, { desc: "minimum level: trace, verbose, debug, info, warn, error", nullable: true }).option("grep", String, { desc: "substring the message must contain", nullable: true }).option("endpoint", String, {
60
+ desc: "endpoint glob(s), comma-separated: mutation:*, query:userList",
61
+ nullable: true
62
+ }).option("trace", String, { desc: "one request's traceId", nullable: true }).option("child", String, { desc: "replica index(es), comma-separated", nullable: true }).option("role", String, { flag: "R", desc: "process role(s): gateway, all, batch, rsc-worker", nullable: true }).option("origin", String, { desc: "call origin(s): http, websocket, mcp, internal, page", nullable: true }).option("since", String, { desc: "only records newer than this: 5m, 30s, or epoch ms", nullable: true }).option("replay", Number, { flag: "n", desc: "records to replay from the buffer before following", default: 0 }).option("json", Boolean, { desc: "print NDJSON records instead of rendered lines", default: false }).option("follow", Boolean, { desc: "keep streaming; pass --follow false for history only", default: true }).option("runtimeDir", String, {
63
+ flag: "d",
64
+ desc: "runtime dir holding akan-control.sock (default: local/apps/<app>/runtime)",
65
+ nullable: true
66
+ }).exec(async function(app, level, grep, endpoint, trace, child, role, origin, since, replay, json, follow, runtimeDir) {
67
+ await this.applicationScript.logs(app, {
68
+ level,
69
+ grep,
70
+ endpoint,
71
+ trace,
72
+ child,
73
+ role,
74
+ origin,
75
+ since,
76
+ replay,
77
+ json,
78
+ follow,
79
+ runtimeDir
80
+ });
81
+ }),
58
82
  build: target({ short: true, desc: "Build the application for production (frontend + backend)" }).with(App).option("write", Boolean, { desc: "write code generation", default: true }).option("fast", Boolean, { desc: "fast build", default: false }).option("quiet", Boolean, { desc: "hide build progress output", default: false }).exec(async function(app, write, fast, quiet) {
59
83
  await this.applicationScript.build(app, { write, fast, quiet });
60
84
  }),
@@ -68,15 +92,15 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
68
92
  enum: ["local", "debug", "develop", "main"],
69
93
  desc: "backend environment",
70
94
  default: "debug"
71
- }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).exec(async function(app, target2, env, write, regenerate) {
72
- await this.applicationScript.buildIos(app, { target: target2, env: asMobileEnv(env), write, regenerate });
95
+ }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).exec(async function(app, target, env, write, regenerate) {
96
+ await this.applicationScript.buildIos(app, { target, env, write, regenerate });
73
97
  }),
74
98
  buildAndroid: target({ short: true, desc: "Build Android app with Capacitor" }).with(App).option("target", String, mobileTargetOption).option("env", String, {
75
99
  enum: ["local", "debug", "develop", "main"],
76
100
  desc: "backend environment",
77
101
  default: "debug"
78
- }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).exec(async function(app, target2, env, write, regenerate) {
79
- await this.applicationScript.buildAndroid(app, { target: target2, env: asMobileEnv(env), write, regenerate });
102
+ }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).exec(async function(app, target, env, write, regenerate) {
103
+ await this.applicationScript.buildAndroid(app, { target, env, write, regenerate });
80
104
  }),
81
105
  start: target({ short: true, desc: "Start development server (frontend SSR + backend)" }).with(App).option("open", Boolean, { desc: "open web browser?", default: false }).option("write", Boolean, { desc: "write code generation", default: true }).exec(async function(app, open, write) {
82
106
  await this.applicationScript.start(app, { open, write });
@@ -91,10 +115,10 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
91
115
  }).option("device", String, {
92
116
  desc: "run target to select non-interactively: udid, device name, or runtime (e.g. 'iPhone 16' or 'iOS 18')",
93
117
  default: ""
94
- }).exec(async function(app, target2, env, open, release, write, regenerate, noAllowProvisioningUpdates, device) {
118
+ }).exec(async function(app, target, env, open, release, write, regenerate, noAllowProvisioningUpdates, device) {
95
119
  await this.applicationScript.startIos(app, {
96
- target: target2,
97
- env: asMobileEnv(env),
120
+ target,
121
+ env,
98
122
  open,
99
123
  operation: release ? "release" : "local",
100
124
  write,
@@ -107,10 +131,10 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
107
131
  enum: ["local", "debug", "develop", "main"],
108
132
  desc: "backend environment",
109
133
  default: "local"
110
- }).option("release", Boolean, { desc: "release mode", default: false }).option("open", Boolean, { desc: "open android simulator", default: false }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).exec(async function(app, target2, env, release, open, write, regenerate) {
134
+ }).option("release", Boolean, { desc: "release mode", default: false }).option("open", Boolean, { desc: "open android simulator", default: false }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).exec(async function(app, target, env, release, open, write, regenerate) {
111
135
  await this.applicationScript.startAndroid(app, {
112
- target: target2,
113
- env: asMobileEnv(env),
136
+ target,
137
+ env,
114
138
  open,
115
139
  operation: release ? "release" : "local",
116
140
  write,
@@ -121,10 +145,10 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
121
145
  enum: ["debug", "develop", "main", "local"],
122
146
  desc: "backend environment",
123
147
  default: "main"
124
- }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).option("allowLocalRelease", Boolean, { flag: "l", desc: "allow release with --env local", default: false }).exec(async function(app, target2, env, write, regenerate, allowLocalRelease) {
148
+ }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).option("allowLocalRelease", Boolean, { flag: "l", desc: "allow release with --env local", default: false }).exec(async function(app, target, env, write, regenerate, allowLocalRelease) {
125
149
  await this.applicationScript.releaseIos(app, {
126
- target: target2,
127
- env: asMobileEnv(env),
150
+ target,
151
+ env,
128
152
  write,
129
153
  regenerate,
130
154
  allowLocalRelease
@@ -134,10 +158,10 @@ class ApplicationCommand extends command("application", [ApplicationScript], ({
134
158
  enum: ["debug", "develop", "main", "local"],
135
159
  desc: "backend environment",
136
160
  default: "main"
137
- }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).option("allowLocalRelease", Boolean, { flag: "l", desc: "allow release with --env local", default: false }).exec(async function(app, assembleType, target2, env, write, regenerate, allowLocalRelease) {
161
+ }).option("write", Boolean, { desc: "write code generation", default: true }).option("regenerate", Boolean, { flag: "g", desc: "delete and regenerate native project", default: false }).option("allowLocalRelease", Boolean, { flag: "l", desc: "allow release with --env local", default: false }).exec(async function(app, assembleType, target, env, write, regenerate, allowLocalRelease) {
138
162
  await this.applicationScript.releaseAndroid(app, assembleType, {
139
- target: target2,
140
- env: asMobileEnv(env),
163
+ target,
164
+ env,
141
165
  write,
142
166
  regenerate,
143
167
  allowLocalRelease
@@ -1,17 +1,17 @@
1
1
  // @bun
2
+ import {
3
+ Spinner
4
+ } from "./index-k1n0h7dk.js";
2
5
  import {
3
6
  AllRoutesBuilder,
4
7
  CsrArtifactBuilder,
5
- SsrBaseArtifactBuilder,
6
- precompressArtifacts
7
- } from "./index-qb61h0k7.js";
8
- import"./index-xjd3rqzj.js";
9
- import"./index-j9cxndc0.js";
10
- import"./index-bjpxzr6s.js";
11
- import {
12
- Spinner
13
- } from "./index-mxvakhsm.js";
14
- import"./index-r24hmh0q.js";
8
+ FontPruner,
9
+ precompressArtifacts,
10
+ SsrBaseArtifactBuilder
11
+ } from "./index-z3c9mmw4.js";
12
+ import"./index-x23688ar.js";
13
+ import"./index-ctphds8v.js";
14
+ import"./index-n68jx79w.js";
15
15
 
16
16
  // pkgs/@akanjs/devkit/applicationBuildRunner.ts
17
17
  import { mkdir, rm } from "fs/promises";
@@ -22,6 +22,7 @@ var BUILD_PHASE_EMOJIS = {
22
22
  backend: "\uD83D\uDCE6",
23
23
  ssr: "\uD83E\uDDED",
24
24
  csr: "\uD83C\uDFA8",
25
+ assets: "\u2702\uFE0F",
25
26
  compress: "\uD83D\uDDDC\uFE0F",
26
27
  metadata: "\uD83D\uDCDD"
27
28
  };
@@ -39,7 +40,6 @@ var SSR_RENDER_EXTERNALS = [
39
40
  var AKAN_OPTIONAL_BACKEND_EXTERNALS = [
40
41
  "@libsql/client",
41
42
  "bullmq",
42
- "croner",
43
43
  "ioredis",
44
44
  "postgres",
45
45
  "protobufjs"
@@ -58,14 +58,16 @@ class ApplicationBuildRunner {
58
58
  }
59
59
  async build({ spinner = false } = {}) {
60
60
  const phaseOptions = { spinner };
61
+ const { web, assets } = await this.#app.getConfig();
61
62
  await this.#runPhase("prepare", "Preparing output directory", () => this.#app.prepareCommand("build"), undefined, {
62
63
  spinner
63
64
  });
64
65
  if (!this.#fast)
65
66
  await this.#runPhase("typecheck", "Typechecking", () => this.typecheck(), undefined, phaseOptions);
66
67
  await this.#runPhase("backend", "Compiling backend", () => this.#buildBackend(), (result) => `${result.entrypoints} entrypoints, ${result.outputs} outputs`, phaseOptions);
67
- await this.#runPhase("ssr", "Building SSR route artifacts", () => this.#buildSsr(), (result) => result ? `${result.allRoutes.manifest.routeIds.length} routes, ${result.allRoutes.manifest.knownEntries.length} entries` : "skipped", phaseOptions);
68
- await this.#runPhase("csr", "Building CSR assets", () => this.#buildCsr(), (result) => result?.outputDir ?? "skipped", phaseOptions);
68
+ await this.#runPhase("ssr", "Building SSR route artifacts", async () => web.ssr ? await this.#buildSsr() : null, (result) => result ? `${result.allRoutes.manifest.routeIds.length} routes, ${result.allRoutes.manifest.knownEntries.length} entries` : web.ssr ? "skipped" : "disabled by akan.config.ts web.ssr", phaseOptions);
69
+ await this.#runPhase("csr", "Building CSR assets", async () => web.csr ? await this.#buildCsr() : null, (result) => result?.outputDir ?? (web.csr ? "skipped" : "disabled by akan.config.ts web.csr"), phaseOptions);
70
+ await this.#runPhase("assets", "Trimming unread static assets", async () => assets.pruneFonts ? await new FontPruner(this.#app, assets).prune() : null, (result) => result ? `${result.removed.length} font file(s) dropped, ${ApplicationBuildRunner.formatBytes(result.freedBytes)} freed; ${result.kept.length} kept` : "disabled by akan.config.ts assets.pruneFonts", phaseOptions);
69
71
  await this.#runPhase("compress", "Compressing static assets", () => precompressArtifacts(this.#app), (result) => result.files > 0 ? `${result.files} files, ${ApplicationBuildRunner.formatBytes(result.inputBytes)} -> gzip ${ApplicationBuildRunner.formatBytes(result.outputBytes)} / br ${ApplicationBuildRunner.formatBytes(result.brotliBytes)}` : "no files", phaseOptions);
70
72
  await this.#runPhase("metadata", "Writing production metadata", () => this.#buildAppMeta(), undefined, {
71
73
  spinner
@@ -107,7 +109,7 @@ class ApplicationBuildRunner {
107
109
  const akanConfig = await this.#app.getConfig();
108
110
  await Promise.all([
109
111
  this.#app.dist.writeJson("package.json", akanConfig.getProductionPackageJson()),
110
- this.#app.dist.writeFile(`${this.#app.dist.cwdPath}/Dockerfile`, akanConfig.docker.content)
112
+ this.#app.dist.writeFile(`${this.#app.dist.cwdPath}/Dockerfile`, akanConfig.dockerfile)
111
113
  ]);
112
114
  }
113
115
  async#buildBackend() {
@@ -115,6 +117,7 @@ class ApplicationBuildRunner {
115
117
  const backendExternals = [
116
118
  ...new Set([...akanConfig.externalLibs, ...SSR_RENDER_EXTERNALS, ...AKAN_OPTIONAL_BACKEND_EXTERNALS])
117
119
  ];
120
+ const { web } = akanConfig;
118
121
  const backendEntryPoints = [`${this.#app.cwdPath}/main.ts`, `${this.#app.cwdPath}/server.ts`];
119
122
  for (const entrypoint of backendEntryPoints) {
120
123
  if (!await Bun.file(entrypoint).exists())
@@ -129,7 +132,7 @@ class ApplicationBuildRunner {
129
132
  define: { "process.env.NODE_ENV": JSON.stringify("production") },
130
133
  plugins: backendExternals.length > 0 ? [this.#createExternalSpecifiersPlugin(backendExternals)] : []
131
134
  });
132
- const rscWorkerResult = await this.#buildOrThrow("rsc-worker", {
135
+ const rscWorkerResult = web.ssr ? await this.#buildOrThrow("rsc-worker", {
133
136
  entrypoints: [this.#resolveRscWorkerBuildEntry()],
134
137
  outdir: this.#app.dist.cwdPath,
135
138
  target: "bun",
@@ -138,7 +141,7 @@ class ApplicationBuildRunner {
138
141
  conditions: ["react-server"],
139
142
  define: { "process.env.NODE_ENV": JSON.stringify("production") },
140
143
  plugins: backendExternals.length > 0 ? [this.#createExternalSpecifiersPlugin(backendExternals)] : []
141
- });
144
+ }) : null;
142
145
  const consoleRuntimeResult = await this.#buildOrThrow("console-runtime", {
143
146
  entrypoints: [this.#resolveConsoleRuntimeBuildEntry()],
144
147
  outdir: this.#app.dist.cwdPath,
@@ -149,8 +152,8 @@ class ApplicationBuildRunner {
149
152
  });
150
153
  await this.#writeConsoleShim();
151
154
  return {
152
- entrypoints: backendEntryPoints.length + 2,
153
- outputs: backendResult.outputs.length + rscWorkerResult.outputs.length + consoleRuntimeResult.outputs.length + 1
155
+ entrypoints: backendEntryPoints.length + (rscWorkerResult ? 2 : 1),
156
+ outputs: backendResult.outputs.length + (rscWorkerResult?.outputs.length ?? 0) + consoleRuntimeResult.outputs.length + 1
154
157
  };
155
158
  }
156
159
  async#writeConsoleShim() {
@@ -287,6 +290,5 @@ void run().catch((error) => {
287
290
  }
288
291
  }
289
292
  export {
290
- ApplicationBuildRunner,
291
- AKAN_OPTIONAL_BACKEND_EXTERNALS
293
+ ApplicationBuildRunner
292
294
  };
@@ -1,18 +1,17 @@
1
1
  // @bun
2
- import {
3
- Spinner
4
- } from "./index-mxvakhsm.js";
5
2
  import {
6
3
  FileSys
7
- } from "./index-67546d0j.js";
8
- import"./index-r24hmh0q.js";
4
+ } from "./index-ayy5ecax.js";
5
+ import {
6
+ Spinner
7
+ } from "./index-k1n0h7dk.js";
9
8
 
10
9
  // pkgs/@akanjs/devkit/applicationReleasePackager.ts
11
10
  import { cp, mkdir, rm } from "fs/promises";
12
11
  import path from "path";
13
12
 
14
13
  // pkgs/@akanjs/devkit/uploadRelease.ts
15
- import { HttpClient, Logger } from "akanjs/common";
14
+ import { Logger, RestClient } from "akanjs/common";
16
15
  var spinning = (message) => {
17
16
  const spinner = new Spinner(message, { prefix: message, enableSpin: true }).start();
18
17
  return spinner;
@@ -27,7 +26,7 @@ var uploadRelease = async (appName, {
27
26
  }) => {
28
27
  const logger = new Logger("uploadRelease");
29
28
  const basePath = local ? "http://localhost:8282/backend" : "https://cloud.akanjs.com/backend";
30
- const httpClient = new HttpClient(basePath);
29
+ const httpClient = new RestClient(basePath);
31
30
  const buildPath = `${workspaceRoot}/releases/builds/${appName}-release.tar.gz`;
32
31
  const appBuildPath = `${workspaceRoot}/releases/builds/${appName}-appBuild.zip`;
33
32
  const sourcePath = `${workspaceRoot}/releases/sources/${appName}-source.tar.gz`;
@@ -54,7 +53,7 @@ var uploadRelease = async (appName, {
54
53
  preparingFormSpinner.succeed("Preparing form data... done");
55
54
  try {
56
55
  const uploadingFilesSpinner = spinning("Uploading files to server...");
57
- const [buildFile2, sourceFile2, appBuildFile2] = await httpClient.post("/file/addFiles", formData);
56
+ const [buildFile, sourceFile, appBuildFile] = await httpClient.post("/file/addFiles", formData);
58
57
  uploadingFilesSpinner.succeed("Uploading files to server... done");
59
58
  const fetchingAppSpinner = spinning(`Fetching dev app information for ${appName}...`);
60
59
  const major = platformVersion ? parseInt(platformVersion.split(".")[0]) : 1;
@@ -63,7 +62,7 @@ var uploadRelease = async (appName, {
63
62
  const devApp = await httpClient.get(`/devApp/devAppInName/${appName}`);
64
63
  fetchingAppSpinner.succeed(`Fetching dev app information for ${appName}... done`);
65
64
  const pushingReleaseSpinner = spinning(`Pushing release to ${environment} environment...`);
66
- const release = await httpClient.post(`/release/pushRelease/${devApp.id}/${environment}/${major}/${minor}/${patch}/${sourceFile2.id}/${buildFile2.id}/${appBuildFile2.id}${os ? `/${os}` : ""}`);
65
+ const release = await httpClient.post(`/release/pushRelease/${devApp.id}/${environment}/${major}/${minor}/${patch}/${sourceFile.id}/${buildFile.id}/${appBuildFile.id}${os ? `/${os}` : ""}`);
67
66
  pushingReleaseSpinner.succeed(`Pushing release to ${environment} environment... done`);
68
67
  new Spinner(`Successfully pushed release to ${appName}-${environment} server. `, {
69
68
  prefix: `Successfully pushed release to ${appName}-${environment} server. `,
@@ -1,21 +1,20 @@
1
1
  // @bun
2
2
  import {
3
- CsrArtifactBuilder,
3
+ WorkspaceExecutor,
4
+ AppExecutor
5
+ } from "./index-k1n0h7dk.js";
6
+ import"./index-ayy5ecax.js";
7
+ import"./index-6wwzs1bc.js";
8
+ import {
4
9
  CssCompiler,
5
- FontOptimizer,
6
10
  PagesBundleBuilder,
11
+ CsrArtifactBuilder,
12
+ FontOptimizer,
7
13
  SsrBaseArtifactBuilder
8
- } from "./index-qb61h0k7.js";
9
- import"./index-xjd3rqzj.js";
10
- import"./index-j9cxndc0.js";
11
- import"./index-bjpxzr6s.js";
12
- import {
13
- AppExecutor,
14
- WorkspaceExecutor
15
- } from "./index-vg0sj9nc.js";
16
- import"./index-mxvakhsm.js";
17
- import"./index-67546d0j.js";
18
- import"./index-r24hmh0q.js";
14
+ } from "./index-z3c9mmw4.js";
15
+ import"./index-x23688ar.js";
16
+ import"./index-ctphds8v.js";
17
+ import"./index-n68jx79w.js";
19
18
 
20
19
  // pkgs/@akanjs/devkit/incrementalBuilder/buildBatch.proc.ts
21
20
  import path from "path";
@@ -0,0 +1,12 @@
1
+ // @bun
2
+ import {
3
+ isPlaceholderAppId2,
4
+ CapacitorApp2
5
+ } from "./index-b2nt0w0k.js";
6
+ import"./index-k1n0h7dk.js";
7
+ import"./index-6wwzs1bc.js";
8
+ import"./index-ayy5ecax.js";
9
+ export {
10
+ CapacitorApp2 as CapacitorApp,
11
+ isPlaceholderAppId2 as isPlaceholderAppId
12
+ };
@@ -1,26 +1,24 @@
1
1
  // @bun
2
- import {
3
- CloudScript
4
- } from "./index-js368gk9.js";
5
- import"./index-p3f4q532.js";
6
- import"./index-azv0xjb5.js";
2
+ import"./index-ayy5ecax.js";
7
3
  import {
8
4
  GlobalConfig
9
- } from "./index-0cj2zxbm.js";
10
- import"./index-5dw57f0d.js";
11
- import"./index-76rn3g2c.js";
12
- import"./index-a1e0j63x.js";
5
+ } from "./index-wet2ytnr.js";
13
6
  import {
14
7
  Workspace,
15
8
  command
16
- } from "./index-6rhabeev.js";
17
- import"./index-fgc8r6dj.js";
18
- import"./index-bjpxzr6s.js";
19
- import"./index-vg0sj9nc.js";
20
- import"./index-mxvakhsm.js";
21
- import"./index-46tjzh6s.js";
22
- import"./index-67546d0j.js";
23
- import"./index-r24hmh0q.js";
9
+ } from "./index-ft1sfjz0.js";
10
+ import"./index-k1n0h7dk.js";
11
+ import"./index-6wwzs1bc.js";
12
+ import"./index-m7e0f1sy.js";
13
+ import"./index-xxe90kqy.js";
14
+ import"./index-ctphds8v.js";
15
+ import"./index-mfm35dhh.js";
16
+ import"./index-a8h184wr.js";
17
+ import"./index-1tgp56ke.js";
18
+ import {
19
+ CloudScript
20
+ } from "./index-ypvdw8nr.js";
21
+ import"./index-m9c7k0gm.js";
24
22
 
25
23
  // pkgs/@akanjs/cli/cloud/cloud.command.ts
26
24
  var localRegistryUrl = () => process.env.AKAN_NPM_REGISTRY ?? "http://127.0.0.1:4873";
@@ -1 +1 @@
1
- {"byCommand":{"create-workspace":"workspace","generate-agent-rules":"workspace","lint":"workspace","lint-all":"workspace","sync-all":"workspace","init":"workspace","agent":"agent","create-application":"application","remove-application":"application","sync":"application","compact":"application","script":"application","console":"application","build":"application","b":"application","typecheck":"application","t":"application","test":"application","build-ios":"application","bi":"application","build-android":"application","ba":"application","start":"application","s":"application","start-ios":"application","si":"application","start-android":"application","sa":"application","release-ios":"application","release-android":"application","release-source":"application","codepush":"application","dbup":"application","dbdown":"application","configure-app":"application","create-library":"library","remove-library":"library","sync-library":"library","install-library":"library","start-registry":"localRegistry","reset-registry":"localRegistry","smoke-registry":"localRegistry","version":"package","create-package":"package","remove-package":"package","sync-package":"package","build-package":"package","verify-dist-package":"package","verify-akan-publish-packages":"package","create-module":"module","remove-module":"module","create-service":"module","create-view":"module","create-unit":"module","create-template":"module","create-crud-page":"page","context":"context","doctor":"context","mcp-install":"context","mcp":"context","mcp-call":"context","login":"cloud","logout":"cloud","set-llm":"cloud","reset-llm":"cloud","ask":"cloud","deploy-akan":"cloud","update":"cloud","download-env":"cloud","upload-env":"cloud","guideline":"guideline","generate-instruction":"guideline","update-instruction":"guideline","generate-document":"guideline","reapply-instruction":"guideline","create-scalar":"scalar","remove-scalar":"scalar","create-ui":"primitive","add-field":"primitive","add-enum-field":"primitive","quality":"quality","repair":"repair","workflow":"workflow"}}
1
+ {"byCommand":{"create-workspace":"workspace","generate-agent-rules":"workspace","lint":"workspace","lint-all":"workspace","sync-all":"workspace","init":"workspace","agent":"agent","create-application":"application","remove-application":"application","plan-slice":"application","sync":"application","compact":"application","script":"application","console":"application","logs":"application","build":"application","b":"application","typecheck":"application","t":"application","test":"application","build-ios":"application","bi":"application","build-android":"application","ba":"application","start":"application","s":"application","start-ios":"application","si":"application","start-android":"application","sa":"application","release-ios":"application","release-android":"application","release-source":"application","codepush":"application","dbup":"application","dbdown":"application","configure-app":"application","create-library":"library","remove-library":"library","sync-library":"library","library-status":"library","install-library":"library","start-registry":"localRegistry","reset-registry":"localRegistry","smoke-registry":"localRegistry","version":"package","create-package":"package","remove-package":"package","sync-package":"package","build-package":"package","verify-dist-package":"package","verify-akan-publish-packages":"package","create-module":"module","remove-module":"module","create-service":"module","create-view":"module","create-unit":"module","create-template":"module","create-crud-page":"page","context":"context","doctor":"context","mcp-install":"context","mcp":"context","mcp-call":"context","login":"cloud","logout":"cloud","set-llm":"cloud","reset-llm":"cloud","ask":"cloud","deploy-akan":"cloud","update":"cloud","download-env":"cloud","upload-env":"cloud","subspace":"subspace","guideline":"guideline","generate-instruction":"guideline","update-instruction":"guideline","generate-document":"guideline","reapply-instruction":"guideline","create-scalar":"scalar","remove-scalar":"scalar","create-ui":"primitive","add-field":"primitive","add-enum-field":"primitive","quality":"quality","repair":"repair","workflow":"workflow"}}
@@ -1,29 +1,26 @@
1
1
  // @bun
2
- import {
3
- ContextScript
4
- } from "./index-w6wbb612.js";
5
- import"./index-ztpw544k.js";
6
- import"./index-5pmx7bkg.js";
7
- import"./index-bz2sfzzt.js";
8
- import"./index-vtj3zps1.js";
9
- import"./index-4hek879p.js";
10
- import"./index-gmy45vz2.js";
11
- import"./index-ss469dec.js";
12
- import"./index-xhgtkekh.js";
13
- import"./index-0cj2zxbm.js";
14
- import"./index-mssqn2sq.js";
15
- import"./index-2c3e2xh8.js";
16
- import"./index-7myvn0f0.js";
17
- import"./index-76rn3g2c.js";
18
2
  import {
19
3
  Workspace,
20
4
  command
21
- } from "./index-6rhabeev.js";
22
- import"./index-vg0sj9nc.js";
23
- import"./index-mxvakhsm.js";
24
- import"./index-xys926f2.js";
25
- import"./index-67546d0j.js";
26
- import"./index-r24hmh0q.js";
5
+ } from "./index-ft1sfjz0.js";
6
+ import"./index-k1n0h7dk.js";
7
+ import"./index-ayy5ecax.js";
8
+ import"./index-6wwzs1bc.js";
9
+ import"./index-by5gpp8x.js";
10
+ import"./index-saheq2bs.js";
11
+ import"./index-5y7qba1c.js";
12
+ import {
13
+ ContextScript
14
+ } from "./index-dq6wq1tv.js";
15
+ import"./index-b2nt0w0k.js";
16
+ import"./index-h7yw2z9n.js";
17
+ import"./index-qcracvc9.js";
18
+ import"./index-j9vnq8tr.js";
19
+ import"./index-wet2ytnr.js";
20
+ import"./index-k86zc21w.js";
21
+ import"./index-1kzsn94d.js";
22
+ import"./index-cd5x18qh.js";
23
+ import"./index-v0s24t8j.js";
27
24
 
28
25
  // pkgs/@akanjs/cli/context/context.command.ts
29
26
  class ContextCommand extends command("context", [ContextScript], ({ public: target }) => ({
@@ -0,0 +1,8 @@
1
+ // @bun
2
+ import {
3
+ TypeScriptDependencyScanner2
4
+ } from "./index-mfm35dhh.js";
5
+ import"./index-ayy5ecax.js";
6
+ export {
7
+ TypeScriptDependencyScanner2 as TypeScriptDependencyScanner
8
+ };
@@ -0,0 +1,7 @@
1
+ // @bun
2
+ import {
3
+ getDirname2
4
+ } from "./index-6wwzs1bc.js";
5
+ export {
6
+ getDirname2 as getDirname
7
+ };
@@ -1,24 +1,23 @@
1
1
  // @bun
2
- import {
3
- AiSession
4
- } from "./index-0cj2zxbm.js";
5
- import {
6
- Prompter
7
- } from "./index-7myvn0f0.js";
8
2
  import {
9
3
  Workspace,
10
- command,
11
4
  runner,
12
- script
13
- } from "./index-6rhabeev.js";
14
- import {
15
- getDirname
16
- } from "./index-vg0sj9nc.js";
17
- import"./index-mxvakhsm.js";
5
+ script,
6
+ command
7
+ } from "./index-ft1sfjz0.js";
8
+ import"./index-k1n0h7dk.js";
18
9
  import {
19
10
  FileSys
20
- } from "./index-67546d0j.js";
21
- import"./index-r24hmh0q.js";
11
+ } from "./index-ayy5ecax.js";
12
+ import {
13
+ getDirname2
14
+ } from "./index-6wwzs1bc.js";
15
+ import {
16
+ Prompter
17
+ } from "./index-h7yw2z9n.js";
18
+ import {
19
+ AiSession
20
+ } from "./index-wet2ytnr.js";
22
21
 
23
22
  // pkgs/@akanjs/cli/guideline/guideline.script.ts
24
23
  import { Logger } from "akanjs/common";
@@ -64,7 +63,7 @@ class GuidelinePrompt extends Prompter {
64
63
  const scanResult = await Promise.all(targetFilePaths.map(async (filePath) => ({ ...scan, ...await this.workspace.getLocalFile(filePath) })));
65
64
  scanFiles.push(...scanResult);
66
65
  }
67
- const resultPath = `${getDirname(import.meta.url)}/../guidelines/${this.name}/${guideJson.update.filePath}`;
66
+ const resultPath = `${getDirname2(import.meta.url)}/../guidelines/${this.name}/${guideJson.update.filePath}`;
68
67
  const writePath = `${this.workspace.workspaceRoot}/pkgs/@akanjs/cli/guidelines/${this.name}/${guideJson.update.filePath}`;
69
68
  const isResultExists = await this.workspace.exists(writePath);
70
69
  const existingResult = isResultExists ? await this.workspace.readFile(resultPath) : null;
@@ -106,7 +105,7 @@ ${guideJson.update.rules.map((rule) => `- ${rule}`).join(`
106
105
  }
107
106
  async requestUpdateInstruction(updateRequest) {
108
107
  const guideJson = await Prompter.getGuideJson(this.name);
109
- const resultPath = `${getDirname(import.meta.url)}/../guidelines/${this.name}/${guideJson.update.filePath}`;
108
+ const resultPath = `${getDirname2(import.meta.url)}/../guidelines/${this.name}/${guideJson.update.filePath}`;
110
109
  const writePath = `${this.workspace.workspaceRoot}/pkgs/@akanjs/cli/guidelines/${this.name}/${guideJson.update.filePath}`;
111
110
  const isResultExists = await this.workspace.exists(writePath);
112
111
  if (!isResultExists)