chore: 自 fox monorepo 移出成獨立公開倉庫(fox #49)

- 自 alterminal/fox 的 cli/ 目錄以 git subtree split 移出(保留 git 歷史)。
- package.json:改為獨立專案(移除 private、補 repository/homepage/files、
  增加 packageManager pnpm@9.15.3)。
- README/docs/cli-install.md:路徑與指令改為本倉庫根目錄版型
  (node dist/cli.js、pnpm build;獨立安裝不會建立 node_modules/.bin/fox,
  掛 PATH 改用 symlink)。
- 新增 .gitignore 與 pnpm-lock.yaml。
- 驗證:pnpm install + pnpm build + node dist/cli.js --help(exit 0)、
  未知命令 exit 2。
This commit is contained in:
2026-09-07 21:14:23 +08:00
parent 77f30c1b6f
commit fcf7680e49
5 changed files with 235 additions and 7 deletions
+9 -5
View File
@@ -1,5 +1,7 @@
# Fox CLI — 與 Fox 後端互動的命令列工具
> **本倉庫已從 `alterminal/fox` monorepo 的 `cli/` 目錄移出成獨立專案**(見 `alterminal/fox` issue #49),改為公開倉庫以開放安裝;git 歷史一併保留。
> 專案狀態:M0–M3 已實作(M1:HTTP client、設定讀取、`tokens verify`/`auth status`;M2:`tokens create/list/revoke`、公開的 `novels get`;M3:`novels list/create/update`、`chapters …`、`generate …`)|日期:2026-09-06
`fox` 是一個命令列工具,讓人與 **AI agent** 不經過前端,直接與 Fox 後端 API 互動:查詢/建立/編輯作品、管理 access token 等。目標是「一句命令拿到機器可解析的結果」,方便腳本、CI 與 agent 排程使用。
@@ -61,7 +63,7 @@
## 五、技術棧與開發計畫
- **實作語言**:Node.js(≥22)+ TypeScript,與 `frontend`/`backend` 同語言。
- **加入 workspace**:實作開始時把 `cli` 加進根 `pnpm-workspace.yaml` 並建立 `package.json`(目前僅目錄與說明,先不動 workspace 設定)。
- **獨立倉庫**:本專案位於 `alterminal/fox-cli`(自 `alterminal/fox` 移出,issue #49),不屬於 fox monorepo workspace;以 pnpm 於本倉庫根目錄安裝與建置。
里程碑:
@@ -72,12 +74,14 @@
## 開發
> 使用者安裝與設定說明見 [docs/cli-install.md](../docs/cli-install.md)。
> 使用者安裝與設定說明見 [docs/cli-install.md](./docs/cli-install.md)。
```bash
pnpm install # 倉庫根目錄
pnpm --filter fox-cli build
pnpm --filter fox-cli start <子命令> # 例如 auth status;不要加 "--"(pnpm 9 會把它當參數)
git clone https://gitea.alterminal.com/alterminal/fox-cli.git
cd fox-cli
pnpm install
pnpm build
node dist/cli.js <子命令> # 例如 auth status
```
結構:`src/cli.ts`(進入點與分發)、`src/command.ts`(參數解析與註冊表)、