iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

30 天學會做一個 CLI:打造人類與 AI 都友善的現代 CLI 應用 系列

終端機一直是工程師日常開發與維運的核心介面。隨著 AI Agent 普及,純文字與標準輸入輸出的特點,更讓 CLI 成為 AI理解與操作系統的關鍵管道。現代的 CLI 需要同時兼顧兩種需求:對人類友善,操作直覺且回饋清楚;對 AI 友善,輸出穩定且易於解析。這套 30 篇教學以 Go為開發語言,帶你建立完整的設計思維做出人與AI 順暢使用的實用工具。

參賽天數 28 天 | 共 28 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 11

Human-friendly CLI 互動:Shell 自動完成、選單與表單

在終端機操作 CLI 工具時,如果每次都需要手動打對完整的參數名稱與選項,不僅操作效率低,也容易因為打錯字而導致命令執行失敗。 為了降低記憶負擔並避免輸入錯誤,...

2026-09-22 ‧ 由 evanchen 分享
DAY 12

Human-friendly CLI 的持續互動:REPL 模式

一般的 CLI 命令屬於一次性執行:當你在終端機輸入 ls 或 git status 時,作業系統會建立一個獨立的 Process,程式執行完畢就立刻結束 Pr...

2026-09-23 ‧ 由 evanchen 分享
DAY 13

Agent-friendly CLI 設計

純文字、標準輸入輸出與高可組合性,讓 CLI 不再只是工程師操作系統的工具,也是 AI Agent 理解環境、執行命令與進行自我修正的介面。過去 CLI 的設計...

2026-09-24 ‧ 由 evanchen 分享
DAY 14

CLI 架構設計

當 CLI 從單一指令擴充成多個 subcommands,各個指令會開始共用相同的資料與業務規則。 這篇我們以一個待辦清單工具為例,它提供四個 subcomma...

2026-09-25 ‧ 由 evanchen 分享
DAY 15

錯誤處理與日誌

在終端機執行一個指令時,畫面上看起來只是一行文字印出來;但對作業系統與 Shell 來說,一個程式結束時其實會回報兩類完全不同的資訊: 文字訊息(分成兩個串...

2026-09-26 ‧ 由 evanchen 分享
DAY 16

長時間 CLI 命令的進度、逾時與取消設計

當 CLI 命令需要處理批次資料匯入、檔案下載或遠端服務部署時,執行時間往往需要數秒到數分鐘。如果程式在執行期間完全沒有印出訊息,使用者就無法判斷它是還在正常處...

2026-09-27 ‧ 由 evanchen 分享
DAY 17

跨平台編譯 Go CLI 並透過 npm 發布

當 CLI 開發告一段落後,下一步是將工具發布給使用者。目標使用者的電腦通常沒有 Go 開發環境,無法透過原始碼執行;而 npm 是目前普及度極高的套件管理工具...

2026-09-28 ‧ 由 evanchen 分享
DAY 18

CLI 安全防護

CLI 工具直接跑在使用者的終端機環境中,安全風險大多出在它跟 Shell、作業系統與外部程式的互動上:從使用者在終端機輸入命令、程式輸出 log,到呼叫其他系...

2026-09-29 ‧ 由 evanchen 分享
DAY 19

CLI 讀取剪貼簿圖片與貼上事件

前面幾篇談的多是 CLI 內部的機制:命令怎麼解析、輸出怎麼排版、錯誤怎麼分層。從這篇開始要轉向應用面,帶你把 CLI 接上幾個常見的外部系統與協定:讀取剪貼簿...

2026-09-30 ‧ 由 evanchen 分享
DAY 20

將既有 REST API 重新設計為 CLI

在 為什麼要學習開發CLI 有提到,越來越多原本僅提供 REST API 的服務(如 GitHub、Stripe 與 Grafana),為了讓 AI Agent...

2026-10-01 ‧ 由 evanchen 分享