vibe-action 0.2.2

Command router — execute shell commands and LLM prompts via simple YAML actions.
version: 0.0.1

name: translate-small
about: Translate text or files to another language
notify: true

args:
  - name: to
    short: 'l'
    input: string
    default: 'Russian'
    help: Target language (e.g., Russian, English, Chinese)

# IDE plugin integration: maps argument names to IDE contexts
api:
  # Target for the final result (replace | clipboard | dialog)
  output: replace
  # Source for the {query} tag
  input: query

actions:
  # Read input from query (prioritize file path if valid, otherwise use raw text)
  - tag: tag_content
    run: cmd
    expect: string
    check: .+
    action:
      - when: '{query|file_path|empty:not}'
        then: cat "{query|file_path|load}"
      - when: '{query|empty:not}'
        then: echo {query}
      - when: 'true'
        then: echo "ERROR - No input provided"

  # LLM translates text, preserving code and proper names
  - tag: tag_translated
    run: small
    expect: string
    action: |
      [Task]
      Translate the entire [Text] to the language specified in [User].
      Do not translate proper names, code, or comments inside code blocks.
      Reply with the full translated text.

      [User]
      {to}

      [Text]
      {tag_content}

  # Copy result to clipboard and output
  - tag: tag_clipboard
    run: value
    expect: string
    action: '{tag_translated|clipboard}'