AndrianBdn / clive

Automates terminal operations and lets you view them live via a browser.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Automates terminal operations and lets you view them live via a browser.

GitHub Workflow Status Code Climate maintainability Go Report Card Codecov

English | 日本語

cLive

ℹ️ Prerequisite

cLive requires ttyd to be installed.
For example, if you are using homebrew, you can install it with brew install.

$ brew install ttyd

See the ttyd documentation for more information.

Installation

Note There are prerequisites for using cLive. See Prerequisite for details.

If you are using homebrew, you can install cLive with brew install.

$ brew install koki-develop/tap/clive

It can also be installed using go install.

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

Or download the binary from the releases page.

🔰 Getting Started

First, run clive init.

$ clive init
Created ./clive.yml

A file named clive.yml will then be created with the following contents:

# 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

Finally, run clive start to launch the browser and start cLive.

$ clive start

🚀 Commands

Available commands:

  • init - Create a config file.
  • start - Start cLive actions.
  • validate - Validate a config file.
  • completion - Generate the autocompletion script for the specified shell.

clive init

Create a config file.

$ clive init
Flag Default Description
-c, --config ./clive.yml Config file name.

clive start

Start cLive actions. See Configuration for the config file.

$ clive start
Flag Default Description
-c, --config ./clive.yml Config file name.

clive validate

Validate a config file.

$ clive validate
Flag Default Description
-c, --config ./clive.yml Config file name.

clive completion

Generate the autocompletion script for clive for the specified shell.
See each sub-command's help for details on how to use the generated script.

$ clive completion <shell>

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

Available shells:

  • bash
  • fish
  • powershell
  • zsh

⚙️ Configuration

The config file consists of actions and settings.

  • actions - Actions to run.
  • settings - Basic settings (font size, default speed, etc.) .

actions

Actions to run.
Available actions:

  • type - Type characters.
  • key - Enter special keys.
  • ctrl - Press the Ctrl key with other keys.
  • sleep - Sleep for a specified number of milliseconds.
  • pause - Pause actions.
  • screenshot - Take a screenshot.

type

Type characters.

Field Required Default Description
type Yes N/A Characters to type.
count No 1 Number of times to repeat the action.
speed No 10 Interval between key typing (milliseconds).
# e.g.
actions:
  - type: echo 'Hello World'
    count: 10 # Optional
    speed: 100 # Optional

key

Enter special keys.
Available keys:

  • esc
  • backspace
  • tab
  • enter
  • left
  • up
  • right
  • down
  • space
Field Required Default Description
key Yes N/A Special key to type.
count No 1 Number of times to repeat the action.
speed No 10 Interval between key typing (milliseconds).
# e.g.
actions:
  - key: enter
    count: 10 # Optional
    speed: 100 # Optional

ctrl

Press the Ctrl key with other keys.

Field Required Default Description
ctrl Yes N/A Characters to enter with the ctrl key.
count No 1 Number of times to repeat the action.
speed No 10 Interval between key typing (milliseconds).
# e.g.
actions:
  - ctrl: c # Ctrl+c
    count: 10 # Optional
    speed: 100 # Optional

sleep

Sleep for a specified number of milliseconds.

Field Required Default Description
sleep Yes N/A Time to sleep (milliseconds).
# e.g.
actions:
  - sleep: 3000 # Sleep for 3 seconds.

pause

Pause actions.
Press enter to continue.

# e.g.
actions:
  - pause

screenshot

Take a screenshot.
Screenshots you take are saved in screenshots/.

# e.g.
actions:
  - screenshot

settings

Basic settings.
Available settings:

loginCommand

Login command and args.
Default: ["bash", "--login"].

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

fontSize

Font size.
Default: 22

# e.g.
settings:
  fontSize: 36

fontFamily

Font family.

# e.g.
settings:
  fontFamily: monospace

defaultSpeed

Default interval between key typing.
Default: 10

# e.g.
settings:
  defaultSpeed: 100

skipPauseBeforeQuit

Whether to skip pausing before quitting.
Default: false

# e.g.
settings:
  skipPauseBeforeQuit: true

browserBin

Path to an executable browser binary.
See the go-rod documentation for supported browsers.

# e.g.
settings:
  browserBin: /Applications/Sidekick.app/Contents/MacOS/Sidekick # use Sidekick

headless

Whether to run the browser in headless mode.
Default: false

# e.g.
settings:
  headless: true

width

Window width.

# e.g.
settings:
  width: 1600

height

Window height.

# e.g.
settings:
  height: 800

📖 Examples

For more examples see the examples/ directory.

📝 License

MIT License

About

Automates terminal operations and lets you view them live via a browser.

License:MIT License


Languages

Language:Go 100.0%