vibe-action 0.2.2

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

name: find
about: Semantic file finder — finds files by meaning, not just name
clipboard: false

args:
  - name: path
    short: 'p'
    input: string
    default: '.'
    help: 'Directory to search in (default: current)'

api:
  output: dialog
  input: query|prompt
  args:
    path: query|project_path

actions:
  # Collect all text files in the directory
  - tag: tag_files
    run: cmd
    expect: list
    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|prompt}

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

      [File]
      {tag_files}
      EOF

  # LLM evaluates each file against the query
  - tag: tag_matches
    run: small
    expect: list
    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|uniq|trim|join}'