終端機一直是工程師日常開發與維運的核心介面。隨著 AI Agent 普及,純文字與標準輸入輸出的特點,更讓 CLI 成為 AI理解與操作系統的關鍵管道。現代的 CLI 需要同時兼顧兩種需求:對人類友善,操作直覺且回饋清楚;對 AI 友善,輸出穩定且易於解析。這套 30 篇教學以 Go為開發語言,帶你建立完整的設計思維做出人與AI 順暢使用的實用工具。
上一篇介紹了如何處理單次請求與回應的 HTTP REST API。在查詢匯率或列出資源時,CLI 發送一次 HTTP 請求、取得結果後輸出並結束執行。 但是當需...
許多 CLI 工具(如 Claude Code)在執行前需先驗證使用者身分。在設計登入機制時,關鍵在於明文密碼是否有流經 CLI Process。 最直接的做法...
當我們為自己的 CLI 工具整合 AI 對話功能時,通常希望提供一個能持續輸入訊息、即時看到回答的互動介面。 LLM API(如 Claude 或 OpenAI...
在開發 CLI 工具時,除了處理 git status 這類單次執行的命令,我們經常需要打造更具互動性的介面——例如按鍵即時過濾的選單、滾動檢視日誌的 View...
前一篇處理輸入:終端機把按鍵編碼成 bytes,程式從 stdin 讀取。這一篇處理輸出:程式把 bytes 寫進 stdout,終端機再把它們顯示成畫面。 像...
上一篇已經讓編輯器可以顯示畫面並讀取方向鍵。這一篇將開啟實際的文字檔,把內容載入記憶體,再用 viewport 決定終端機目前顯示哪幾行。完成後,程式可以開啟文...
完成了檔案載入與顯示後,接著要加入字元插入、刪除與換行,將修改後的內容安全寫回磁碟,並把每次修改記成可逆操作,讓 Ctrl+Z 與 Ctrl+Y 可以復原及重做...
前面的章節已經做出 Command、Flag、輸出格式等功能,從這篇開始進入測試,用測試來確保 CLI 的輸入與輸出行為。也避免在重構 Flag 解析、調整輸出...