vibe-action 0.1.5

Command router — execute shell commands and LLM prompts via simple YAML actions.
name: explain
about: Explain what the selected code does in simple terms
notify: true

args:
  - name: query
    short: 'q'
    input: string
    default: '{system_clipboard}'
    help: The code to explain
  - name: file
    short: 'f'
    input: string
    default: ''
    help: File or URL to explain

# IDE plugin integration: maps argument names to IDE contexts
api:
  # Target for the final result (replace | clipboard | dialog)
  output: replace
  # Maps argument for JSON output (selection | clipboard)
  args:
    query: selection

actions:
  # Read input from file or text argument
  - tag: tag_content
    run: cmd
    expect: string
    check: .+
    action:
      - when: '{file|empty}'
        then: echo "{query}"
      - when: '{file|empty:not}'
        then: cat "{file|load}"

  # Add summary and detailed comments to the code
  - tag: tag_explanation
    run: medium
    expect: string
    action: |
      [Task]
      1. Keep the code logic identical, but add comments above EACH logical block.
      2. Inside each comment, briefly explain the language-specific constructs, macros, or types used.
      3. Split comments into multiple lines using the appropriate comment syntax for the selected language (e.g., `// ` or `# `).
      4. Use Markdown formatting, and place the code inside code blocks.
      5. Language for comments: {system_language}

      [Example]
      ```language
      // This is a comment
      // Explaining the code below
      let x = 5;
      ```

      [Code]
      {tag_content}

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