Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

Vibe Action is a command router that executes shell commands and LLM prompts via simple YAML pipelines. Just say what you want — it figures out the rest.

Why Vibe Action

  • One command = complex pipeline — chain shell scripts and LLM calls into a single action
  • 🔗 Tag system — connect steps via {tag} references with automatic dependency graph
  • 🤖 Batch LLM — parallel execution across all cluster nodes
  • Type-safe — validate outputs with types and regex
  • 🔐 Confirmations — ask before executing dangerous commands
  • 🎯 CLI-first — no browser, no context switching. Everything in the terminal
  • 🔒 Secure — runs locally on your hardware
  • 🆓 Free — open source, local models via Ollama. No subscriptions
  • 📦 Modular — share YAML files like Homebrew formulas
  • 🦀 Fast — built in Rust

Key Concepts

YAML Pipelines

Describe your workflow in YAML, not code:

name: extract
about: Extract matching lines from text and logs
check: null
clipboard: false
args:
  - name: file
    short: f
    expect: string
    help: Path to the log or text file
    default: null
  - name: query
    short: q
    expect: string
    help: Extraction criteria (e.g., 'find all errors')
    default: null
actions:
  - tag: tag_lines
    type: cmd
    expect: list<string>
    check: null
    confirm: false
    action: cat {file}
  - tag: tag_content
    type: llm
    expect: string
    check: null
    confirm: false
    action: |
      [Task]
      If the line matches the query — output the EXACT line unchanged.
      If it does not match — output only a single dash: "-"
      Do NOT skip lines. Process every line.

      [Query]
      {query}

      [Line]
      {tag_lines}
  - tag: tag_clean
    type: value
    expect: string
    check: null
    confirm: false
    action: '{tag_content|trim:-}'
  - tag: tag_extract
    type: value
    expect: string
    check: null
    confirm: false
    action: '{tag_clean|join:uniq}'

How It Works

  1. You write a YAML file describing your workflow — steps, types, dependencies
  2. The engine parses it and builds a dependency graph from {tag} references
  3. Steps execute in order — shell commands run locally, LLM prompts go to your cluster
  4. Results are validated against expected types and optional regex patterns
  5. Final output is displayed on screen and copied to clipboard if enabled