Smos Logo Smos

A comprehensive self-management system

The Smos TUI

Documentation about the Smos TUI, for editing Smos files

Reference

Arguments

Usage: smos [FILE] [--config-file FILEPATH] [--workflow-dir FILEPATH] 
            [--archive-dir FILEPATH] [--projects-dir FILEPATH] 
            [--archived-projects-dir FILEPATH] [--explainer-mode]
  
  Smos TUI Editor version: 0.5.1
  
  Current Smos data format version: 2.0.0
  
  Oldest parseable Smos data format version: 0.0.0
  Newest parseable Smos data format version: 2.0.0

Available options:
  -h,--help                Show this help text
  FILE                     the file to edit
  --config-file FILEPATH   The config file to use
  --workflow-dir FILEPATH  The workflow directory to use
  --archive-dir FILEPATH   The archive directory to use
  --projects-dir FILEPATH  The projects directory to use
  --archived-projects-dir FILEPATH
                           The archived projects directory to use
  --explainer-mode         Activate explainer mode to show what is happening

Environment

Available environment variables:

  SMOS_ARCHIVED_PROJECTS_DIR
                         Archived projects directory
  SMOS_ARCHIVE_DIR
                         Archive directory
  SMOS_CONFIG_FILE
                         Workflow directory
  SMOS_EXPLAINER_MODE
                         Activate explainer mode to show
                         what is happening
  SMOS_PROJECTS_DIR
                         Projects directory
  SMOS_WORKFLOW_DIR
                         Workflow directory

Configuration

# Configuration
workflow-dir: # optional
  # The workflow directory
  # or null
  <string>
archive-dir: # optional
  # The archive directory
  # or null
  <string>
projects-dir: # optional
  # The projects directory
  # or null
  <string>
archived-projects-dir: # optional
  # The archived projects directory
  # or null
  <string>
waiting: # optional
  # The waiting report configuration
  # or null
  # WaitingReportConfiguration
  threshold: # optional
    # waiting report threshold to consider waiting entries 'overdue'
    # any of
    [ null
    , # Time string: 2s, 3m, 4h, 5d, 6w, ...
      <string>
    , # Interpreted as a number of days
      <number> # between 0 and 18446744073709551615
    ]
stuck: # optional
  # The stuck projects report configuration
  # or null
  # StuckReportConfiguration
  threshold: # optional
    # stuck report threshold to consider stuck projects 'overdue'
    # any of
    [ null
    , # Time string: 2s, 3m, 4h, 5d, 6w, ...
      <string>
    , # Interpreted as a number of days
      <number> # between 0 and 18446744073709551615
    ]
work: # optional
  # The work report configuration
  # or null
  # WorkReportConfiguration
  base-filter: # optional
    # The base work filter
    # or null
    def: EntryFilter
    # A filter is a string of one of the following forms:
    # 
    # tag:<tag>
    # state:<state>
    # file:<file>
    # level:<level>
    # header:<header>
    # property:<property-name>
    # property:<property-name>:<property-value>
    # property:<property-name>:time:<comparison>:<time>
    # parent:<filter>
    # ancestor:<filter>
    # child:<filter>
    # legacy:<filter>
    # not:<filter>
    # (<filter> and <filter>)
    # (<filter> or <filter>)
    <string>
  checks: # optional
    # Checks for the work report
    # or null
    - ref: EntryFilter
  contexts: # optional
    # Contexts for the work report
    # or null
    <key>: 
      ref: EntryFilter
  time-filter: # optional
    # The property to use to filter by time
    # or null
    def: PropertyName
    <string>
  columns: # optional
    # The columns in the report
    # or null
    - def: Projection
      # A column (projection) is a string of one of the following forms:
      # 
      # file
      # state
      # header
      # tag:<tag-name>
      # property:<property-name>
      # timestamp:<timestamp-name>
      # ancestor:<projection>
      <string>
  sorter: # optional
    # The sorter to use to sort the rows
    # or null
    def: Sorter
    # A sorter is a string of one of the following forms:
    # 
    # file
    # header
    # state
    # tag:<tag>
    # property:<property-name>
    # property-as-time:<property-name>
    # timestamp:<timestamp-name>
    # reverse:<sorter>
    # (<sorter> then <sorter>)
    <string>
