Skip to content

softleader/slctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Report Card stability-stable license Build Status release

slctl

Slctl is a command line interface for running commands against SoftLeader services.

Install

所有執行檔都會發佈並保留在 Releases page, 選擇版本及對應 OS 的執行檔, 下載後將其解壓縮並加入 PATH 中即可使用

除了直接下載外, Slctl 支援了並優先推薦使用以下幾種套件管理程式來安裝:

  • Homebrew 是在 Mac 上很受歡迎的套件管理系統, 推薦 MacOS 使用者使用:

     $ brew install softleader/tap/slctl

    Linux 使用者建議使用 Linuxbrew - Homebrew 的 Linux 分支

  • Chocolatey 是 Windows 上常見的的套件管理程式, 也被許多 CI 整合 (e.g. Travis CI), 推薦 Windows 使用者使用:

     $ choco install slctl -s http://choco-repo.cloud.softleader.com.tw/repository/choco/

Compiling from source

你可以參考 Compiling Source 章節, 從原始碼編譯後使用, Happy Hacking 🐱💻

Upgrade

透過套件管理程式安裝的, 可以使用以下命令來更新:

  • Homebrew - brew upgrade slctl
  • Chocolatey - choco upgrade slctl -s http://choco-repo.cloud.softleader.com.tw/repository/choco/

Completion Script

bash 或是 zsh 的使用者可以參考 Completion Script 章節設定自動補齊指令, 讓你每次輸入指令時按下 tab 就可以獲得提示

Getting Started

執行 slctl init 透過互動式的問答產生並儲存 GitHub Personal Access Token, 也可以傳入 --username, --password--yes 來整合非互動式的情境 (e.g. DevOps pipeline):

$ slctl init
$ slctl init -u GITHUB_USERNAME -p GITHUB_PASSWORD -y

使用 --force 在發現有重複的 Token 時, 會強制刪除並產生一個全新的 Access Token

$ slctl init -f

若你想自己維護 Access Token (請務必確保有足夠的權限), 可以使用 --token 讓 slctl 驗證後直接儲存起來, 執行 scopes 可以列出所有 slctl 需要的 Access Token 權限

$ slctl init --token GITHUB_TOKEN
$ slctl init scopes

使用 --offline 則 slctl 不會跟 GitHub API 有任何互動, 只會配置 $SL_HOME 環境目錄.

同時使用 --offline--token 可跳過 Token 驗證直接儲存起來 (e.g. 沒網路環境下)

Plugins

Slctl 有完整的 Plugin 系統, 你可以從收尋松凌官方 Plugin 開始:

$ slctl plugin search FILTER...

使用空白分隔傳入多個 FILTER, 會以 Or 且模糊條件來過濾 SOURCE; 反之列出全部

$ slctl plugin search
$ slctl plugin search whereis contacts

傳入 --installed 只列出已安裝的 Plugin

$ slctl plugin search -i

查詢的結果將會被 cache 並留存一天, 傳入 --force 可以強制更新 cache

$ slctl plugin search -f

Installing Plugins

執行 $ slctl plugin install SOURCE 即可安裝

除了 GitHub Repo Source 外, Slctl 還支援了許多的 SOURCE 來源, 點擊 Installing a Plugin 查看更多的 SOURCE 說明

Upgrading Plugins

Slctl 支援 GitHub Repo 的 Plugin 自動更新, 請參考 Upgrading Plugins

Writing A Plugin

Slctl 支援任何語言的 Plugin, 請參考 Plugins Guide