vibe-action 0.2.2

Command router — execute shell commands and LLM prompts via simple YAML actions.
<!doctype html>
<html lang="en">
  <head>
    <link rel="stylesheet" href="assets/css/main.css" />

    <title>Vibe Action</title>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta property="og:title" content="Vibe Action" />
    <meta property="og:description" content="Command router for shell and LLM tasks" />

    <link rel="icon" href="assets/images/favicon.png" />
  </head>
  <body>
    <div class="PageIndex">
      <div class="Header">
        <div class="Content">
          <div class="block">
            <div>
              <a href="/" class="title">Vibe Action</a>
            </div>
            <div>
              <a class="Btn" href="docs/introduction.html">Documentation</a>
            </div>
          </div>
        </div>
      </div>
      <div class="Body">
        <div class="Content">
          <div class="block1">
            <div class="block">
              <div class="title">
                Vibe
                <br />
                <span class="hl">Action</span>
              </div>
              <div class="version">v0.2.2</div>
              <div class="subtitle">Command router for shell and LLM tasks</div>
              <div class="text">
                Execute shell commands and LLM prompts via simple YAML files. Define steps, connect
                them via tags, and batch LLM calls across your cluster.
              </div>
              <a class="Btn BtnBlack" href="docs/getting-started.html">Get Started</a>
            </div>
            <div class="block">
              <pre class="preview">
<span class="comment"># Quick Start</span>

<span class="comment">## 1. Install Ollama (or a cloud provider)</span>

<span class="comment">## 2. Install Vibe Action</span>
<span class="command"><span class="app">cargo</span> install vibe-action</span>

<span class="comment">## 3. AI-powered commit</span>
<span class="command"><span class="app">vibe-action</span> commit</span>

<span class="comment">## 4. Describe a screenshot</span>
<span class="command"><span class="app">vibe-action</span> describe</span>

<span class="comment">## 5. Deep translation</span>
<span class="command"><span class="app">vibe-action</span> translate-deep</span> <span class="path">README.md</span></pre>
            </div>
          </div>
        </div>
      </div>
      <div class="Stats">
        <div class="Content">
          <div class="block">
            <div><span class="v">20+</span>actions</div>
            <div><span class="v">20+</span>modifiers</div>
            <div><span class="v">5</span>LLM providers</div>
            <div><span class="v">2</span>IDE plugins</div>
          </div>
        </div>
      </div>
      <div class="Section">
        <div class="Content">
          <div class="kicker">Execution</div>
          <div class="h2">Turn any input into a running pipeline.</div>
          <div class="Steps">
            <div class="Step teal">
              <div class="num">01</div>
              <div class="name">selection</div>
              <div class="desc">
                Text, file, image or interactive prompt — from the CLI or an IDE.
              </div>
            </div>
            <div class="Arrow"></div>
            <div class="Step">
              <div class="num">02</div>
              <div class="name">shell</div>
              <div class="desc">Shell commands run locally with live terminal output.</div>
            </div>
            <div class="Arrow"></div>
            <div class="Step">
              <div class="num">03</div>
              <div class="name">llm</div>
              <div class="desc">
                tiny → vision tiers. Ollama locally, or cloud API. Parallel across the cluster.
              </div>
            </div>
            <div class="Arrow"></div>
            <div class="Step orange">
              <div class="num">04</div>
              <div class="name">output</div>
              <div class="desc">
                Result prints to the terminal, copies to clipboard or fires a notification.
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="Section">
        <div class="Content">
          <div class="kicker">Why Vibe Action</div>
          <div class="h2">CLI-first. No browser, no context switching.</div>
          <div class="Grid">
            <div class="Card">
              <div class="num">01</div>
              <div class="name">Tag system</div>
              <div class="desc">
                Steps connect via {tag} references. The engine builds a dependency graph and
                executes in topological order.
              </div>
            </div>
            <div class="Card">
              <div class="num">02</div>
              <div class="name">Modifiers</div>
              <div class="desc">
                20+ inline transformations: trim, uniq, join, ast, load, clipboard and more.
                Arguments: {tag|trim:-}, {tag|sort:desc}.
              </div>
            </div>
            <div class="Card">
              <div class="num">03</div>
              <div class="name">When/Then</div>
              <div class="desc">
                Conditional execution in pure YAML. The first matching branch wins — no shell
                scripting.
              </div>
            </div>
            <div class="Card">
              <div class="num">04</div>
              <div class="name">System tags</div>
              <div class="desc">
                13 built-in tags for environment context: user, OS, pwd, date and more.
              </div>
            </div>
            <div class="Card">
              <div class="num">05</div>
              <div class="name">Vision &amp; Fetch</div>
              <div class="desc">
                Describe screenshots, read images from URL or clipboard, load web pages and PDFs.
              </div>
            </div>
            <div class="Card">
              <div class="num">06</div>
              <div class="name">Action cache</div>
              <div class="desc">
                Startup loads a validated snapshot instead of re-parsing YAML — the CLI responds
                instantly.
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="Section">
        <div class="Content">
          <div class="Split">
            <div>
              <div class="kicker">YAML Actions</div>
              <div class="h2">Describe actions in YAML, not code.</div>
              <div class="How">
                <div class="row">
                  <span>01</span>Write a YAML file with steps, types and dependencies.
                </div>
                <div class="row">
                  <span>02</span>Graph. The engine resolves {tag} references into topological order.
                </div>
                <div class="row">
                  <span>03</span>Run. Shell commands locally, LLM prompts on your cluster.
                </div>
                <div class="row">
                  <span>04</span>Validate with expect and check. Replace selection, copy to
                  clipboard, or show a dialog.
                </div>
              </div>
            </div>
            <div>
              <pre class="preview">
