Categorygithub.com/koki-develop/clive
modulepackage
0.12.9
Repository: https://github.com/koki-develop/clive.git
Documentation: pkg.go.dev

# README

Automates terminal operations.

GitHub release (latest by date) GitHub all releases GitHub Workflow Status Code Climate maintainability Go Report Card Codecov

English | 日本語

cLive

:information_source: 前提条件

cLive は事前に ttyd ( バージョン 1.7.0 以上 ) がインストールされている必要があります。
例えば homebrew を使用している場合、 brew install でインストールすることができます。

$ brew install ttyd

それ以外のインストール方法については ttyd のドキュメントを参照してください。

:zap: インストール

Note cLive を使用するには前提条件があります。詳しくは 前提条件 を参照してください。

Homebrew

$ brew install clive

Homebrew Tap

$ brew install koki-develop/tap/clive

go install

$ go install github.com/koki-develop/clive@latest

Releases

Releases ページからバイナリをダウンロードしてください。

:beginner: 基本的な使い方

まず clive init を実行します。

$ clive init
Created ./clive.yml

すると、 clive.yml という名前で次のような内容のファイルが作成されます。

# documentation: https://github.com/koki-develop/clive#settings
settings:
  loginCommand: ["bash", "--login"]
  fontSize: 22
  defaultSpeed: 10

# documentation: https://github.com/koki-develop/clive#actions
actions:
  - pause
  - type: echo 'Welcome to cLive!'
  - key: enter

最後に clive start を実行するとブラウザが立ち上がり、 cLive が開始されます。

$ clive start

:rocket: コマンド

  • init - 設定ファイルを作成します。
  • start - 設定ファイルを読み込み、 cLive を開始します。
  • completion - 指定されたシェルの自動補完スクリプトを生成します。

clive init

設定ファイルを作成します。

$ clive init
フラグデフォルト説明
-c, --config./clive.yml設定ファイル名。

clive start

設定ファイルを読み込み、 cLive を開始します。 設定ファイルについては設定を参照してください。

$ clive start
フラグデフォルト説明
-c, --config./clive.yml設定ファイル名。

clive validate

設定ファイルを検証します。

$ clive validate
FlagDefaultDescription
-c, --config./clive.yml設定ファイル名。

clive completion

指定されたシェルの自動補完スクリプトを生成します。
生成されたスクリプトの使い方についてはヘルプを参照してください。

$ clive completion <shell>

# e.g.
$ clive completion bash
$ clive completion bash --help

サポートしているシェル:

  • bash
  • fish
  • powershell
  • zsh

:gear: 設定

設定ファイルは actionssettings で構成されます。

  • actions - 実行するアクションのリスト。
  • settings - 基本的な設定 (フォントサイズ、デフォルトの速度など) 。

actions

実行するアクションです。
有効なアクション:

  • type - 文字を入力します。
  • key - 特殊キーを入力します。
  • ctrl - Ctrl キーを他のキーと一緒に入力します。
  • sleep - 指定した時間スリープします。
  • pause - アクションを一時停止します。
  • screenshot - スクリーンショットを撮影します。

type

文字を入力します。

フィールド必須デフォルト説明
typeYesN/A入力する文字。
countNo1アクションを繰り返す回数。
speedNo10キーを入力する間隔 (ミリ秒) 。
# e.g.
actions:
  - type: echo 'Hello World'
    count: 10 # Optional
    speed: 100 # Optional

key

特殊キーを入力します。
使用できるキー:

  • esc
  • backspace
  • tab
  • enter
  • left
  • up
  • right
  • down
  • space
フィールド必須デフォルト説明
keyYesN/A入力するキー。
countNo1アクションを繰り返す回数。
speedNo10キーを入力する間隔 (ミリ秒) 。
# e.g.
actions:
  - key: enter
    count: 10 # Optional
    speed: 100 # Optional

ctrl

Ctrl キーを他のキーと一緒に入力する。

フィールド必須デフォルト説明
ctrlYesN/ACtrl キーと一緒に入力するキー。
countNo1アクションを繰り返す回数。
speedNo10キーを入力する間隔 (ミリ秒) 。
# e.g.
actions:
  - ctrl: c # Ctrl+c
    count: 10 # Optional
    speed: 100 # Optional

sleep

指定した時間スリープします。

フィールド必須デフォルト説明
sleepYesN/Aスリープする時間 (ミリ秒) 。
# e.g.
actions:
  - sleep: 3000 # 3 秒間スリープする

pause

アクションを一時停止します。
エンターキーを入力して再開します。

# e.g.
actions:
  - pause

screenshot

スクリーンショットを撮影します。
撮影したスクリーンショットは screenshots/ に保存されます.
スクリーンショットを保存するディレクトリは settings.screenshotsDir で変更することができます。

FieldRequiredDefaultDescription
screenshotNo<ACTION_INDEX>_<yyyymmddHHMMSS>.pngスクリーンショットのファイル名。
# e.g.
actions:
  - screenshot
  - screenshot: foobar.png # Optional

settings

基本的な設定です。
設定できる項目:

  • loginCommand - ログインコマンドと引数。
  • fontSize - フォントサイズ。
  • fontFamily - フォントファミリー。
  • defaultSpeed - デフォルトの入力速度。
  • skipPauseBeforeQuit - 終了前の一時停止をスキップするかどうか。
  • screenshotsDir - スクリーンショットを保存するディレクトリ。
  • browserBin - ブラウザの実行可能なバイナリへのパス。
  • headless - ブラウザをヘッドレスモードで動作させるかどうか。
  • width - ウィンドウの幅。
  • height - ウィンドウの高さ。

loginCommand

シェルへのログインコマンドと引数を設定します。
デフォルト: ["bash", "--login"].

# e.g.
settings:
  loginCommand: ["zsh", "--login"]

fontSize

フォントサイズを設定します。
デフォルト: 22

# e.g.
settings:
  fontSize: 36

fontFamily

フォントファミリーを設定します。

# e.g.
settings:
  fontFamily: monospace

defaultSpeed

デフォルトの入力速度を設定します (ミリ秒) 。
デフォルト: 10

# e.g.
settings:
  defaultSpeed: 100

skipPauseBeforeQuit

終了前の一時停止をスキップするかどうか。
デフォルト: false

# e.g.
settings:
  skipPauseBeforeQuit: true

screenshotsDir

スクリーンショットを保存するディレクトリ。
デフォルト: screenshots

# e.g.
settings:
  screenshotsDir: path/to/pictures

browserBin

ブラウザの実行可能なバイナリへのパスを設定します。
サポートしているブラウザについては go-rod のドキュメント を参照してください。

# e.g.
settings:
  browserBin: /Applications/Sidekick.app/Contents/MacOS/Sidekick # Sidekick を使う

headless

ブラウザをヘッドレスモードで動作させるかどうか。
デフォルト: false

# e.g.
settings:
  headless: true

width

ウィンドウの幅。

# e.g.
settings:
  width: 1600

height

ウィンドウの高さ。

# e.g.
settings:
  height: 800

:book: サンプル

それ以外のサンプルについては examples/ ディレクトリを参照してください。

:memo: ライセンス

MIT License

# Packages

No description provided by the author