| name | lx |
| description | Codebase exploration tool that reads many files or whole directories in a single call, with per-file headers, glob include/exclude filters, function/type skeleton extraction (signatures only, no bodies), and head/tail line slicing. |
lx for exploration
lx -u -Y pkg/
lx -i '*.go' -e '*_test.go' src/
lx -n 30 src/
lx -n 0 src/
lx --tail 200 app.log
lx -l src/foo.go
lx -u -Y -i '*.{ts,tsx}' -e 'node_modules/' web/
Skeletons (-u functions, -Y types) cover 19 languages (Go, Python,
TypeScript, Java, Rust, C/C++, …); other file types pass through unchanged.
Find the declaration you care about, then Read its body.
-i/-e are repeatable and additive; excludes win on conflict. Patterns
match basenames and full paths; a trailing slash matches directories, so
-e 'vendor/' -e 'node_modules/' drops whole subtrees.
Each path becomes its own output section, and interleaved flags (-n,
--head, --tail, -l, -i, -e, -u, -Y, …) reset between sections —
put shared flags before the first path.
Other capabilities
lx github.com/owner/repo
git ls-files '*.go' | lx -u -Y -
lx -D docs/
lx -Z -i '*.go' archive.zip
lx --stats -u -Y src/ > /dev/null
For anything not covered here, lx --help is the source of truth.