read = [
"od", "xxd", "hexdump", "hd", "strings", "tac", "nl", "rev", "fold", "fmt",
"expand", "unexpand", "colrm", "pr", "col", "column",
"less", "more", "most", "bat", "cat",
"cut", "paste", "join", "comm", "sort", "uniq", "tsort", "ptx", "shuf", "numsum", "datamash",
"iconv", "recode", "pv", "pandoc", "xmllint", "xmlstarlet",
"xsv", "qsv", "mlr", "csvtool", "jaq", "gojq", "pup", "yj",
"diff", "diff3", "sdiff", "colordiff", "delta", "difft", "cmp",
"base64", "base32", "basenc", "jq", "yq", "xq", "tomlq", "dasel", "gron", "htmlq", "fx", "jless",
"openssl",
"md5", "md5sum", "sha1sum", "sha224sum", "sha256sum", "sha384sum", "sha512sum",
"shasum", "cksum", "sum", "b2sum", "b3sum", "xxhsum", "rhash",
"zcat", "gzcat", "bzcat", "xzcat", "lzcat", "zstdcat", "zless", "bzless", "xzless", "zmore",
]
read_after_first = ["rg", "ag", "ack", "ugrep", "sift", "pt"]
write = [
"tee", "shred", "sponge", "truncate",
"mkfifo", "gmkfifo", "mknod", "gmknod", "unlink", "gunlink", "gtruncate",
"bzip2", "xz", "lzma", "zstd", "lz4", "brotli", "compress", "zip",
"pigz", "unpigz", "pbzip2", "plzip", "lzip", "optipng", "jpegoptim",
"sox",
"7z", "7za", "7zr", "cpio", "unzip",
"aria2c", "http", "https", "xh", "httpie",
]
[roles.curl]
positional = "read"
flags = { "-o" = "write", "--output" = "write", "--output-dir" = "write" }
[roles.wget]
positional = "ignore"
flags = { "-o" = "write", "-O" = "write", "--output-document" = "write", "-P" = "write", "--directory-prefix" = "write", "--save-cookies" = "write", "--warc-file" = "write", "--warc-tempdir" = "write", "--post-file" = "read", "-i" = "read", "--input-file" = "read" }
[roles.scp]
positional = "read"
shape = "remote"
flags = { "-i" = "ignore", "-F" = "ignore", "-o" = "ignore", "-J" = "ignore", "-S" = "ignore" }
[roles.sftp]
positional = "read"
shape = "remote"
flags = { "-i" = "ignore", "-F" = "ignore", "-o" = "ignore", "-J" = "ignore", "-S" = "ignore", "-b" = "read" }
[roles.rsync]
positional = "read"
shape = "remote"
flags = { "-e" = "ignore", "--rsh" = "ignore" }
[roles.magick]
positional = "ignore"
shape = "last_write"
[roles.convert]
positional = "ignore"
shape = "last_write"
[roles.ffmpeg]
positional = "ignore"
shape = "last_write"
[roles.pdftotext]
positional = "ignore"
shape = "last_write"
[roles.pdftocairo]
positional = "ignore"
shape = "last_write"
[roles.pdftoppm]
positional = "ignore"
shape = "last_write"
[roles.pdfimages]
positional = "ignore"
shape = "last_write"
[roles.pdfseparate]
positional = "ignore"
shape = "last_write"
[roles.qpdf]
positional = "ignore"
shape = "last_write"
[roles.pdftk]
positional = "ignore"
shape = "last_write"
[roles.cwebp]
positional = "ignore"
flags = { "-o" = "write", "--output" = "write" }
[roles.mutool]
positional = "ignore"
flags = { "-o" = "write", "-O" = "write" }
[roles.ssh-keygen]
positional = "ignore"
flags = { "-f" = "write" }
[roles.age]
positional = "ignore"
flags = { "-o" = "write", "--output" = "write", "-i" = "ignore", "--identity" = "ignore" }
[roles.pl]
positional = "ignore"
flags = { "--input" = "read", "--output" = "write" }
[roles.csplit]
positional = "read"
shape = "first_only"
flags = { "-f" = "write", "--prefix" = "write" }
[roles."aclocal"]
flags = { "--output" = "write" }
[roles."afconvert"]
flags = { "-o" = "write" }
[roles."ameba"]
flags = { "--out" = "write" }
[roles."applesingle"]
flags = { "--directory" = "write", "--rename" = "write", "-C" = "write", "-o" = "write" }
[roles."autoconf"]
flags = { "--output" = "write", "-o" = "write" }
[roles."autom4te"]
flags = { "--output" = "write", "-o" = "write" }
[roles."automake"]
flags = { "-o" = "write" }
[roles."avbcapture"]
flags = { "--output" = "write", "-o" = "write" }
[roles."avconvert"]
flags = { "--output" = "write", "-o" = "write" }
[roles."b64decode"]
flags = { "-o" = "write" }
[roles."b64encode"]
flags = { "-o" = "write" }
[roles."bandit"]
flags = { "--output" = "write", "-o" = "write" }
[roles."binhex"]
flags = { "--directory" = "write", "--rename" = "write", "-C" = "write", "-o" = "write" }
[roles."binhex.pl"]
flags = { "-o" = "write" }
[roles."bintrans"]
flags = { "-o" = "write" }
[roles."bison"]
flags = { "--file-prefix" = "write", "--output" = "write", "--output-file" = "write", "-b" = "write", "-o" = "write" }
[roles."bitcode_strip"]
flags = { "-o" = "write" }
[roles."brakeman"]
flags = { "--output" = "write", "-o" = "write" }
[roles."bsqldb"]
flags = { "-e" = "write", "-i" = "read", "-o" = "write" }
[roles."bsqlodbc"]
flags = { "-o" = "write" }
[roles."byacc"]
flags = { "-H" = "write", "-b" = "write", "-o" = "write" }
[roles."cloc"]
flags = { "--out" = "write", "--report-file" = "write", "--sql" = "write", "--write-lang-def" = "write" }
[roles."codesign_allocate"]
flags = { "-i" = "read", "-o" = "write" }
[roles."compression_tool"]
flags = { "-i" = "read", "-o" = "write" }
[roles."coqc"]
flags = { "-o" = "write" }
[roles."ctf_insert"]
flags = { "-o" = "write" }
[roles."cucumber"]
flags = { "--out" = "write", "-o" = "write" }
[roles."debinhex.pl"]
flags = { "-o" = "write" }
[roles."defncopy"]
flags = { "-i" = "read", "-o" = "write" }
[roles."deptry"]
flags = { "--json-output" = "write", "-o" = "write" }
[roles."dotnet-symbol"]
flags = { "--output" = "write", "-o" = "write" }
[roles."dsymutil"]
flags = { "--out" = "write", "-o" = "write" }
[roles."dwarfdump"]
flags = { "-o" = "write" }
[roles."dwebp"]
flags = { "-o" = "write" }
[roles."ecpg"]
flags = { "-o" = "write" }
[roles."eleventy"]
flags = { "--output" = "write" }
[roles."eslint"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."eyapp"]
flags = { "-o" = "write" }
[roles."fantomas"]
flags = { "--out" = "write" }
[roles."fax2ps"]
flags = { "-o" = "write" }
[roles."fax2tiff"]
flags = { "-o" = "write" }
[roles."flex"]
flags = { "--header-file" = "write", "--outfile" = "write", "--skel" = "read", "--tables-file" = "write", "-S" = "read", "-o" = "write" }
[roles."frames"]
flags = { "--assets" = "read", "--output" = "write", "--subfolder" = "write", "-o" = "write" }
[roles."gcore"]
flags = { "-c" = "write", "-o" = "write" }
[roles."gen_bridge_metadata"]
flags = { "--exception" = "read", "--framework" = "read", "--output" = "write", "-e" = "read", "-f" = "read", "-o" = "write" }
[roles."genstrings"]
flags = { "-o" = "write" }
[roles."gif2webp"]
flags = { "-o" = "write" }
[roles."gifsicle"]
flags = { "--output" = "write", "--use-colormap" = "read", "-o" = "write" }
[roles."gosec"]
flags = { "--out" = "write", "-out" = "write" }
[roles."grype"]
flags = { "--file" = "write", "--output" = "write", "-o" = "write" }
[roles."headerdoc2html"]
flags = { "-o" = "write" }
[roles."heif-dec"]
flags = { "--output" = "write", "-o" = "write" }
[roles."heif-enc"]
flags = { "--output" = "write", "-o" = "write" }
[roles."hurl"]
flags = { "--output" = "write", "-o" = "write" }
[roles."ibtool"]
flags = { "--write" = "write" }
[roles."img2webp"]
flags = { "-o" = "write" }
[roles."iperf3"]
flags = { "-o" = "write" }
[roles."jasper"]
flags = { "--output" = "write", "-F" = "write" }
[roles."jbig2dec"]
flags = { "--output" = "write", "-o" = "write" }
[roles."jpgicc"]
shape = "last_write"
flags = { "-o" = "read" }
[roles."jupyter-nbconvert"]
flags = { "--output" = "write" }
[roles."jupytext"]
flags = { "--output" = "write", "-o" = "write" }
[roles."layerutil"]
flags = { "--output" = "write", "-o" = "write" }
[roles."ld"]
flags = { "-o" = "write" }
[roles."lesskey"]
flags = { "--output" = "write", "-o" = "write" }
[roles."libtool"]
flags = { "-filelist" = "read", "-o" = "write" }
[roles."license-checker"]
flags = { "--files" = "write", "--out" = "write" }
[roles."linkicc"]
flags = { "-o" = "write" }
[roles."lockstat"]
flags = { "-o" = "write" }
[roles."macbinary"]
flags = { "--directory" = "write", "--rename" = "write", "-C" = "write", "-o" = "write" }
[roles."markdownlint"]
flags = { "--output" = "write", "-o" = "write" }
[roles."marp"]
flags = { "--output" = "write", "-o" = "write" }
[roles."mongodump"]
flags = { "--archive" = "write", "--out" = "write", "-o" = "write" }
[roles."mongoexport"]
flags = { "--out" = "write", "-o" = "write" }
[roles."msgattrib"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msgcat"]
flags = { "-o" = "write" }
[roles."msgcomm"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msgconv"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msgen"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msgfmt"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msggrep"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msginit"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msgmerge"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msgunfmt"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."msguniq"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."nano"]
flags = { "--backupdir" = "write", "--operatingdir" = "write", "-C" = "write", "-o" = "write" }
[roles."nmedit"]
flags = { "-o" = "write" }
[roles."ocamlformat"]
flags = { "--output" = "write", "-o" = "write" }
[roles."opj_compress"]
flags = { "-o" = "write" }
[roles."opj_decompress"]
flags = { "-o" = "write" }
[roles."opj_dump"]
flags = { "-o" = "write" }
[roles."pdfdetach"]
flags = { "-o" = "write" }
[roles."pdfjam"]
flags = { "--builddir" = "write", "--outfile" = "write", "-o" = "write" }
[roles."pg_combinebackup"]
flags = { "--output" = "write", "--tablespace-mapping" = "write", "-T" = "write", "-o" = "write" }
[roles."pip-audit"]
flags = { "--output" = "write", "-o" = "write" }
[roles."pngquant"]
flags = { "--output" = "write", "-o" = "write" }
[roles."pp"]
flags = { "--output" = "write", "-o" = "write" }
[roles."psicc"]
flags = { "-o" = "read" }
[roles."qlmanage"]
flags = { "-o" = "write" }
[roles."racc"]
flags = { "--log-file" = "write", "--output-file" = "write", "-O" = "write", "-o" = "write" }
[roles."raw2tiff"]
flags = { "-o" = "write" }
[roles."rdoc"]
flags = { "--op" = "write", "-o" = "write" }
[roles."re2c"]
flags = { "--depfile" = "write", "--header" = "write", "--include" = "read", "--output" = "write", "--type-header" = "write", "-I" = "read", "-o" = "write", "-t" = "write" }
[roles."rex"]
flags = { "--output-file" = "write", "-o" = "write" }
[roles."rollup"]
flags = { "--dir" = "write", "--file" = "write", "--sourcemapFile" = "write", "-d" = "write", "-o" = "write" }
[roles."rspec"]
flags = { "--deprecation-out" = "write", "--out" = "write", "-o" = "write" }
[roles."rubocop"]
flags = { "--out" = "write", "-o" = "write" }
[roles."say"]
flags = { "-o" = "write" }
[roles."sdp"]
flags = { "-i" = "read", "-o" = "write" }
[roles."solc"]
flags = { "-o" = "write" }
[roles."sops"]
flags = { "--output" = "write" }
[roles."spindump"]
flags = { "-i" = "read", "-microstackshots_datastore" = "write", "-microstackshots_dsc_path" = "read", "-o" = "write" }
[roles."stackprof"]
flags = { "--out" = "write" }
[roles."standardrb"]
flags = { "--out" = "write", "-o" = "write" }
[roles."strip"]
flags = { "-o" = "write" }
[roles."stylelint"]
flags = { "-o" = "write" }
[roles."terraform-docs"]
flags = { "--output" = "write", "--output-file" = "write" }
[roles."tfsec"]
flags = { "--out" = "write", "-O" = "write" }
[roles."tidy"]
flags = { "-f" = "write", "-file" = "write", "-o" = "write", "-output" = "write" }
[roles."tiff2pdf"]
flags = { "-o" = "write" }
[roles."tiff2ps"]
flags = { "-O" = "write" }
[roles."tificc"]
shape = "last_write"
flags = { "-o" = "read" }
[roles."transicc"]
flags = { "-o" = "read" }
[roles."typedoc"]
flags = { "--out" = "write" }
[roles."typeprof"]
flags = { "-o" = "write" }
[roles."uconv"]
flags = { "--output" = "write", "-o" = "write" }
[roles."unbrotli"]
flags = { "--output" = "write", "-o" = "write" }
[roles."unifdef"]
flags = { "-o" = "write" }
[roles."usdcat"]
flags = { "--out" = "write", "-o" = "write" }
[roles."usdchecker"]
flags = { "--out" = "write", "-o" = "write" }
[roles."usdcrush"]
flags = { "--out" = "write", "-o" = "write" }
[roles."usdextract"]
flags = { "--out" = "write", "-o" = "write" }
[roles."uudecode"]
flags = { "-o" = "write" }
[roles."uuencode"]
flags = { "-o" = "write" }
[roles."wasm2wat"]
flags = { "--output" = "write", "-o" = "write" }
[roles."wat2wasm"]
flags = { "--output" = "write", "-o" = "write" }
[roles."webpmux"]
flags = { "-o" = "write" }
[roles."xgettext"]
flags = { "--output" = "write", "-o" = "write" }
[roles."xgettext.pl"]
flags = { "--output" = "write", "-o" = "write" }
[roles."xsltproc"]
flags = { "--output" = "write", "-o" = "write" }
[roles."yacc"]
flags = { "-H" = "write", "-b" = "write", "-o" = "write" }
[roles."yapp"]
flags = { "-o" = "write" }
[roles."yt-dlp"]
flags = { "--output" = "write", "-o" = "write" }
[roles."ytt"]
flags = { "--dangerous-emptied-output-directory" = "write", "--output-directory" = "write", "--output-files" = "write", "--output-multi-files" = "write" }
[roles."djpeg"]
flags = { "-o" = "write" }
[roles."swc"]
flags = { "-o" = "write", "--out-dir" = "write" }
[roles."syft"]
flags = { "-o" = "write", "--output" = "write" }
[roles."vyper"]
flags = { "-o" = "write" }
[roles."shfmt"]
flags = { "-w" = "write", "--write" = "write" }
[roles."weasyprint"]
shape = "last_write"
[roles."tiffcp"]
shape = "last_write"
[roles."gs"]
flags = { "-o" = "write" }
[roles."mkdocs"]
flags = { "-d" = "write", "--site-dir" = "write" }
[roles."pdfunite"]
shape = "last_write"
[roles."ps2pdf"]
shape = "last_write"
[roles."pdf2ps"]
shape = "last_write"
[roles."pdftops"]
shape = "last_write"
[roles."sphinx-build"]
shape = "last_write"
[roles."pdfcrop"]
shape = "last_write"
[roles."lame"]
shape = "last_write"
[roles."cargo"]
flags = { "--target-dir" = "write", "--out-dir" = "write" }
[roles."webpack"]
flags = { "-o" = "write", "--output-path" = "write" }
[roles."vite"]
flags = { "--outDir" = "write" }
[roles."esbuild"]
flags = { "--outdir" = "write", "--outfile" = "write" }
[roles."tsup"]
flags = { "--out-dir" = "write", "-d" = "write" }
[roles."cjxl"]
shape = "last_write"
[roles."dvipdf"]
shape = "last_write"
[roles."eps2eps"]
shape = "last_write"
[roles."pdf2dsc"]
shape = "last_write"
[roles."pfbtopfa"]
shape = "last_write"
[roles."ps2epsi"]
shape = "last_write"
[roles."ps2pdf12"]
shape = "last_write"
[roles."ps2pdf13"]
shape = "last_write"
[roles."ps2pdf14"]
shape = "last_write"
[roles."ps2pdfwr"]
shape = "last_write"
[roles."ps2ps"]
shape = "last_write"
[roles."pal2rgb"]
shape = "last_write"
[roles."ppm2tiff"]
shape = "last_write"
[roles."rgb2ycbcr"]
shape = "last_write"
[roles."thumbnail"]
shape = "last_write"
[roles."tiff2bw"]
shape = "last_write"
[roles."tiff2icns"]
shape = "last_write"
[roles."tiff2rgba"]
shape = "last_write"
[roles."tiffcrop"]
shape = "last_write"
[roles."tiffdither"]
shape = "last_write"
[roles."tiffmedian"]
shape = "last_write"
[roles."heif-thumbnailer"]
shape = "last_write"
[roles."wkhtmltopdf"]
shape = "last_write"
[roles."usdrecord"]
shape = "last_write"
[roles."gdbm_dump"]
shape = "last_write"
[roles."gdbm_load"]
shape = "last_write"
[roles."pkgbuild"]
shape = "last_write"
[roles."productbuild"]
shape = "last_write"
[roles."llvm-objcopy"]
shape = "last_write"
[roles."llvm-strip"]
shape = "last_write"
[roles."wasm-strip"]
shape = "last_write"
[roles."install_name_tool"]
shape = "last_write"
[roles."indent"]
shape = "last_write"
[roles."resolveLinks"]
shape = "last_write"
[roles."PlistBuddy"]
shape = "last_write"
[roles."initdb"]
shape = "last_write"
[roles."gatherheaderdoc"]
shape = "last_write"
[roles."nbstripout"]
positional = "write"
[roles."afscexpand"]
positional = "write"
[roles."ar"]
handler = "ar_archive"
[roles."emar"]
handler = "ar_archive"
[roles."llvm-ar"]
handler = "ar_archive"
[roles."textutil"]
handler = "textutil_mode"
[roles."cap_mkdb"]
positional = "write"
[roles."znew"]
positional = "write"
[roles."pl2pm"]
positional = "write"
[roles."create-next-app"]
positional = "write"
[roles."create-react-app"]
positional = "write"
[roles."create-vite"]
positional = "write"
[roles."degit"]
shape = "last_write"
[roles."djxl"]
shape = "last_write"