<span class="app">version</span>: <span class="command">0.0.1</span>
<span class="app">name</span>: <span class="command">extract</span>
<span class="app">about</span>: <span class="command">Extract matching lines from logs</span>
<span class="app">api</span>:
  <span class="app">output</span>: <span class="command">replace</span>
  <span class="app">input</span>: <span class="command">query|prompt</span>
<span class="app">actions</span>:
  - <span class="app">tag</span>: <span class="command">tag_lines</span>
    <span class="app">run</span>: <span class="command">cmd</span>
    <span class="app">expect</span>: <span class="command">list</span>
    <span class="app">action</span>: <span class="command">cat</span> <span class="path">{query|file_path}</span>
  - <span class="app">tag</span>: <span class="command">tag_content</span>
    <span class="app">run</span>: <span class="command">small</span>
    <span class="app">action</span>: <span class="command">Match lines against</span> <span class="path">{query|prompt}</span>
  - <span class="app">tag</span>: <span class="command">tag_extract</span>
    <span class="app">run</span>: <span class="command">value</span>
    <span class="app">action</span>: <span class="path">{tag_content|trim:-|uniq|join}</span></pre>
            </div>
          </div>
        </div>
      </div>
      <div class="Section">
        <div class="Content">
          <div class="kicker">Docs</div>
          <div class="h2">Dig deeper.</div>
          <div class="Docs">
            <div class="Card">
              <div class="name">General</div>
              <a href="docs/introduction.html">Introduction</a>
              <a href="docs/getting-started.html">Quick Start</a>
              <a href="docs/vibe-action-cross.html">IDE Integration</a>
            </div>
            <div class="Card">
              <div class="name">YAML Actions</div>
              <a href="docs/action-structure.html">Action Structure</a>
              <a href="docs/query-tag.html">Query Tag</a>
              <a href="docs/tag-system.html">Tag System</a>
              <a href="docs/modifiers.html">Modifiers</a>
              <a href="docs/system-tags.html">System Tags</a>
              <a href="docs/built-in-actions.html">Built-in Actions</a>
              <a href="docs/custom-actions.html">Custom Actions</a>
            </div>
            <div class="Card">
              <div class="name">Reference</div>
              <a href="docs/configuration.html">Configuration</a>
              <a href="docs/cli-reference.html">CLI Reference</a>
            </div>
          </div>
        </div>
      </div>
      <div class="Footer">
        <div class="Content">
          <div class="block">
            <div>
              <div class="title">© 2026 Vibe Action</div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>