Smos

A comprehensive self-management system

Smos ASCIInema: spec format

A spec describes what will happen in the cast

Example spec:

command: smos example.smos
file: example.smos
input:
- send: e
- wait: 1000
- type: Hello world!
- wait: 1000
- send: "\e"
- wait: 1000
- send: 'q'
- wait: 1000

Reference: Spec format

# ASCIInemaSpec
command: # optional
  # The command to show off. Leave this to just run a shell
  <string>
timeout: # optional , default: 60
  # How long to allow the recording to run before timing out, in seconds
  <number>
[ file: # required
    # The file that is being touched. It will be brought back in order afterwards.
    <string>
, files: # optional , default: []
    - # The files that are being touched. These will be brought back in order afterwards.
      <string>
]
working-dir: # optional
  # The working directory directory
  <string>
workflow-dir: # optional
  # The workflow directory to set via an environment variable
  <string>
config-file: # optional
  # The config file to set via an environment variable
  <string>
input: # optional , default: []
  - [ # Wait
      wait: # required
        # How long to wait (in milliseconds)
        <number>
    , # SendInput
      send: # required
        # The input to send
        <string>
    , # Type
      type: # required
        # The input to send
        <string>
      delay: # optional , default: 100
        # How long to wait between keystrokes (in milliseconds)
        <number>
    ]