@akanjs/cli 3.0.0-beta.8 → 3.0.0

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 (224) hide show
  1. package/.build-stamp +1 -1
  2. package/CodeAgent-2vmp9qe0.js +9 -0
  3. package/CodeAgentRpcHost-p7h6n2hp.js +7 -0
  4. package/CodeAgentRpcListener-7p7z5dd7.js +97 -0
  5. package/CodeTui-5ed6bg2a.js +1457 -0
  6. package/README.ko.md +83 -28
  7. package/README.md +70 -27
  8. package/TunnelShare-cwh9ezsm.js +9 -0
  9. package/{agent.command-0q17pnrs.js → agent.command-gn73rhe7.js} +8 -9
  10. package/akanCode.js +102 -0
  11. package/application.command-e968t0hw.js +246 -0
  12. package/{applicationBuildRunner-kxwbssgn.js → applicationBuildRunner-64taxseg.js} +121 -77
  13. package/buildBatch.proc.js +120 -32
  14. package/cloud.command-0jm301rr.js +95 -0
  15. package/cloud.script-nemnzjpv.js +20 -0
  16. package/code.command-18kcm7hq.js +154 -0
  17. package/commandManifest.json +1 -1
  18. package/consoleToStderr-h5bryj94.js +7 -0
  19. package/context.command-trd9bn18.js +48 -0
  20. package/context.runner-y5hwh673.js +21 -0
  21. package/{dependencyScanner-shs82ynp.js → dependencyScanner-06z2dmrr.js} +2 -2
  22. package/{devTui-m1atgkc9.js → devTui-q7k7bakd.js} +122 -40
  23. package/fileSys-wzzrntkw.js +9 -0
  24. package/guideline.command-bdmdn2de.js +42 -0
  25. package/guidelines/agentRule/agentRule.instruction.md +154 -26
  26. package/guidelines/conventions/conventions.instruction.md +134 -48
  27. package/guidelines/mcpRule/mcpRule.instruction.md +7 -5
  28. package/guidelines/queryRule/queryRule.instruction.md +21 -7
  29. package/guidelines/runtimeRule/runtimeRule.instruction.md +291 -6
  30. package/guidelines/ssrRule/ssrRule.instruction.md +4 -2
  31. package/guidelines/transportRule/transportRule.instruction.md +10 -8
  32. package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +20 -0
  33. package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +66 -3
  34. package/incrementalBuilder.proc.js +564 -109
  35. package/index-0wpybxtr.js +2729 -0
  36. package/{index-kcxmv48c.js → index-2ahj896a.js} +45 -79
  37. package/index-2wc41k5w.js +49 -0
  38. package/index-3hx1z96c.js +87 -0
  39. package/{index-2tv3fdx4.js → index-3w94e7n3.js} +1228 -1458
  40. package/{index-hwkygn9s.js → index-48k96p55.js} +325 -36
  41. package/index-4npz05nm.js +187 -0
  42. package/{index-q0y2jq9j.js → index-52w0fvh8.js} +21 -4
  43. package/index-6he6gvfg.js +4300 -0
  44. package/index-7md2g9vw.js +6 -0
  45. package/{index-04bk599g.js → index-93j60em0.js} +10 -17
  46. package/index-94s080qm.js +266 -0
  47. package/index-9dp031by.js +12 -0
  48. package/{index-ktb5njgy.js → index-9z771ptz.js} +49 -99
  49. package/{index-y6n8nmny.js → index-abxpehf8.js} +75 -203
  50. package/{index-3d9y066c.js → index-bjwxs904.js} +9 -8
  51. package/{index-9077wzd2.js → index-by9pxkr0.js} +43 -26
  52. package/index-c6eggbee.js +123 -0
  53. package/index-d2242ksy.js +99 -0
  54. package/index-drehwpdt.js +1119 -0
  55. package/{index-92zztqy1.js → index-dy0jx9ay.js} +2 -17
  56. package/{index-ffvk10zz.js → index-f3c78nd6.js} +107 -241
  57. package/index-gbggbqcp.js +1058 -0
  58. package/{index-by5gpp8x.js → index-hj6w4ka1.js} +2 -1
  59. package/index-hsmtysz4.js +53 -0
  60. package/{index-j9yhg404.js → index-jmrn54tt.js} +4 -7
  61. package/{index-a64esmtb.js → index-kcdj1z5v.js} +523 -1022
  62. package/{index-d43r08tf.js → index-kqabytj7.js} +77 -150
  63. package/{index-vyvre9en.js → index-mbxbhay5.js} +6 -2
  64. package/{index-vxtad5bd.js → index-mgxpx3f2.js} +5 -8
  65. package/index-p6pbz9n5.js +25 -0
  66. package/{index-sj5vxr8f.js → index-p993efkq.js} +981 -897
  67. package/{index-2xp0kfkt.js → index-pmhqttv3.js} +37 -25
  68. package/index-tqm7jjcn.js +700 -0
  69. package/{index-0g7r8xz3.js → index-vpj42xwt.js} +114 -232
  70. package/index-wa5jbxj1.js +760 -0
  71. package/{index-k2j1hc4r.js → index-wprnsjms.js} +12 -12
  72. package/{index-gyd220p2.js → index-y3mphr1m.js} +554 -577
  73. package/index-yg7jhz8x.js +69 -0
  74. package/{index-h7yw2z9n.js → index-zzvvc845.js} +8 -14
  75. package/index.js +23 -22
  76. package/{library.command-qzzbj6d8.js → library.command-9h749a1x.js} +4 -5
  77. package/{localRegistry.command-vyrgg4xw.js → localRegistry.command-2bqqhxyz.js} +23 -43
  78. package/{module.command-rq5hq3ax.js → module.command-nv8nzgft.js} +8 -12
  79. package/{package.command-d9hd6v9n.js → package.command-mq4bggp6.js} +6 -7
  80. package/package.json +15 -7
  81. package/{page.command-126d56te.js → page.command-j639n707.js} +4 -5
  82. package/{primitive.command-taxd1538.js → primitive.command-kz6849th.js} +9 -23
  83. package/prompter-76k56b37.js +8 -0
  84. package/{quality.command-6gsna0a3.js → quality.command-4hyabwkb.js} +205 -377
  85. package/{recipeScanner-fpagtgc1.js → recipeScanner-4b69ybe0.js} +1 -1
  86. package/{repair.command-tq2dgy72.js → repair.command-a9awpbqr.js} +11 -35
  87. package/{routeSourceValidator-apyqw7wk.js → routeSourceValidator-7ycnfz0e.js} +0 -6
  88. package/{scalar.command-3bcmrrkv.js → scalar.command-ma4fpm9m.js} +7 -11
  89. package/skills/akan-code/SKILL.md +130 -0
  90. package/skills/akan-debug/SKILL.md +42 -0
  91. package/skills/akan-deps/SKILL.md +50 -0
  92. package/skills/akan-err/SKILL.md +39 -0
  93. package/skills/akan-module/SKILL.md +45 -0
  94. package/skills/akan-scaffold/SKILL.md +76 -0
  95. package/skills/akan-scalar/SKILL.md +52 -0
  96. package/skills/akan-service/SKILL.md +34 -0
  97. package/skills/akan-store/SKILL.md +67 -0
  98. package/skills/akan-ui/SKILL.md +63 -0
  99. package/skills/akan-validate/SKILL.md +44 -0
  100. package/{subspace.command-eddzqpx3.js → subspace.command-3k2pmrs4.js} +53 -62
  101. package/templates/__scalar/__model__/__model__.abstract.md.template +8 -0
  102. package/templates/app/page/_index.tsx +257 -258
  103. package/templates/app/page/_layout.tsx +5 -1
  104. package/templates/app/page/_overrides.tsx +12 -0
  105. package/templates/app/page/styles.css.template +316 -14
  106. package/templates/app/public/apple-touch-icon.png +0 -0
  107. package/templates/app/public/favicon.ico +0 -0
  108. package/templates/app/public/jelly/cloud.webp +0 -0
  109. package/templates/app/public/jelly/comet.webp +0 -0
  110. package/templates/app/public/jelly/moon.webp +0 -0
  111. package/templates/app/public/jelly/planet.webp +0 -0
  112. package/templates/app/public/jelly/rocket.webp +0 -0
  113. package/templates/app/public/jelly/star.webp +0 -0
  114. package/templates/app/public/jelly/sugar.webp +0 -0
  115. package/templates/app/public/logo.png +0 -0
  116. package/templates/app/ui/Recipe/index.ts +9 -0
  117. package/templates/app/ui/Recipe/jellyButton.ts +63 -0
  118. package/templates/appSample/lib/__scalar/workHistory/workHistory.abstract.ts +8 -39
  119. package/templates/appSample/lib/_noti/noti.abstract.ts +6 -29
  120. package/templates/appSample/lib/task/Task.Unit.tsx +1 -1
  121. package/templates/appSample/lib/task/Task.Util.tsx +10 -13
  122. package/templates/appSample/lib/task/Task.View.tsx +2 -2
  123. package/templates/appSample/lib/task/Task.Zone.tsx +5 -2
  124. package/templates/appSample/lib/task/task.abstract.ts +12 -32
  125. package/templates/appSample/lib/task/task.signal.spec.ts +1 -15
  126. package/templates/appSample/lib/task/task.signal.test.ts +15 -1
  127. package/templates/appSample/lib/task/task.signal.ts +10 -8
  128. package/templates/appSample/page/task/[taskId]/_index.tsx +6 -6
  129. package/templates/appSample/page/task/[taskId]/edit.tsx +5 -4
  130. package/templates/appSample/page/task/_index.tsx +4 -3
  131. package/templates/appSample/page/task/_layout.tsx +1 -1
  132. package/templates/appSample/page/task/new.tsx +5 -4
  133. package/templates/appSample/srvkit/{AuthGuard.ts → guards.ts} +7 -4
  134. package/templates/appSample/srvkit/{SessionInternalArg.ts → internalArgs.ts} +6 -4
  135. package/templates/appSample/ui/GlobalLoading.tsx +2 -1
  136. package/templates/appSample/ui/QuantityControl.tsx +3 -3
  137. package/templates/client.ts +7 -30
  138. package/templates/crudPages/[__model__Id]/edit/page.tsx +2 -1
  139. package/templates/crudPages/[__model__Id]/page.tsx +2 -1
  140. package/templates/crudPages/new/page.tsx +2 -1
  141. package/templates/crudPages/page.tsx +2 -1
  142. package/templates/crudSinglePage/page.tsx +2 -1
  143. package/templates/lib/__lib/lib.dictionary.ts +0 -2
  144. package/templates/lib/__lib/lib.document.ts +0 -2
  145. package/templates/lib/sig.ts +8 -30
  146. package/templates/localDev/docker-compose.yaml.template +3 -14
  147. package/templates/module/__model__.signal.ts +12 -4
  148. package/templates/pkgRoot/tsconfig.json.template +2 -7
  149. package/templates/server.ts +1 -3
  150. package/templates/service/__model__.abstract.md.template +8 -0
  151. package/templates/workspaceRoot/.gitignore.template +0 -1
  152. package/templates/workspaceRoot/AGENTS.md.template +6 -0
  153. package/templates/workspaceRoot/package.json.template +1 -3
  154. package/tunnel.command-xwr46b66.js +129 -0
  155. package/{typeChecker-3xgrzc2v.js → typeChecker-px49mezc.js} +1 -1
  156. package/typecheck.proc.js +1 -1
  157. package/workflow.command-t7wqe4h7.js +79 -0
  158. package/{workspace.command-06wvstgr.js → workspace.command-4derhzrh.js} +79 -109
  159. package/abstractCompactor-gmkc0z8j.js +0 -102
  160. package/application.command-18y0s485.js +0 -204
  161. package/applicationReleasePackager-4yasxwv9.js +0 -244
  162. package/capacitorApp-36rbr858.js +0 -12
  163. package/cloud.command-av97ndh6.js +0 -94
  164. package/cloud.script-cm11xjdz.js +0 -20
  165. package/context.command-5v37ef3n.js +0 -81
  166. package/devTuiView-0hc2emhe.js +0 -9
  167. package/getDirname-dr3jz1xg.js +0 -7
  168. package/guideline.command-4pz9g1rt.js +0 -360
  169. package/guidelines/agentRule/agentRule.generate.json +0 -31
  170. package/guidelines/componentRule/componentRule.generate.json +0 -31
  171. package/guidelines/conventions/conventions.generate.json +0 -25
  172. package/guidelines/cssRule/cssRule.generate.json +0 -31
  173. package/guidelines/docPageRule/docPageRule.generate.json +0 -31
  174. package/guidelines/docPageRule/docPageRule.instruction.md +0 -25
  175. package/guidelines/docSyncRule/docSyncRule.generate.json +0 -31
  176. package/guidelines/docSyncRule/docSyncRule.instruction.md +0 -25
  177. package/guidelines/enumConstant/enumConstant.generate.json +0 -31
  178. package/guidelines/enumConstant/enumConstant.instruction.md +0 -28
  179. package/guidelines/fieldRule/fieldRule.generate.json +0 -31
  180. package/guidelines/framework/framework.generate.json +0 -32
  181. package/guidelines/mcpRule/mcpRule.generate.json +0 -35
  182. package/guidelines/modelConstant/modelConstant.generate.json +0 -32
  183. package/guidelines/modelDictionary/modelDictionary.generate.json +0 -32
  184. package/guidelines/modelDocument/modelDocument.generate.json +0 -31
  185. package/guidelines/modelService/modelService.generate.json +0 -31
  186. package/guidelines/modelSignal/modelSignal.generate.json +0 -31
  187. package/guidelines/modelStore/modelStore.generate.json +0 -31
  188. package/guidelines/modelTemplate/modelTemplate.generate.json +0 -31
  189. package/guidelines/modelUnit/modelUnit.generate.json +0 -31
  190. package/guidelines/modelUtil/modelUtil.generate.json +0 -31
  191. package/guidelines/modelView/modelView.generate.json +0 -31
  192. package/guidelines/modelZone/modelZone.generate.json +0 -31
  193. package/guidelines/moduleCodegen/moduleCodegen.generate.json +0 -31
  194. package/guidelines/moduleCodegen/moduleCodegen.instruction.md +0 -28
  195. package/guidelines/moduleOverview/moduleOverview.generate.json +0 -31
  196. package/guidelines/queryRule/queryRule.generate.json +0 -31
  197. package/guidelines/recipeRule/recipeRule.generate.json +0 -31
  198. package/guidelines/runtimeRule/runtimeRule.generate.json +0 -25
  199. package/guidelines/scalarConstant/scalarConstant.generate.json +0 -32
  200. package/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -32
  201. package/guidelines/scalarModule/scalarModule.generate.json +0 -31
  202. package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -31
  203. package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -25
  204. package/guidelines/ssrRule/ssrRule.generate.json +0 -31
  205. package/guidelines/transportRule/transportRule.generate.json +0 -31
  206. package/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -31
  207. package/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -25
  208. package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +0 -24
  209. package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +0 -33
  210. package/index-47pj3aee.js +0 -76
  211. package/index-5ystnsd5.js +0 -841
  212. package/index-6wwzs1bc.js +0 -7
  213. package/index-a17x49vg.js +0 -229
  214. package/index-m0xccmmm.js +0 -228
  215. package/index-meh558jy.js +0 -65
  216. package/index-rtxxan88.js +0 -471
  217. package/index-te54x9zm.js +0 -338
  218. package/index-w8kmx1b6.js +0 -2176
  219. package/index-wt7qrtd4.js +0 -1516
  220. package/templates/__scalar/__model__/__model__.abstract.md +0 -28
  221. package/templates/module/__model__.abstract.md +0 -28
  222. package/templates/service/__model__.abstract.md +0 -28
  223. package/templates/workspaceRoot/patches/react-dom@19.2.7.patch.template +0 -62
  224. package/workflow.command-gtdnzvbz.js +0 -108
