Skip to content

softleader/slctl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

af25eba · Mar 7, 2023
Oct 22, 2019
Dec 10, 2019
Nov 16, 2018
Jan 3, 2019
Oct 15, 2019
Nov 20, 2018
Nov 16, 2018
Mar 7, 2023
Mar 7, 2023
Dec 10, 2019
Dec 10, 2019

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