@vox-ai/cli-darwin-arm64 0.1.0-beta.2 → 0.1.0-beta.4

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 (3) hide show
  1. package/README.md +14 -58
  2. package/bin/vox +0 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -10,13 +10,12 @@ vox.ai 에이전트 개발을 위한 CLI 워크플로우 도구입니다.
10
10
  | --- | --- |
11
11
  | `docs` | 현재 플랫폼 의미와 API 레퍼런스 조회 |
12
12
  | `skills` | 설계 playbook과 워크플로우 라우팅 |
13
- | `MCP` | stateless 조회와 일회성 작업 |
14
13
  | `vox CLI` | 레포에 남아야 하는 durable 저작, 검증, diff, push, status, delete |
15
14
 
16
- 경계 규칙은 단순합니다. 레포에 남아야 하거나, 리뷰돼야 하거나, 재현/롤백돼야 하면 CLI를 사용합니다. 조회거나 일회성이면 MCP를 사용합니다.
15
+ 경계 규칙은 단순합니다. 레포에 남아야 하거나, 리뷰돼야 하거나, 재현/롤백돼야 하면 CLI를 사용합니다. 조회도 `docs`, `skills`, `schema`, `status`, `explain` 같은 CLI 명령을 먼저 사용합니다.
17
16
 
18
17
  ```text
19
- auth -> pull/init -> edit JSON -> doctor -> validate -> diff/status -> push -> version save -> promote -> mcp
18
+ auth -> pull/init -> edit JSON -> doctor -> validate -> diff/status -> push -> version save -> promote -> chat
20
19
  ```
21
20
 
22
21
  ## 목차