package/README.ko.md CHANGED
@@ -1,44 +1,98 @@
1
1
  # @akanjs/cli
2
2
 
3
- [문서](https://akanjs.com/docs) | [npm](https://www.npmjs.com/package/@akanjs/cli) | [런타임](https://www.npmjs.com/package/akanjs)
3
+ [English](https://github.com/akan-team/akanjs/blob/main/pkgs/@akanjs/cli/README.md) | [문서](https://akanjs.com/docs) | [npm](https://www.npmjs.com/package/@akanjs/cli) | [런타임](https://www.npmjs.com/package/akanjs)
4
4
 
5
- Akan.js 워크스페이스를 위한 command-line tooling입니다.
5
+ 에이전트까지 들어 있는 TypeScript 프레임워크 [Akan.js](https://akanjs.com)의 `akan` 명령입니다.
6
6
 
7
- `@akanjs/cli`는 Akan 애플리케이션, 라이브러리, 프레임워크 패키지를 생성, 빌드, 테스트, 린트,
8
- 릴리즈, 유지보수하는 데 사용하는 `akan` 실행 파일을 제공합니다. Bun-first CLI 패키지이며 Akan
9
- 개발 tooling을 내부에 번들링하므로, 애플리케이션 런타임은 더 작은 `akanjs` 패키지에만 의존할 수
10
- 있습니다.
7
+ `akan`은 Akan 워크스페이스를 만들고, 실행하고, 빌드하고, 테스트하고, 배포합니다. 하나의 코드베이스에서 웹,
8
+ iOS, Android, 데스크톱 앱이 나오고, 코딩 에이전트에게는 따라야 할 규칙과 도구를 줍니다. Bun-first 패키지이며 Akan
9
+ 개발 도구를 내부에 번들하므로, 애플리케이션 런타임은 더 작은 `akanjs` 패키지에만 의존합니다.
11
10
 
12
11
  ## 설치
13
12
 
14
- 새 워크스페이스를 바로 만들 수 있습니다.
13
+ Claude Code나 Codex로 시작한다면 [시작하기](https://akanjs.com/docs/intro/quickstart)의 프롬프트를 붙여 넣으세요.
14
+ 에이전트가 워크스페이스를 만들어 줍니다.
15
+
16
+ 터미널에서는 이렇게 시작합니다.
15
17
 
16
18
  ```bash
17
19
  bunx create-akan-workspace@latest
18
20
  ```
19
21
 
20
- 또는 CLI를 전역으로 설치할 수 있습니다.
22
+ 또는 CLI를 전역으로 설치합니다.
21
23
 
22
24
  ```bash
23
- bun install -g @akanjs/cli@latest
25
+ bun install -g @akanjs/cli
24
26
  akan --help
25
27
  ```
26
28
 
27
29
  ## 자주 쓰는 명령
28
30
 
29
31
  ```bash
30
- akan create-workspace <workspace-name>
31
- akan start <app-name>
32
- akan build <app-name>
33
- akan test <app-or-lib-or-pkg>
32
+ akan create-workspace <workspace> --app <app>
33
+ akan create-application <app>
34
+ akan create-library <lib>
35
+ akan create-module <module>
36
+ akan create-scalar <scalar>
37
+ akan start <app> --open
38
+ akan build <app>
39
+ akan typecheck <app>
34
40
  akan lint <app-or-lib-or-pkg>
35
- akan create-application <app-name>
36
- akan create-library <lib-name>
37
- akan create-module <module-name>
38
- akan create-scalar <scalar-name>
41
+ akan test <app-or-lib-or-pkg>
42
+ akan logs <app>
43
+ akan update
44
+ ```
45
+
46
+ - `akan start`는 여러 앱을 한 번에 받습니다(`akan start a,b`, 또는 `all`). 앱마다 로그를 나눠 보여 주는 전체
47
+ 화면으로 열리고, `--plain`은 접두어가 붙은 줄 출력으로, `--kill`은 개발 포트를 먼저 비우고, `--share`는 앱마다
48
+ 공개 URL을 붙입니다. 모든 세션은 `local/apps/<app>/runtime/dev.log`에도 기록됩니다.
49
+ - `akan logs <app>`은 실행 중인 서버의 로그를 `--level`, `--grep`, `--endpoint`, `--trace`, `--origin`으로 걸러
50
+ 따라갑니다.
51
+
52
+ ## 네이티브 앱
53
+
54
+ ```bash
55
+ akan start-ios <app> # start-android, start-desktop도 있습니다
56
+ akan build-ios <app> # build-android, build-desktop도 있습니다
57
+ akan release-ios <app> # release-android도 있습니다
58
+ akan update-keygen <app>
59
+ akan publish-update <app>
39
60
  ```
40
61
 
41
- 패키지 유지보수 명령도 같은 실행 파일에서 제공합니다.
62
+ iOS, Android, macOS, Windows, Linux 앱은 앱의 CSR 번들을 Akan 네이티브 런타임에 올려 만들고,
63
+ `akan.config.ts`의 `native` 섹션에서 설정합니다.
64
+
65
+ ## 코딩 에이전트를 위한 명령
66
+
67
+ ```bash
68
+ akan code "작업에 마감일을 추가해 줘" # 터미널 코딩 에이전트
69
+ akan agent install all # AGENTS.md, CLAUDE.md, Cursor 규칙
70
+ akan mcp-install all # Cursor, Claude Code, Codex에 Akan MCP 서버 등록
71
+ akan mcp --mode plan # stdio MCP 서버: readonly, plan, apply
72
+ akan workflow list # MCP 없이 같은 워크플로: list, explain, plan, apply
73
+ akan guideline show ssrRule
74
+ akan context --format json
75
+ akan doctor --strict --format json
76
+ akan quality ssr
77
+ akan repair generated
78
+ ```
79
+
80
+ 새 워크스페이스에는 규칙과 MCP 서버가 이미 설치돼 있습니다. MCP 서버는 `readonly` 모드에서 읽기만 하고, `plan`
81
+ 모드에서 워크플로를 계획하며, `mcp-install`이 등록하는 `apply` 모드에서는 계획을 적용하고 검증과 수리 도구까지
82
+ 실행합니다. 에이전트는 워크플로를 거쳐 코드를 고치므로 워크스페이스 규칙을 우회하지 않고 따릅니다. `akan code`는
83
+ 같은 규칙, 워크플로, 스킬 위에서 일하는 터미널 에이전트입니다.
84
+
85
+ ## Akan Cloud
86
+
87
+ ```bash
88
+ akan login # Akan Cloud에 로그인
89
+ akan tunnel <app> # 실행 중인 앱을 공개 URL로 공유
90
+ akan build <app> # Akan Cloud가 돌릴 프로덕션 결과물 빌드
91
+ ```
92
+
93
+ ## 패키지 유지보수
94
+
95
+ 프레임워크 메인테이너는 같은 실행 파일로 Akan 패키지를 빌드하고 검증합니다.
42
96
 
43
97
  ```bash
44
98
  akan build-package akanjs
@@ -49,23 +103,24 @@ akan verify-akan-publish-packages
49
103
  akan smoke-registry --test=true --tag=rc
50
104
  ```
51
105
 
52
- Akan framework 패키지는 반드시 `dist/pkgs/*` 산출물 기준으로 publish합니다. `verify-akan-publish-packages`는
53
- 빌드된 패키지에 `npm pack --dry-run --json`을 실행하고, `deploy-akan` 또는 local registry smoke 전에 필요한
54
- metadata를 검증합니다.
55
- 저장소 릴리즈에서는 root `akan` bootstrap script가 CLI dist를 덮어쓰지 않도록
56
- `bun run release:build-packages && bun run release:verify-packages`를 우선 사용합니다.
106
+ Akan 프레임워크 패키지는 `dist/pkgs/*`에서만 배포합니다. `verify-akan-publish-packages`는 빌드된 패키지에
107
+ `npm pack --dry-run --json`을 실행해 `deploy-akan`이나 로컬 레지스트리 스모크 전에 맞아야 하는 메타데이터를
108
+ 확인합니다. 저장소 릴리스에서는 `bun run release:build-packages && bun run release:verify-packages`를 쓰세요. CLI
109
+ 패키지 결과물이 마지막에 빌드되어 루트 `akan` 부트스트랩 스크립트가 덮어쓰지 않습니다.
57
110
 
58
111
  ## 패키지 경계
59
112
 
60
- - 애플리케이션과 런타임 코드는 `akanjs`를 사용합니다.
61
- - 사용자-facing 실행 패키지는 `@akanjs/cli`입니다.
62
- - `@akanjs/devkit`은 published CLI 사용을 위해 CLI 안에 번들링됩니다. 일반 CLI 사용자가 별도의
63
- runtime dependency로 설치할 필요는 없습니다.
113
+ - 애플리케이션과 런타임 코드에서는 `akanjs`를 사용합니다.
114
+ - 사용자용 실행 파일 패키지는 `@akanjs/cli`입니다.
115
+ - `@akanjs/devkit`은 배포된 CLI 안에 번들되므로, 일반 CLI 사용자는 따로 설치할 필요가 없습니다.
116
+ - `akan code` 에이전트도 같은 경계를 따릅니다. 엔진, 도구, 스킬은 devkit facet(`@akanjs/devkit/codeAgent`)이고,
117
+ `@akanjs/cli/code`는 터미널 호스트이자 둘을 다시 내보내는 SDK 진입점입니다.
64
118
 
65
119
  ## 요구사항
66
120
 
67
121
  - [Bun](https://bun.sh) `>=1.4.0`
68
- - TypeScript 기반 Akan 워크스페이스
122
+ - TypeScript Akan 워크스페이스
123
+ - 네이티브 빌드: Xcode(iOS), Android SDK와 JDK 21(Android), Rust(데스크톱)
69
124
 
70
125
  ## 라이선스
71
126
 
package/README.md CHANGED
@@ -1,16 +1,19 @@
1
1
  # @akanjs/cli
2
2
 
3
- [Docs](https://akanjs.com/docs) | [npm](https://www.npmjs.com/package/@akanjs/cli) | [Runtime](https://www.npmjs.com/package/akanjs)
3
+ [한국어](https://github.com/akan-team/akanjs/blob/main/pkgs/@akanjs/cli/README.ko.md) | [Docs](https://akanjs.com/docs) | [npm](https://www.npmjs.com/package/@akanjs/cli) | [Runtime](https://www.npmjs.com/package/akanjs)
4
4
 
5
- Command-line tooling for Akan.js workspaces.
5
+ The `akan` command for [Akan.js](https://akanjs.com), the TypeScript framework with agents included.
6
6
 
7
- `@akanjs/cli` provides the `akan` executable used to create, build, test, lint, release, and maintain Akan
8
- applications, libraries, and framework packages. It is a Bun-first CLI package and bundles Akan development
9
- tooling internally so application runtimes can depend on the smaller `akanjs` package.
7
+ `akan` creates, runs, builds, tests and ships Akan workspaces — web, iOS, Android and desktop apps from one
8
+ codebase — and gives coding agents the rules and tools they work through. It is Bun-first and bundles the Akan
9
+ development tooling, so application runtimes depend only on the smaller `akanjs` package.
10
10
 
11
11
  ## Install
12
12
 
13
- Create a new workspace:
13
+ Starting with Claude Code or Codex? Paste the prompt from the
14
+ [quick start](https://akanjs.com/docs/intro/quickstart) and the agent sets the workspace up for you.
15
+
16
+ From a terminal:
14
17
 
15
18
  ```bash
16
19
  bunx create-akan-workspace@latest
@@ -19,40 +22,76 @@ bunx create-akan-workspace@latest
19
22
  Or install the CLI globally:
20
23
 
21
24
  ```bash
22
- bun install -g @akanjs/cli@latest
25
+ bun install -g @akanjs/cli
23
26
  akan --help
24
27
  ```
25
28
 
26
- ## Common Commands
29
+ ## Everyday Commands
27
30
 
28
31
  ```bash
29
- akan create-workspace <workspace-name>
30
- akan start <app-name>
31
- akan build <app-name>
32
- akan test <app-or-lib-or-pkg>
32
+ akan create-workspace <workspace> --app <app>
33
+ akan create-application <app>
34
+ akan create-library <lib>
35
+ akan create-module <module>
36
+ akan create-scalar <scalar>
37
+ akan start <app> --open
38
+ akan build <app>
39
+ akan typecheck <app>
33
40
  akan lint <app-or-lib-or-pkg>
34
- akan create-application <app-name>
35
- akan create-library <lib-name>
36
- akan create-module <module-name>
37
- akan create-scalar <scalar-name>
41
+ akan test <app-or-lib-or-pkg>
42
+ akan logs <app>
43
+ akan update
44
+ ```
45
+
46
+ - `akan start` takes several apps (`akan start a,b`, or `all`) and opens a full-screen view with a log per app.
47
+ `--plain` prints prefixed lines instead, `--kill` frees the dev ports first, and `--share` puts each app on a
48
+ public URL. Every session also writes `local/apps/<app>/runtime/dev.log`.
49
+ - `akan logs <app>` tails a running server, filtered by `--level`, `--grep`, `--endpoint`, `--trace` or `--origin`.
50
+
51
+ ## Native Apps
52
+
53
+ ```bash
54
+ akan start-ios <app> # also start-android, start-desktop
55
+ akan build-ios <app> # also build-android, build-desktop
56
+ akan release-ios <app> # also release-android
57
+ akan update-keygen <app>
58
+ akan publish-update <app>
38
59
  ```
39
60
 
40
- ## Agent And MCP Commands
61
+ iOS, Android, macOS, Windows and Linux apps are built from the app's CSR bundle on the Akan native runtime,
62
+ configured in the `native` section of `akan.config.ts`.
63
+
64
+ ## For Coding Agents
65
+
66
+ ```bash
67
+ akan code "add a due date to tasks" # the terminal coding agent
68
+ akan agent install all # AGENTS.md, CLAUDE.md and Cursor rules
69
+ akan mcp-install all # register the Akan MCP server for Cursor, Claude Code and Codex
70
+ akan mcp --mode plan # the MCP server over stdio: readonly, plan or apply
71
+ akan workflow list # the same workflows without MCP: list, explain, plan, apply
72
+ akan guideline show ssrRule
73
+ akan context --format json
74
+ akan doctor --strict --format json
75
+ akan quality ssr
76
+ akan repair generated
77
+ ```
78
+
79
+ A new workspace already has the rules and the MCP server installed. The MCP server reads in `readonly` mode,
80
+ plans workflows in `plan` mode, and in `apply` mode — the mode `mcp-install` registers — applies a plan, runs
81
+ validation and the repair tools. An agent changes code through the workflows, so it follows the workspace's rules
82
+ instead of routing around them. `akan code` is a terminal agent built on the same rules, workflows and skills.
83
+
84
+ ## Akan Cloud
41
85
 
42
86
  ```bash
43
- akan context --format markdown
44
- akan context --format json --module <module-name>
45
- akan doctor --format json
46
- akan guideline list
47
- akan guideline show framework
48
- akan agent install cursor
49
- akan mcp
87
+ akan login # sign in to Akan Cloud
88
+ akan tunnel <app> # share a running app on a public URL
89
+ akan build <app> # build the production artifact Akan Cloud runs
50
90
  ```
51
91
 
52
- These commands expose Akan workspace structure, module abstracts, diagnostics, and guideline instructions for
53
- coding agents. The MCP server is read-only and is intended to provide context rather than edit files directly.
92
+ ## Package Maintenance
54
93
 
55
- Package maintenance commands are also exposed through the same executable:
94
+ Framework maintainers build and verify the Akan packages through the same executable:
56
95
 
57
96
  ```bash
58
97
  akan build-package akanjs
@@ -74,11 +113,15 @@ artifact is built last and is not overwritten by the root `akan` bootstrap scrip
74
113
  - Use `@akanjs/cli` as the user-facing executable package.
75
114
  - `@akanjs/devkit` is bundled into the CLI for published CLI usage; it is not required as a separate
76
115
  runtime dependency for ordinary CLI users.
116
+ - The `akan code` agent follows that same split: its engine, tools and skills are a devkit facet
117
+ (`@akanjs/devkit/codeAgent`), and `@akanjs/cli/code` is the terminal host plus the SDK entry that
118
+ re-exports both.
77
119
 
78
120
  ## Requirements
79
121
 
80
122
  - [Bun](https://bun.sh) `>=1.4.0`
81
123
  - A TypeScript Akan workspace
124
+ - For native builds: Xcode (iOS), the Android SDK and JDK 21 (Android), or Rust (desktop)
82
125
 
83
126
  ## License
84
127
 
@@ -0,0 +1,9 @@
1
+ // @bun
2
+ import {
3
+ TunnelShare2
4
+ } from "./index-2wc41k5w.js";
5
+ import"./index-94s080qm.js";
6
+ import"./index-52w0fvh8.js";
7
+ export {
8
+ TunnelShare2 as TunnelShare
9
+ };
@@ -2,17 +2,16 @@
2
2
  import {
3
3
  Workspace,
4
4
  command
5
- } from "./index-0g7r8xz3.js";
6
- import"./index-q0y2jq9j.js";
7
- import"./index-2tv3fdx4.js";
8
- import"./index-6wwzs1bc.js";
9
- import"./index-by5gpp8x.js";
10
- import"./index-gyd220p2.js";
11
- import"./index-ktb5njgy.js";
12
- import"./index-h7yw2z9n.js";
5
+ } from "./index-vpj42xwt.js";
6
+ import"./index-52w0fvh8.js";
7
+ import"./index-3w94e7n3.js";
8
+ import"./index-hj6w4ka1.js";
9
+ import"./index-y3mphr1m.js";
10
+ import"./index-9z771ptz.js";
11
+ import"./index-zzvvc845.js";
13
12
  import {
14
13
  AgentScript
15
- } from "./index-k2j1hc4r.js";
14
+ } from "./index-wprnsjms.js";
16
15
 
17
16
  // pkgs/@akanjs/cli/agent/agent.command.ts
18
17
  class AgentCommand extends command("agent", [AgentScript], ({ public: target }) => ({
package/akanCode.js ADDED
@@ -0,0 +1,102 @@
1
+ // @bun
2
+ import {
3
+ AkanEditScope2,
4
+ DevLogFeedback2,
5
+ PreviewChrome2,
6
+ PreviewView2,
7
+ PreviewFeedback2,
8
+ TurnFeedback2,
9
+ AkanCli2,
10
+ AkanVerifier2,
11
+ VerifyFeedback2,
12
+ AkanToolPack2,
13
+ MailToolPack2,
14
+ McpUnauthorized2,
15
+ McpClient2,
16
+ McpToolPack2,
17
+ SessionToolPack2,
18
+ WebToolPack2,
19
+ AkanCodePlugins2,
20
+ AkanEnvKeys2,
21
+ akanSystemPrompt2,
22
+ CodeSessionIndex2,
23
+ AkanCodeServices2,
24
+ CodeAgentAsks2,
25
+ CodeAgentEventMapper2,
26
+ CodeAgentGate2,
27
+ CodeAgentUi2,
28
+ CodeMailbox2,
29
+ CodeSessionFork2,
30
+ CodeAgent2
31
+ } from "./index-0wpybxtr.js";
32
+ import {
33
+ akanCodeDefaultModel2,
34
+ akanCodeModel2,
35
+ akanCodeModelSupportsImages2,
36
+ akanCodeModelWarnings2,
37
+ CodeAgentStreamPrinter2
38
+ } from "./index-c6eggbee.js";
39
+ import {
40
+ SubagentPool2,
41
+ akanCodePaths2
42
+ } from "./index-tqm7jjcn.js";
43
+ import"./index-7md2g9vw.js";
44
+ import {
45
+ CodeAgentRpcHost2
46
+ } from "./index-d2242ksy.js";
47
+ import {
48
+ CodeTuiLines2,
49
+ CodeTuiAgents2,
50
+ CodeTuiClipboard2,
51
+ CodeTuiCommands2,
52
+ CodeTuiEditor2,
53
+ CodeTuiFiles2,
54
+ CodeTuiMarkdown2,
55
+ CodeTuiParts2
56
+ } from "./index-wa5jbxj1.js";
57
+ export {
58
+ AkanCli2 as AkanCli,
59
+ AkanCodePlugins2 as AkanCodePlugins,
60
+ AkanCodeServices2 as AkanCodeServices,
61
+ AkanEditScope2 as AkanEditScope,
62
+ AkanEnvKeys2 as AkanEnvKeys,
63
+ AkanToolPack2 as AkanToolPack,
64
+ AkanVerifier2 as AkanVerifier,
65
+ CodeAgent2 as CodeAgent,
66
+ CodeAgentAsks2 as CodeAgentAsks,
67
+ CodeAgentEventMapper2 as CodeAgentEventMapper,
68
+ CodeAgentGate2 as CodeAgentGate,
69
+ CodeAgentRpcHost2 as CodeAgentRpcHost,
70
+ CodeAgentStreamPrinter2 as CodeAgentStreamPrinter,
71
+ CodeAgentUi2 as CodeAgentUi,
72
+ CodeMailbox2 as CodeMailbox,
73
+ CodeSessionFork2 as CodeSessionFork,
74
+ CodeSessionIndex2 as CodeSessionIndex,
75
+ CodeTuiAgents2 as CodeTuiAgents,
76
+ CodeTuiClipboard2 as CodeTuiClipboard,
77
+ CodeTuiCommands2 as CodeTuiCommands,
78
+ CodeTuiEditor2 as CodeTuiEditor,
79
+ CodeTuiFiles2 as CodeTuiFiles,
80
+ CodeTuiLines2 as CodeTuiLines,
81
+ CodeTuiMarkdown2 as CodeTuiMarkdown,
82
+ CodeTuiParts2 as CodeTuiParts,
83
+ DevLogFeedback2 as DevLogFeedback,
84
+ MailToolPack2 as MailToolPack,
85
+ McpClient2 as McpClient,
86
+ McpToolPack2 as McpToolPack,
87
+ McpUnauthorized2 as McpUnauthorized,
88
+ PreviewChrome2 as PreviewChrome,
89
+ PreviewFeedback2 as PreviewFeedback,
90
+ PreviewView2 as PreviewView,
91
+ SessionToolPack2 as SessionToolPack,
92
+ SubagentPool2 as SubagentPool,
93
+ TurnFeedback2 as TurnFeedback,
94
+ VerifyFeedback2 as VerifyFeedback,
95
+ WebToolPack2 as WebToolPack,
96
+ akanCodeDefaultModel2 as akanCodeDefaultModel,
97
+ akanCodeModel2 as akanCodeModel,
98
+ akanCodeModelSupportsImages2 as akanCodeModelSupportsImages,
99
+ akanCodeModelWarnings2 as akanCodeModelWarnings,
100
+ akanCodePaths2 as akanCodePaths,
101
+ akanSystemPrompt2 as akanSystemPrompt
102
+ };