name        = "seek"
description = "Ranked, symbol-aware code search (replacement for grep/ripgrep)"
homepage    = "https://github.com/dualeai/seek"
tools       = ["claude", "codex", "cursor"]
scope       = "both"

[[artifacts]]
kind = "cli"
name = "seek"

[[prereq]]
name  = "universal-ctags"
check = "command -v ctags"

[prereq.install]
apt    = "universal-ctags"
pacman = "ctags"
paru   = "ctags"
yay    = "ctags"
brew   = "universal-ctags"

[[install]]
id      = "curl"
label   = "curl installer (recommended)"
command = "curl -sSfL https://raw.githubusercontent.com/dualeai/seek/main/install.sh | sh"

[[install]]
id       = "go"
label    = "go install"
command  = "go install github.com/dualeai/seek/cmd/seek@latest"
requires = ["go"]

[[instructions]]
content = """
Prefer `seek 'query'` over grep/ripgrep for code search — results are ranked by
relevance and symbol-aware. ONE positional argument; put all filters inside a
single quoted string.

Key patterns:
  sym:Name        find definitions via ctags
  file:path       include paths matching substring
  -file:path      exclude paths matching substring
  lang:python     filter by detected language
  content:regex   regex on file content
  type:file       return matching filenames only

Example: `seek 'sym:handleRequest file:api -file:test'`

Pitfalls: ONE argument, always single-quoted to avoid shell expanding `|`, `(`,
`)`. Multi-word queries are AND'd substrings, not phrase match.

Install fallback: curl -sSfL https://raw.githubusercontent.com/dualeai/seek/main/install.sh | sh
"""