keys: # optional
  # Keybindings
  # or null
  # KeybindingsConfiguration
  reset: # optional
    # Whether to reset all keybindings. Set this to false to add keys, set this to true to replace keys.
    # or null
    <boolean>
  file: # optional
    # Keybindings for the file context
    # or null
    # FileKeyConfigs
    empty: # optional
      # Keybindings for when the file is empty
      # or null
      def: KeyConfigs
      - def: KeyConfig
        # KeyConfig
        key: # required
          # The key to match
          <string>
        action: # required
          # The name of the action to perform when the key is matched
          <string>
    entry: # optional
      # Keybindings for when an entry is selected
      # or null
      ref: KeyConfigs
    header: # optional
      # Keybindings for when an header is selected
      # or null
      ref: KeyConfigs
    contents: # optional
      # Keybindings for when an contents is selected
      # or null
      ref: KeyConfigs
    timestamps: # optional
      # Keybindings for when a timestamps are selected
      # or null
      ref: KeyConfigs
    properties: # optional
      # Keybindings for when a properties are selected
      # or null
      ref: KeyConfigs
    state-history: # optional
      # Keybindings for when a state history is selected
      # or null
      ref: KeyConfigs
    tags: # optional
      # Keybindings for when a tags are selected
      # or null
      ref: KeyConfigs
    logbook: # optional
      # Keybindings for when a logbook is selected
      # or null
      ref: KeyConfigs
    any: # optional
      # Keybindings that match in any file subcontext
      # or null
      ref: KeyConfigs
  browser: # optional
    # Keybindings for the file browser context
    # or null
    # BrowserKeyConfigs
    existent: # optional
      # Keybindings for when an existing file or directory is selected
      # or null
      ref: KeyConfigs
    in-progress: # optional
      # Keybindings for when an in-progress file or directory is selected
      # or null
      ref: KeyConfigs
    empty: # optional
      # Keybindings for when the directory being browsed is empty
      # or null
      ref: KeyConfigs
    filter: # optional
      # Keybindings for when file browser's filter bar is selected
      # or null
      ref: KeyConfigs
    any: # optional
      # Keybindings for any of the other file browser situations
      # or null
      ref: KeyConfigs
  reports: # optional
    # Keybindings for the reports context
    # or null
    # ReportsKeyConfigs
    next-action: # optional
      # Keybindings for the interactive next action report
      # or null
      # NextActionReportKeyConfigs
      normal: # optional
        # Keybindings for interacting with the next-action report
        # or null
        ref: KeyConfigs
      search: # optional
        # Keybindings for the search in the next-action report
        # or null
        ref: KeyConfigs
      any: # optional
        # Keybindings for at any point in the next-action report
        # or null
        ref: KeyConfigs
    waiting: # optional
      # Keybindings for the interactive waiting report
      # or null
      # WaitingReportKeyConfigs
      normal: # optional
        # Keybindings for interacting with the waiting report
        # or null
        ref: KeyConfigs
      search: # optional
        # Keybindings for the search in the waiting report
        # or null
        ref: KeyConfigs
      any: # optional
        # Keybindings for at any point in the waiting report
        # or null
        ref: KeyConfigs
    timestamps: # optional
      # Keybindings for the interactive timestamps report
      # or null
      # TimestampsReportKeyConfigs
      normal: # optional
        # Keybindings for interacting with the timestamps report
        # or null
        ref: KeyConfigs
      search: # optional
        # Keybindings for the search in the timestamps report
        # or null
        ref: KeyConfigs
      any: # optional
        # Keybindings for at any point in the timestamps report
        # or null
        ref: KeyConfigs
    stuck: # optional
      # Keybindings for the interactive stuck projects report
      # or null
      # StuckReportKeyConfigs
      normal: # optional
        # Keybindings for interacting with the stuck report
        # or null
        ref: KeyConfigs
      any: # optional
        # Keybindings for at any point in the stuck report
        # or null
        ref: KeyConfigs
    work: # optional
      # Keybindings for the interactive work report
      # or null
      # WorkReportKeyConfigs
      normal: # optional
        # Keybindings for interacting with the work report
        # or null
        ref: KeyConfigs
      search: # optional
        # Keybindings for the search in the work report
        # or null
        ref: KeyConfigs
      any: # optional
        # Keybindings for at any point in the work report
        # or null
        ref: KeyConfigs
    any: # optional
      # Keybindings for at any point in any report
      # or null
      ref: KeyConfigs
  help: # optional
    # Keybindings for the help context
    # or null
    # HelpKeyConfigs
    help: # optional
      # Keybindings for when in the help screen
      # or null
      ref: KeyConfigs
    search: # optional
      # Keybindings for when the search bar is selected within the help screen
      # or null
      ref: KeyConfigs
    any: # optional
      # Keybindings for at any time in the help screen
      # or null
      ref: KeyConfigs
  any: # optional
    # Keybindings for any context
    # or null
    ref: KeyConfigs
explainer-mode: # optional
  # Turn on explainer mode where the user can see what is happening
  # or null
  <boolean>