@akanjs/cli 3.0.0-beta.9 → 3.0.1
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.
- package/.build-stamp +1 -1
- package/CodeAgent-zfab7pkn.js +9 -0
- package/CodeAgentRpcHost-p7h6n2hp.js +7 -0
- package/CodeAgentRpcListener-7p7z5dd7.js +97 -0
- package/CodeTui-0zhnr0pw.js +1457 -0
- package/README.ko.md +83 -28
- package/README.md +70 -27
- package/TunnelShare-cwh9ezsm.js +9 -0
- package/{agent.command-0q17pnrs.js → agent.command-aja6z9mn.js} +8 -9
- package/akanCode.js +102 -0
- package/application.command-049ehgx3.js +246 -0
- package/{applicationBuildRunner-kxwbssgn.js → applicationBuildRunner-75n5rpwp.js} +121 -77
- package/buildBatch.proc.js +120 -32
- package/cloud.command-gw4kqxt8.js +95 -0
- package/cloud.script-c723cpcb.js +20 -0
- package/code.command-x9t6z5nw.js +154 -0
- package/commandManifest.json +1 -1
- package/consoleToStderr-h5bryj94.js +7 -0
- package/context.command-yfbe1rtd.js +48 -0
- package/context.runner-erfe68j5.js +21 -0
- package/{dependencyScanner-shs82ynp.js → dependencyScanner-06z2dmrr.js} +2 -2
- package/{devTui-m1atgkc9.js → devTui-q7k7bakd.js} +122 -40
- package/fileSys-wzzrntkw.js +9 -0
- package/guideline.command-kq9gp690.js +42 -0
- package/guidelines/agentRule/agentRule.instruction.md +154 -26
- package/guidelines/conventions/conventions.instruction.md +138 -48
- package/guidelines/mcpRule/mcpRule.instruction.md +7 -5
- package/guidelines/queryRule/queryRule.instruction.md +21 -7
- package/guidelines/runtimeRule/runtimeRule.instruction.md +291 -6
- package/guidelines/ssrRule/ssrRule.instruction.md +4 -2
- package/guidelines/transportRule/transportRule.instruction.md +10 -8
- package/guidelines/workspaceOnboarding/workspaceOnboarding.instruction.md +20 -0
- package/guidelines/workspaceRecipes/workspaceRecipes.instruction.md +66 -3
- package/incrementalBuilder.proc.js +564 -109
- package/{index-2tv3fdx4.js → index-150s07n8.js} +1230 -1459
- package/{index-vyvre9en.js → index-25fvrxmy.js} +6 -2
- package/{index-kcxmv48c.js → index-2ahj896a.js} +45 -79
- package/index-2wc41k5w.js +49 -0
- package/index-3hx1z96c.js +87 -0
- package/{index-q0y2jq9j.js → index-52w0fvh8.js} +21 -4
- package/{index-04bk599g.js → index-5g4rkrvt.js} +10 -17
- package/index-5pvxf7z0.js +53 -0
- package/index-5q14pwzd.js +69 -0
- package/{index-vxtad5bd.js → index-66yspb67.js} +5 -8
- package/index-7md2g9vw.js +6 -0
- package/index-7p4c0yer.js +1058 -0
- package/{index-d43r08tf.js → index-8b639zes.js} +77 -150
- package/{index-ktb5njgy.js → index-8kvy8qb4.js} +49 -99
- package/index-94s080qm.js +266 -0
- package/index-9dp031by.js +12 -0
- package/{index-0g7r8xz3.js → index-a37by9hn.js} +114 -232
- package/{index-k2j1hc4r.js → index-b95yhqjr.js} +12 -12
- package/{index-3d9y066c.js → index-bjwxs904.js} +9 -8
- package/{index-2xp0kfkt.js → index-br8pkrk1.js} +37 -25
- package/index-c14nsvnv.js +700 -0
- package/index-c6eggbee.js +123 -0
- package/index-d2242ksy.js +99 -0
- package/{index-92zztqy1.js → index-dy0jx9ay.js} +2 -17
- package/{index-a64esmtb.js → index-fkvb79qe.js} +523 -1022
- package/index-h54yj9wr.js +1119 -0
- package/{index-by5gpp8x.js → index-hj6w4ka1.js} +2 -1
- package/{index-y6n8nmny.js → index-kn5d4jmg.js} +75 -203
- package/index-m3xsb1ms.js +4300 -0
- package/{index-gyd220p2.js → index-mb59b8x0.js} +554 -577
- package/{index-j9yhg404.js → index-mzjb6zp4.js} +4 -7
- package/index-p6pbz9n5.js +25 -0
- package/{index-sj5vxr8f.js → index-qe71g4ze.js} +983 -898
- package/index-rfcz04w9.js +187 -0
- package/{index-hwkygn9s.js → index-senscydg.js} +331 -36
- package/{index-ffvk10zz.js → index-vs8mefhy.js} +107 -241
- package/index-wa5jbxj1.js +760 -0
- package/index-y5ga5w9t.js +2729 -0
- package/{index-9077wzd2.js → index-y7hx1ygz.js} +43 -26
- package/{index-h7yw2z9n.js → index-zzvvc845.js} +8 -14
- package/index.js +23 -22
- package/{library.command-qzzbj6d8.js → library.command-keqjevpp.js} +4 -5
- package/{localRegistry.command-vyrgg4xw.js → localRegistry.command-pydeq5zf.js} +23 -43
- package/{module.command-rq5hq3ax.js → module.command-dkrnqx3v.js} +8 -12
- package/{package.command-d9hd6v9n.js → package.command-wmc0ys5y.js} +6 -7
- package/package.json +15 -7
- package/{page.command-126d56te.js → page.command-tf3erhrv.js} +4 -5
- package/{primitive.command-taxd1538.js → primitive.command-7hqpegj4.js} +9 -23
- package/prompter-76k56b37.js +8 -0
- package/{quality.command-6gsna0a3.js → quality.command-8122axq3.js} +205 -377
- package/{recipeScanner-fpagtgc1.js → recipeScanner-4b69ybe0.js} +1 -1
- package/{repair.command-tq2dgy72.js → repair.command-mcy12h0n.js} +11 -35
- package/{routeSourceValidator-apyqw7wk.js → routeSourceValidator-7ycnfz0e.js} +0 -6
- package/{scalar.command-3bcmrrkv.js → scalar.command-vvvbzttc.js} +7 -11
- package/skills/akan-code/SKILL.md +130 -0
- package/skills/akan-debug/SKILL.md +42 -0
- package/skills/akan-deps/SKILL.md +50 -0
- package/skills/akan-err/SKILL.md +39 -0
- package/skills/akan-module/SKILL.md +45 -0
- package/skills/akan-scaffold/SKILL.md +76 -0
- package/skills/akan-scalar/SKILL.md +52 -0
- package/skills/akan-service/SKILL.md +34 -0
- package/skills/akan-store/SKILL.md +67 -0
- package/skills/akan-ui/SKILL.md +63 -0
- package/skills/akan-validate/SKILL.md +44 -0
- package/{subspace.command-eddzqpx3.js → subspace.command-pzvqfy5h.js} +53 -62
- package/templates/__scalar/__model__/__model__.abstract.md.template +8 -0
- package/templates/app/page/_index.tsx +257 -258
- package/templates/app/page/_layout.tsx +5 -1
- package/templates/app/page/_overrides.tsx +12 -0
- package/templates/app/page/styles.css.template +316 -14
- package/templates/app/public/apple-touch-icon.png +0 -0
- package/templates/app/public/favicon.ico +0 -0
- package/templates/app/public/jelly/cloud.webp +0 -0
- package/templates/app/public/jelly/comet.webp +0 -0
- package/templates/app/public/jelly/moon.webp +0 -0
- package/templates/app/public/jelly/planet.webp +0 -0
- package/templates/app/public/jelly/rocket.webp +0 -0
- package/templates/app/public/jelly/star.webp +0 -0
- package/templates/app/public/jelly/sugar.webp +0 -0
- package/templates/app/public/logo.png +0 -0
- package/templates/app/ui/Recipe/index.ts +9 -0
- package/templates/app/ui/Recipe/jellyButton.ts +63 -0
- package/templates/appSample/lib/__scalar/workHistory/workHistory.abstract.ts +8 -39
- package/templates/appSample/lib/_noti/noti.abstract.ts +6 -29
- package/templates/appSample/lib/task/Task.Unit.tsx +1 -1
- package/templates/appSample/lib/task/Task.Util.tsx +10 -13
- package/templates/appSample/lib/task/Task.View.tsx +2 -2
- package/templates/appSample/lib/task/Task.Zone.tsx +5 -2
- package/templates/appSample/lib/task/task.abstract.ts +12 -32
- package/templates/appSample/lib/task/task.signal.spec.ts +1 -15
- package/templates/appSample/lib/task/task.signal.test.ts +15 -1
- package/templates/appSample/lib/task/task.signal.ts +10 -8
- package/templates/appSample/page/task/[taskId]/_index.tsx +6 -6
- package/templates/appSample/page/task/[taskId]/edit.tsx +5 -4
- package/templates/appSample/page/task/_index.tsx +4 -3
- package/templates/appSample/page/task/_layout.tsx +1 -1
- package/templates/appSample/page/task/new.tsx +5 -4
- package/templates/appSample/srvkit/{AuthGuard.ts → guards.ts} +7 -4
- package/templates/appSample/srvkit/{SessionInternalArg.ts → internalArgs.ts} +6 -4
- package/templates/appSample/ui/GlobalLoading.tsx +2 -1
- package/templates/appSample/ui/QuantityControl.tsx +3 -3
- package/templates/client.ts +7 -30
- package/templates/crudPages/[__model__Id]/edit/page.tsx +2 -1
- package/templates/crudPages/[__model__Id]/page.tsx +2 -1
- package/templates/crudPages/new/page.tsx +2 -1
- package/templates/crudPages/page.tsx +2 -1
- package/templates/crudSinglePage/page.tsx +2 -1
- package/templates/lib/__lib/lib.dictionary.ts +0 -2
- package/templates/lib/__lib/lib.document.ts +0 -2
- package/templates/lib/sig.ts +8 -30
- package/templates/localDev/docker-compose.yaml.template +3 -14
- package/templates/module/__model__.signal.ts +12 -4
- package/templates/pkgRoot/tsconfig.json.template +2 -7
- package/templates/server.ts +1 -3
- package/templates/service/__model__.abstract.md.template +8 -0
- package/templates/workspaceRoot/.gitignore.template +0 -1
- package/templates/workspaceRoot/AGENTS.md.template +6 -0
- package/templates/workspaceRoot/package.json.template +1 -3
- package/tunnel.command-82zz5xnq.js +129 -0
- package/{typeChecker-3xgrzc2v.js → typeChecker-px49mezc.js} +1 -1
- package/typecheck.proc.js +1 -1
- package/workflow.command-y8x3kgjv.js +79 -0
- package/{workspace.command-06wvstgr.js → workspace.command-jvsb7brc.js} +79 -109
- package/abstractCompactor-gmkc0z8j.js +0 -102
- package/application.command-18y0s485.js +0 -204
- package/applicationReleasePackager-4yasxwv9.js +0 -244
- package/capacitorApp-36rbr858.js +0 -12
- package/cloud.command-av97ndh6.js +0 -94
- package/cloud.script-cm11xjdz.js +0 -20
- package/context.command-5v37ef3n.js +0 -81
- package/devTuiView-0hc2emhe.js +0 -9
- package/getDirname-dr3jz1xg.js +0 -7
- package/guideline.command-4pz9g1rt.js +0 -360
- package/guidelines/agentRule/agentRule.generate.json +0 -31
- package/guidelines/componentRule/componentRule.generate.json +0 -31
- package/guidelines/conventions/conventions.generate.json +0 -25
- package/guidelines/cssRule/cssRule.generate.json +0 -31
- package/guidelines/docPageRule/docPageRule.generate.json +0 -31
- package/guidelines/docPageRule/docPageRule.instruction.md +0 -25
- package/guidelines/docSyncRule/docSyncRule.generate.json +0 -31
- package/guidelines/docSyncRule/docSyncRule.instruction.md +0 -25
- package/guidelines/enumConstant/enumConstant.generate.json +0 -31
- package/guidelines/enumConstant/enumConstant.instruction.md +0 -28
- package/guidelines/fieldRule/fieldRule.generate.json +0 -31
- package/guidelines/framework/framework.generate.json +0 -32
- package/guidelines/mcpRule/mcpRule.generate.json +0 -35
- package/guidelines/modelConstant/modelConstant.generate.json +0 -32
- package/guidelines/modelDictionary/modelDictionary.generate.json +0 -32
- package/guidelines/modelDocument/modelDocument.generate.json +0 -31
- package/guidelines/modelService/modelService.generate.json +0 -31
- package/guidelines/modelSignal/modelSignal.generate.json +0 -31
- package/guidelines/modelStore/modelStore.generate.json +0 -31
- package/guidelines/modelTemplate/modelTemplate.generate.json +0 -31
- package/guidelines/modelUnit/modelUnit.generate.json +0 -31
- package/guidelines/modelUtil/modelUtil.generate.json +0 -31
- package/guidelines/modelView/modelView.generate.json +0 -31
- package/guidelines/modelZone/modelZone.generate.json +0 -31
- package/guidelines/moduleCodegen/moduleCodegen.generate.json +0 -31
- package/guidelines/moduleCodegen/moduleCodegen.instruction.md +0 -28
- package/guidelines/moduleOverview/moduleOverview.generate.json +0 -31
- package/guidelines/queryRule/queryRule.generate.json +0 -31
- package/guidelines/recipeRule/recipeRule.generate.json +0 -31
- package/guidelines/runtimeRule/runtimeRule.generate.json +0 -25
- package/guidelines/scalarConstant/scalarConstant.generate.json +0 -32
- package/guidelines/scalarDictionary/scalarDictionary.generate.json +0 -32
- package/guidelines/scalarModule/scalarModule.generate.json +0 -31
- package/guidelines/sharedUiUsage/sharedUiUsage.generate.json +0 -31
- package/guidelines/sharedUiUsage/sharedUiUsage.instruction.md +0 -25
- package/guidelines/ssrRule/ssrRule.generate.json +0 -31
- package/guidelines/transportRule/transportRule.generate.json +0 -31
- package/guidelines/utilUiUsage/utilUiUsage.generate.json +0 -31
- package/guidelines/utilUiUsage/utilUiUsage.instruction.md +0 -25
- package/guidelines/workspaceOnboarding/workspaceOnboarding.generate.json +0 -24
- package/guidelines/workspaceRecipes/workspaceRecipes.generate.json +0 -33
- package/index-47pj3aee.js +0 -76
- package/index-5ystnsd5.js +0 -841
- package/index-6wwzs1bc.js +0 -7
- package/index-a17x49vg.js +0 -229
- package/index-m0xccmmm.js +0 -228
- package/index-meh558jy.js +0 -65
- package/index-rtxxan88.js +0 -471
- package/index-te54x9zm.js +0 -338
- package/index-w8kmx1b6.js +0 -2176
- package/index-wt7qrtd4.js +0 -1516
- package/templates/__scalar/__model__/__model__.abstract.md +0 -28
- package/templates/module/__model__.abstract.md +0 -28
- package/templates/service/__model__.abstract.md +0 -28
- package/templates/workspaceRoot/patches/react-dom@19.2.7.patch.template +0 -62
- 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
|
|
5
|
+
에이전트까지 들어 있는 TypeScript 프레임워크 [Akan.js](https://akanjs.com)의 `akan` 명령입니다.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
개발
|
|
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
|
|
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
|
|
31
|
-
akan
|
|
32
|
-
akan
|
|
33
|
-
akan
|
|
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
|
|
36
|
-
akan
|
|
37
|
-
akan
|
|
38
|
-
|
|
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
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
- 애플리케이션과 런타임
|
|
61
|
-
-
|
|
62
|
-
- `@akanjs/devkit`은
|
|
63
|
-
|
|
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
|
|
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
|
-
|
|
5
|
+
The `akan` command for [Akan.js](https://akanjs.com), the TypeScript framework with agents included.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
tooling
|
|
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
|
-
|
|
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
|
|
25
|
+
bun install -g @akanjs/cli
|
|
23
26
|
akan --help
|
|
24
27
|
```
|
|
25
28
|
|
|
26
|
-
##
|
|
29
|
+
## Everyday Commands
|
|
27
30
|
|
|
28
31
|
```bash
|
|
29
|
-
akan create-workspace <workspace
|
|
30
|
-
akan
|
|
31
|
-
akan
|
|
32
|
-
akan
|
|
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
|
|
35
|
-
akan
|
|
36
|
-
akan
|
|
37
|
-
|
|
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
|
-
|
|
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
|
|
44
|
-
akan
|
|
45
|
-
akan
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
|
@@ -2,17 +2,16 @@
|
|
|
2
2
|
import {
|
|
3
3
|
Workspace,
|
|
4
4
|
command
|
|
5
|
-
} from "./index-
|
|
6
|
-
import"./index-
|
|
7
|
-
import"./index-
|
|
8
|
-
import"./index-
|
|
9
|
-
import"./index-
|
|
10
|
-
import"./index-
|
|
11
|
-
import"./index-
|
|
12
|
-
import"./index-h7yw2z9n.js";
|
|
5
|
+
} from "./index-a37by9hn.js";
|
|
6
|
+
import"./index-52w0fvh8.js";
|
|
7
|
+
import"./index-150s07n8.js";
|
|
8
|
+
import"./index-hj6w4ka1.js";
|
|
9
|
+
import"./index-mb59b8x0.js";
|
|
10
|
+
import"./index-8kvy8qb4.js";
|
|
11
|
+
import"./index-zzvvc845.js";
|
|
13
12
|
import {
|
|
14
13
|
AgentScript
|
|
15
|
-
} from "./index-
|
|
14
|
+
} from "./index-b95yhqjr.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-y5ga5w9t.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-c14nsvnv.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
|
+
};
|