vibe-action 0.0.4

Command router — execute shell commands and LLM prompts via simple YAML actions.
name: find
about: Semantic file finder — finds files by meaning, not just name
clipboard: false
args:
  - name: path
    short: 'p'
    expect: string
    help: 'Directory to search in (default: current)'
    default: .
  - name: query
    short: 'q'
    expect: string
    help: What to find — describe in natural language
actions:
  # Collect all text files in the directory
  - tag: tag_files
    run: cmd
    expect: list<string>
    action: find {path} -type f -exec grep -Iq . {} \; -print
  # Build prompt with file path and content for each file
  - tag: tag_content
    run: cmd
    expect: string
    action: |
      cat << 'EOF'
      [Task]
      Check if the [Content] code/comments contain the technical [Query] word, function name, or meaning.
      If YES — print ONLY the [File] path inside brackets: <{tag_files}>
      If NO — print ONLY: <->

      [Query]
      {query}

      [Content]
      EOF
      cat "{tag_files}"
      cat << 'EOF'

      [File]
      {tag_files}
      EOF
  # LLM evaluates each file against the query
  - tag: tag_matches
    run: llm_small
    expect: list<string>
    action: '{tag_content}'
  # Filter out non-matching entries
  - tag: tag_filtered
    run: value
    expect: string
    action: '{tag_matches|trim:<->|resolve}'
  # Join matching file paths, remove duplicates
  - tag: tag_find
    run: value
    expect: string
    action: '{tag_filtered|join:uniq}'