id = "fasd"
name = "Fasd"
homepage = "https://github.com/clvv/fasd"
description = "Fasd offers quick access to files and directories for POSIX shells."
executables = ["fasd"]
[dotfiles]
paths = ["~/.fasdrc"]
exclude = ["~/.fasd"]
secret = []
side_effect = false
[commands]
format = 1
label = "Find recent files and directories"
description = "Query fasd's frecency database and list or interactively pick matches. Adding/deleting entries (-A, -D), backends and completion are left out."
quality = "ai-draft"
parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true }
[[commands.source]]
id = "readme"
kind = "manual"
url = "https://raw.githubusercontent.com/clvv/fasd/HEAD/README.md"
revision = "HEAD 2026-10-27"
evidence = """
fasd [options] [query ...]
-s list paths with scores
-l list paths without scores
-i interactive mode
-e <cmd> set command to execute on the result file
-a match files and directories
-d match directories only
-f match files only
-r match by rank only
-t match by recent access only
-R reverse listing order
"""
[[commands.field]]
id = "scores"
label = "Show scores"
type = "boolean"
option = ["-s"]
sources = ["readme"]
[[commands.field]]
id = "list"
label = "List without scores"
type = "boolean"
option = ["-l"]
sources = ["readme"]
[[commands.field]]
id = "interactive"
label = "Interactive"
type = "boolean"
option = ["-i"]
sources = ["readme"]
[[commands.field]]
id = "exec"
label = "Run command on result"
description = "Command executed on the best matching path."
type = "string"
option = ["-e"]
effect = "exec"
sources = ["readme"]
[[commands.field]]
id = "dirs"
label = "Directories only"
type = "boolean"
option = ["-d"]
sources = ["readme"]
[[commands.field]]
id = "files"
label = "Files only"
type = "boolean"
option = ["-f"]
sources = ["readme"]
[[commands.field]]
id = "both"
label = "Files and directories"
type = "boolean"
option = ["-a"]
sources = ["readme"]
[[commands.field]]
id = "rank"
label = "By rank only"
type = "boolean"
option = ["-r"]
sources = ["readme"]
[[commands.field]]
id = "recent"
label = "By recent access only"
type = "boolean"
option = ["-t"]
sources = ["readme"]
[[commands.field]]
id = "reverse"
label = "Reverse order"
type = "boolean"
option = ["-R"]
sources = ["readme"]
[[commands.field]]
id = "query"
label = "Query"
type = "string"
position = 0
multiple = true
sources = ["readme"]
[[commands.task]]
id = "list-dirs"
label = "List matching directories with scores"
set = { scores = [true], dirs = [true] }
fields = ["scores", "dirs", "rank", "recent", "reverse", "query"]
required = []
[[commands.group]]
id = "basic"
label = "Basic"
fields = ["query", "dirs", "files", "both", "scores", "list", "interactive"]
[[commands.group]]
id = "advanced"
label = "Advanced"
fields = ["exec", "rank", "recent", "reverse"]