@@ -30,7 +29,6 @@ auth -> pull/init -> edit JSON -> doctor -> validate -> diff/status -> push -> v
30
29
  - [검증, diff, push](#검증-diff-push)
31
30
  - [개발](#개발)
32
31
  - [인증](#인증)
33
- - [MCP](#mcp)
34
32
  - [Listen / Trigger](#listen--trigger)
35
33
 
36
34
  ## 설치와 업그레이드
@@ -91,7 +89,6 @@ vox upgrade --json
91
89
  | Knowledge source | `knowledge init`, `knowledge add-document`, `knowledge validate`, `knowledge explain`, `knowledge pull`, `knowledge push`, `knowledge status`, `knowledge delete` |
92
90
  | Schema | `schema list`, `schema get` |
93
91
  | Chat beta | `chat` |
94
- | MCP | `mcp --list-tools`, `mcp --config`, `mcp --stdio` |
95
92
  | Version / upgrade | `version`, `--version`, `upgrade` |
96
93
 
97
94
  ### 보류 중인 명령 그룹
@@ -206,21 +203,17 @@ vox skills show vox-flow --reference flow-guide --brief --json
206
203
  vox docs search "global node" --json
207
204
  vox docs show docs/build/flow/advanced/global-node --json
208
205
  vox sync import --all --dry-run --json
209
- vox mcp --config --target codex --json
210
- vox mcp --config --target claude --json
211
206
  ```
212
207
 
213
- `guide coding-agent` 출력은 surface split(docs/skills/MCP/CLI), 기본 Agent-as-Code 루프, repo instruction snippet, bundled guide topic 목록을 담습니다. 이것이 외부 세션의 bootstrap 명령입니다. 새 repo에 기존 workspace 전체를 처음 가져와야 한다면 `vox sync import --all --dry-run --json`으로 계획을 확인한 뒤 `vox sync import --all --json`을 실행합니다.
208
+ `guide coding-agent` 출력은 surface split(docs/skills/CLI), 기본 Agent-as-Code 루프, repo instruction snippet, bundled guide topic 목록을 담습니다. 이것이 외부 세션의 bootstrap 명령입니다. 새 repo에 기존 workspace 전체를 처음 가져와야 한다면 `vox sync import --all --dry-run --json`으로 계획을 확인한 뒤 `vox sync import --all --json`을 실행합니다.
214
209
 
215
210
  `vox init` / `agent init`이 만든 `.claude/skills/vox-ai/SKILL.md`와 `.codex/skills/vox-ai/SKILL.md`도 같은 bootstrap 명령을 가리킵니다. Claude Code와 Codex가 각각 local skill 메커니즘으로 이 프로젝트의 vox.ai 작업 규칙을 발견하도록 하기 위한 파일이며, 고객 repo의 기존 root instruction 파일을 덮어쓰지 않습니다.
216
211
 
217
- `skills list/show`는 public `vox-skills` repo의 SKILL.md와 references를 release-time에 압축한 offline pack을 반환합니다. 긴 markdown을 바로 dump하지 않고 skill별 ownership, trigger, CLI-first 조건, 추천 명령, reference path, source hash를 주므로 코딩 에이전트가 먼저 어떤 playbook을 봐야 하는지 결정하기 좋습니다. 실제 긴 reference 전문이 필요하면 public skill 파일이나 docs/MCP layer로 이동합니다.
212
+ `skills list/show`는 public `vox-skills` repo의 SKILL.md와 references를 release-time에 압축한 offline pack을 반환합니다. 긴 markdown을 바로 dump하지 않고 skill별 ownership, trigger, CLI-first 조건, 추천 명령, reference path, source hash를 주므로 코딩 에이전트가 먼저 어떤 playbook을 봐야 하는지 결정하기 좋습니다. 실제 긴 reference 전문이 필요하면 public skill 파일이나 docs URL로 이동합니다.
218
213
 
219
- `docs search/show`는 공식 docs repo를 release-time에 압축한 offline index를 반환합니다. `search`는 path/title/heading/관련 검색어/본문 excerpt를 대상으로 빠르게 후보를 찾고, `show`는 페이지 또는 섹션별 compressed excerpt와 public URL/source hash를 반환합니다. 전체 MDX 전문이나 최신 hosted 문서 확인이 필요할 때만 docs MCP 또는 웹 문서로 넘어갑니다.
214
+ `docs search/show`는 공식 docs repo를 release-time에 압축한 offline index를 반환합니다. `search`는 path/title/heading/관련 검색어/본문 excerpt를 대상으로 빠르게 후보를 찾고, `show`는 페이지 또는 섹션별 compressed excerpt와 public URL/source hash를 반환합니다. 전체 MDX 전문이나 최신 hosted 문서 확인이 필요할 때는 출력의 public URL을 엽니다.
220
215
 
221
- `guide flow` 출력은 적용 규칙, 관련 schema field, 권장 CLI 명령, 금지 패턴, 검증 명령, doctor code, source hash를 포함합니다. 예를 들어 `global-node` topic은 public skill의 global node 설계를 현재 v3 `data.globalNodeSettings` 필드와 `agent flow set-global` / `add-node --global-condition` helper로 연결합니다. 최신 hosted docs 조회가 필요하면 MCP/docs layer를 별도로 쓰고, durable source 편집은 `guide -> file edit/helper -> doctor -> validate -> diff -> push` 루프로 진행합니다.
222
-
223
- `mcp --config`는 Claude Code / Codex / generic MCP client가 `vox mcp --stdio` bridge를 등록할 수 있는 snippet을 출력합니다. 설정 파일에는 bearer token을 넣지 않습니다. 먼저 `vox auth login`으로 CLI profile/keychain에 로그인하고, agent MCP client는 로컬 stdio bridge만 실행합니다.
216
+ `guide flow` 출력은 적용 규칙, 관련 schema field, 권장 CLI 명령, 금지 패턴, 검증 명령, doctor code, source hash를 포함합니다. 예를 들어 `global-node` topic은 public skill의 global node 설계를 현재 v3 `data.globalNodeSettings` 필드와 `agent flow set-global` / `add-node --global-condition` helper로 연결합니다. durable source 편집은 `guide -> file edit/helper -> doctor -> validate -> diff -> push` 루프로 진행합니다.
224
217
 
225
218
  ### Chat beta
226
219
 
@@ -284,7 +277,7 @@ vox agent test show greeting_smoke --agent main
284
277
 
285
278
  현재 CLI의 tools-as-code는 public v3 `POST /v3/tools` 계약에 맞춘 **HTTP/API 커스텀 도구**만 다룹니다.
286
279
 
287
- 대시보드에 MCP 도구 생성 UI가 보이더라도, MCP 타입 도구는 아직 CLI 파일 리소스로 만들지 않습니다. public v3 생성/조회/수정 계약이 열리기 전에는 dashboard 또는 MCP one-off 작업으로 남기고, CLI가 v2/internal 모델을 우회 호출하지 않습니다.
280
+ 대시보드에 CLI가 아직 지원하지 않는 도구 생성 UI가 보이더라도, CLI 파일 리소스로 만들지 않습니다. public v3 생성/조회/수정 계약이 열리기 전에는 dashboard 작업으로 남기고, CLI가 v2/internal 모델을 우회 호출하지 않습니다.
288
281
 
289
282
  ### Tool 워크플로우
290
283
 
@@ -400,7 +393,7 @@ vox knowledge status product_faq
400
393
 
401
394
  바뀐 문서는 기존 remote document를 삭제한 뒤 다시 생성하고, unchanged 문서는 건너뜁니다. 기본값은 원격에만 있는 기존 문서를 보존합니다. 로컬 source에서 제거한 bound document를 원격에서도 삭제하려면 명시적으로 `--prune`을 붙입니다. 원격 knowledge ID와 document ID는 committed source에 쓰지 않습니다.
402
395
 
403
- `knowledge pull <knowledge-id> --knowledge <local-name>`은 대시보드나 MCP로 이미 만든 원격 knowledge base를 로컬 프로젝트에 바인딩합니다. 현재 v3 API의 document list 응답은 webpage URL summary만 원문 수준으로 복원할 수 있고, text 본문과 file binary는 반환하지 않습니다.
396
+ `knowledge pull <knowledge-id> --knowledge <local-name>`은 대시보드나 API로 이미 만든 원격 knowledge base를 로컬 프로젝트에 바인딩합니다. 현재 v3 API의 document list 응답은 webpage URL summary만 원문 수준으로 복원할 수 있고, text 본문과 file binary는 반환하지 않습니다.
404
397
 
405
398
  따라서 text/file 문서가 있으면 기본값은 `KNOWLEDGE_PULL_INCOMPLETE`로 실패합니다. 원격 binding만 가져오고 복원 가능한 webpage 문서만 source에 쓰려면 명시적으로 `--allow-incomplete`를 붙입니다. 이 경우 `knowledge status`는 원격에 unmanaged document가 남아 있음을 `remote_changed`로 보여줍니다.
406
399
 
@@ -639,7 +632,6 @@ npm run docs:pack:check
639
632
  npm run codegen:check
640
633
  npm run tool:constraints:check
641
634
  npm run homebrew:formula:smoke
642
- npm run mcp:surface:check
643
635
  npm run typecheck
644
636
  npm test
645
637
  npm run build
@@ -653,7 +645,6 @@ npm run bun:compile
653
645
  npm run smoke:help-binary
654
646
  npm run smoke:agent-diff-check-binary
655
647
  npm run smoke:authoring-local-binary
656
- npm run smoke:mcp-binary
657
648
  ```
658
649
 
659
650
  ### 내부 chat dev smoke
@@ -665,8 +656,6 @@ npm run smoke:mcp-binary
665
656
  - auth issuer: `https://xnpknkzxxuyfokbrzbil.supabase.co/auth/v1`
666
657
  - livekit-token URL: `https://xnpknkzxxuyfokbrzbil.supabase.co/functions/v1/livekit-token`
667
658
  - API base: `https://dev-client-api.tryvox.co`
668
- - MCP base: `https://vox-mcp-develop.fly.dev`
669
- - MCP endpoint for CLI `mcp_url`: `https://vox-mcp-develop.fly.dev/mcp`
670
659
  - dev smoke workspace: `aacc5a24-4fdf-40cc-8d75-6abd253146ea`
671
660
 
672
661
  dev profile 생성:
@@ -674,7 +663,6 @@ dev profile 생성:
674
663
  ```bash
675
664
  VOX_AUTH_ISSUER=https://xnpknkzxxuyfokbrzbil.supabase.co/auth/v1 \
676
665
  VOX_API_BASE_URL=https://dev-client-api.tryvox.co \
677
- VOX_MCP_URL=https://vox-mcp-develop.fly.dev/mcp \
678
666
  vox auth login --profile dev
679
667
  ```
680
668
 
@@ -733,7 +721,6 @@ npm run bun:compile
733
721
  ./dist/vox --help
734
722
  ./dist/vox --version
735
723
  ./dist/vox auth whoami --json
736
- ./dist/vox mcp --list-tools --json
737
724
  ```
738
725
 
739
726
  ### Auth login smoke
@@ -748,11 +735,11 @@ npm run smoke:auth-login-local-binary
748
735
 
749
736
  ### CI와 release
750
737
 
751
- GitHub Actions의 단독 `vox-cli` repo CI는 `guide:pack:check`, `skills:pack:check`, `docs:pack:check`, `typecheck`, `test`, `audit`, `build`, Node smoke, agent diff check smoke, local authoring workflow smoke, npm package smoke, Bun binary help smoke, Bun binary agent diff check smoke, Bun binary local authoring workflow smoke, MCP binary smoke를 실행합니다.
738
+ GitHub Actions의 단독 `vox-cli` repo CI는 `guide:pack:check`, `skills:pack:check`, `docs:pack:check`, `typecheck`, `test`, `audit`, `build`, Node smoke, agent diff check smoke, local authoring workflow smoke, npm package smoke, Bun binary help smoke, Bun binary agent diff check smoke, Bun binary local authoring workflow smoke를 실행합니다.
752
739
 
753
740
  local authoring workflow smoke는 임시 프로젝트에서 dashboard export `agent import`, `tool init/validate/explain`, `knowledge init/validate/explain`, single-prompt dashboard-style 설정 편집과 `callScreening` 보존, `agent explain`, `agent test init/list/show/validate`, extraction/condition router, API/tool/sendSms/transferCall/transferAgent flow node 작성과 연결, `agent attach tool/knowledge`, `agent doctor`, `agent status --all --offline`, `agent validate --offline`, `agent push --dry-run --offline`를 실제 CLI 명령으로 실행합니다.
754
741
 
755
- npm package smoke는 `npm pack` tarball을 임시 프로젝트에 설치한 뒤 설치된 `vox` binary로 help, version, unauthenticated whoami, agent diff check fixture를 실행합니다. `codegen:check`, `tool:constraints:check`, `mcp:surface:check`는 monorepo의 api-server/mcp/skills 파일을 필요로 하므로 monorepo context에서 실행해야 합니다.
742
+ npm package smoke는 `npm pack` tarball을 임시 프로젝트에 설치한 뒤 설치된 `vox` binary로 help, version, unauthenticated whoami, agent diff check fixture를 실행합니다. `codegen:check`, `tool:constraints:check`는 monorepo의 api-server 파일을 필요로 하므로 monorepo context에서 실행해야 합니다.
756
743
 
757
744
  `tool:constraints:check`는 api-server의 v3 tool request schema와 `tool_service.py`에서 tool name 예약어, name 길이/패턴, HTTP/auth/response enum, timeout 범위를 다시 생성해 CLI-local `tool validate` 상수와 비교합니다. 이 체크도 monorepo context가 필요합니다.
758
745
 
@@ -762,7 +749,7 @@ npm package smoke는 `npm pack` tarball을 임시 프로젝트에 설치한 뒤
762
749
  npm run release:check
763
750
  ```
764
751
 
765
- `release:check`는 package metadata drift check, guide/skills/docs pack check, public release surface check, Homebrew formula smoke, typecheck, unit test, npm audit, build, Node smoke, agent diff check smoke, local authoring workflow smoke, npm package smoke, Bun binary help smoke, Bun binary agent diff check smoke, Bun binary local authoring workflow smoke, MCP binary smoke를 모두 실행합니다.
752
+ `release:check`는 package metadata drift check, guide/skills/docs pack check, public release surface check, Homebrew formula smoke, typecheck, unit test, npm audit, build, Node smoke, agent diff check smoke, local authoring workflow smoke, npm package smoke, Bun binary help smoke, Bun binary agent diff check smoke, Bun binary local authoring workflow smoke를 모두 실행합니다.
766
753
 
767
754
  npm publish 직전에는 `prepublishOnly`가 최소 package gate를 다시 실행합니다. `@vox-ai/cli`는 새 scoped package이므로 `publishConfig.access`는 `public`으로 고정되어 있습니다.
768
755
 
@@ -773,14 +760,14 @@ npm publish 직전에는 `prepublishOnly`가 최소 package gate를 다시 실
773
760
  `CLI Release` workflow는 세 가지를 같은 commit에서 처리합니다.
774
761
 
775
762
  1. `release:check`를 통과시킵니다.
776
- 2. configured skills raw file hash와 `docs.tryvox.co/llms.txt` / 주요 `.md` page가 generated guide/docs pack과 맞는지 확인합니다. 현재 beta release 기준 skills source는 `garden-tryvox/vox-skills@codex/cli-first-authoring`입니다.
763
+ 2. configured skills raw file hash와 `docs.tryvox.co/llms.txt` / 주요 `.md` page가 generated guide/docs pack과 맞는지 확인합니다. 현재 beta release 기준 skills source는 `garden-tryvox/vox-skills@codex/vox-cli-skill-public`입니다.
777
764
  3. macOS `darwin-arm64`, `darwin-x64` Bun 단일 바이너리를 만들고 matching runner에서 binary smoke를 실행한 뒤 Actions artifact로 보관합니다.
778
765
  4. GitHub App token으로 public tap 접근과 stale release/tag 부재를 확인하고, npm registry auth를 확인합니다.
779
766
  5. `checksums.txt`에서 Homebrew formula `vox.rb`를 렌더링하고, 실제 tarball sha256 / `checksums.txt` / `vox.rb` URL과 sha가 일치하는지 확인합니다.
780
767
  6. `vox-cli` repo에 `v{version}` source tag를 생성합니다.
781
768
  7. `vox-public/homebrew-tap` GitHub Release draft에 tarball, `checksums.txt`, `vox.rb`를 올립니다.
782
769
  8. `npm publish --tag <dist-tag>`가 성공하면 GitHub Release draft를 공개합니다.
783
- 9. macOS arm64/x64 runner에서 public release의 `vox.rb`로 `brew audit --strict`, `brew install`, `vox --version`, `vox mcp --list-tools --json`, `brew test`를 실행합니다.
770
+ 9. macOS arm64/x64 runner에서 public release의 `vox.rb`로 `brew audit --strict`, `brew install`, `vox --version`, `brew test`를 실행합니다.
784
771
  10. Homebrew smoke가 통과하면 `vox-public/homebrew-tap`에 Formula PR을 엽니다.
785
772
 
786
773
  실행 전 repo secret `VOX_APP_ID`, `VOX_APP_KEY`, `NPM_TOKEN`과 environment `npm-publish`를 설정해야 합니다. public release 전에는 가능하면 npm Trusted Publishing/OIDC로 전환해서 장기 publish token 의존을 제거합니다. npm provenance는 source repository visibility와 trusted publishing 조건을 만족한 뒤 다시 켭니다.
@@ -797,26 +784,7 @@ OS keychain 접근이 멈추는 환경에서는 auth resolver가 무한 대기
797
784
 
798
785
  Headless 실행은 저장 token 대신 `VOX_OAUTH_ACCESS_TOKEN`과 `VOX_ORGANIZATION_ID`를 명시적으로 주입하는 경로를 사용합니다.
799
786
 
800
- ## MCP
801
-
802
- ### Tool surface
803
-
804
- `vox mcp --list-tools --json`는 인증 없이 생성된 cached public MCP surface를 출력합니다. `vox mcp --list-tools --live --json`는 CLI OAuth token으로 hosted MCP에 직접 연결해 현재 live `tools/list` 결과를 출력합니다.
805
-
806
- ### Client config snippets
807
-
808
- `vox mcp --config`는 설치된 CLI를 MCP stdio bridge로 등록하기 위한 설정 snippet을 출력합니다. 기존 Claude/Codex 설정 파일을 직접 수정하지 않으므로 고객 repo의 설정을 덮어쓰지 않습니다.
809
-
810
- ```bash
811
- vox auth login
812
- vox mcp --config --target codex --json
813
- vox mcp --config --target claude --json
814
- vox mcp --config --target generic
815
- ```
816
-
817
- Codex target은 `codex mcp add vox -- vox mcp --stdio` 명령과 `~/.codex/config.toml` / `.codex/config.toml` TOML snippet을 제공합니다. Claude target은 `claude mcp add --transport stdio --scope project vox -- vox mcp --stdio` 명령과 project-scoped `.mcp.json` snippet을 제공합니다.
818
-
819
- ### Live smoke
787
+ ## Live Smoke
820
788
 
821
789
  복잡한 flow agent-as-code 루프를 실제 워크스페이스에서 확인해야 할 때는 opt-in live smoke를 사용합니다. 이 스모크는 disposable 원격 에이전트를 생성, 수정, pull/diff 확인 후 soft-delete하므로 release gate에는 자동 포함하지 않습니다.
822
790
 
@@ -838,18 +806,6 @@ npm run smoke:resource-live
838
806
 
839
807
  실행 전 active profile의 current organization이 `<organization-id>`와 일치해야 합니다. 필요하면 먼저 `vox auth switch --org <organization-id>`를 실행하세요.
840
808
 
841
- ### Local stdio bridge
842
-
843
- `vox mcp --stdio`는 공식 TypeScript MCP SDK를 사용해 stdio 기반 로컬 MCP 서버를 실행하고, tool list/call을 profile의 hosted MCP(`mcp_url`)로 전달합니다. tool call에는 CLI OAuth resolver와 OS keychain token을 재사용합니다. `--stdio`와 `--json`은 함께 사용할 수 없습니다. stdout은 MCP protocol message 전용입니다.
844
-
845
- hosted MCP 브릿지 전환 가능성을 확인하려면 로그인된 profile 또는 `VOX_OAUTH_ACCESS_TOKEN`이 있는 개발 머신에서 다음 spike를 실행합니다. 이 spike는 `AuthContext.mcpUrl`의 hosted MCP에 bearer token으로 연결해 `tools/list`와 `list_organizations`만 호출합니다. 토큰 값은 출력하지 않습니다.
846
-
847
- ```bash
848
- npm run spike:mcp-bridge
849
- ```
850
-
851
- `spike:mcp-bridge`는 hosted MCP bearer 경로를 수동 재검증할 때 사용합니다. `hosted_mcp_auth_401` 또는 `hosted_mcp_resource_or_scope`가 나오면 profile token freshness 또는 MCP resource/audience 처리를 먼저 확인해야 합니다.
852
-
853
809
  ## Listen / Trigger
854
810
 
855
811
  api-server owner sync 없이 이 CLI 패키지에서 api-server relay endpoint나 webhook-processor fanout 변경을 시작하지 마세요. 확정된 설계는 모노레포 Obsidian 노트 `__docs__/share/garden/dx_vox_cli/Listen And Trigger Relay Spec.md`에 기록되어 있습니다.
package/bin/vox CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vox-ai/cli-darwin-arm64",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.4",
4
4
  "description": "Prebuilt darwin-arm64 binary for the vox.ai CLI",
5
5
  "homepage": "https://www.tryvox.co",
6
6
  "license": "MIT",