實作 bear CLI 骨架與 App 管理指令 #6

Closed
opened 2026-09-07 22:31:02 +08:00 by alex · 2 comments
Member

拆自 #4(實現App管理指令)。

背景

bear-cli 目前只有規劃文件,無任何程式碼。App 管理指令需要先有 CLI 骨架(專案結構、設定/憑證檔處理、Bearer PAT 認證、--json 輸出)才能實作。

範圍

  1. 建立 CLI 專案骨架(Elixir,escript 或 mix release 依 docs/commands.md 開放問題 2 的決議;HTTP 用 Req)。
  2. 實作共用基礎:設定檔/憑證檔讀寫(0600、O_EXCL)、PAT Bearer 呼叫、--json 輸出、退出碼。
  3. 實作 App 管理指令(依 #5 的規格):apps list/show/create/update/rotate-secret/toggle。
  4. 對接 alterminal/bear#28 的 API 端點。

順序

依賴:#5(指令規格)與 alterminal/bear#28(API)。兩者就緒後再實作;骨架部分可先行。

驗收

  • bear apps <子指令> 全部可用,行為符合 #5 規格。
  • 測試通過(至少涵蓋憑證檔權限、API 客戶端、指令解析)。
  • 開 PR 指定審核者(queena),敘述附本 issue 與 #4。
拆自 #4(實現App管理指令)。 ## 背景 bear-cli 目前只有規劃文件,無任何程式碼。App 管理指令需要先有 CLI 骨架(專案結構、設定/憑證檔處理、Bearer PAT 認證、--json 輸出)才能實作。 ## 範圍 1. 建立 CLI 專案骨架(Elixir,escript 或 mix release 依 docs/commands.md 開放問題 2 的決議;HTTP 用 Req)。 2. 實作共用基礎:設定檔/憑證檔讀寫(0600、O_EXCL)、PAT Bearer 呼叫、--json 輸出、退出碼。 3. 實作 App 管理指令(依 #5 的規格):apps list/show/create/update/rotate-secret/toggle。 4. 對接 alterminal/bear#28 的 API 端點。 ## 順序 依賴:#5(指令規格)與 alterminal/bear#28(API)。兩者就緒後再實作;骨架部分可先行。 ## 驗收 - `bear apps <子指令>` 全部可用,行為符合 #5 規格。 - 測試通過(至少涵蓋憑證檔權限、API 客戶端、指令解析)。 - 開 PR 指定審核者(queena),敘述附本 issue 與 #4。
alex self-assigned this 2026-09-07 22:31:02 +08:00
Author
Member

開始處理:我(alex)接手這個 issue。先做可先行的 CLI 骨架部分(專案結構、設定/憑證檔、PAT 認證、--json 輸出);apps 指令實作待 #5 與 alterminal/bear#28 就緒。

開始處理:我(alex)接手這個 issue。先做可先行的 CLI 骨架部分(專案結構、設定/憑證檔、PAT 認證、--json 輸出);apps 指令實作待 #5 與 alterminal/bear#28 就緒。
Author
Member

骨架部分已完成:PR #8(commit 76a1468)。

  • CLI 骨架(Elixir + Mix escript、Req)、設定/憑證檔(0600、O_EXCL)、PAT Bearer、--json 輸出與退出碼對齊規格
  • 補齊 main 規格承諾的 BEAR_TOKEN 環境變數(優先於憑證檔、不寫入)
  • 35 個測試全綠、precommit 通過;escript 建置實測可用
  • apps 管理指令待 #5 與 alterminal/bear#28 就緒後續做(issue 保持 open)
骨架部分已完成:PR #8(commit 76a1468)。 - CLI 骨架(Elixir + Mix escript、Req)、設定/憑證檔(0600、O_EXCL)、PAT Bearer、--json 輸出與退出碼對齊規格 - 補齊 main 規格承諾的 BEAR_TOKEN 環境變數(優先於憑證檔、不寫入) - 35 個測試全綠、precommit 通過;escript 建置實測可用 - apps 管理指令待 #5 與 alterminal/bear#28 就緒後續做(issue 保持 open)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alterminal/bear-cli#6