Loading repository data…
Loading repository data…
antoniorodr / repository
Lexy is a lightweight CLI tool that fetches programming tutorials from "Learn X in Y Minutes" directly into your terminal. Quickly search, learn, and reference code examples without leaving your workflow.
lexy[!caution] Status: Under development
Lexy is a lightweight Python CLI that brings tutorials from Learn X in Y Minutes straight into your terminal. It is designed for quick lookup, learning, and reference without breaking your workflow.
Lexy keeps a local cache of the documentation so you can browse content offline, preview it with syntax highlighting through bat, and search available languages with fzf.
Full documentation is available at antoniorodr.github.io/lexy.
[!tip] If you use Neovim, check out the lexy.nvim plugin
batfzflexy updatelexy modifiedfzf layout and colors through config.tomlThe project is built with:
Before starting, make sure the required tools and dependencies are installed on your machine:
python3.13 --version
fzf --version
bat --version
Lexy requires Python 3.13 or newer, plus fzf for searching and bat for syntax-highlighted previews.
On some Linux distributions, installing bat with apt provides the executable as batcat instead of bat. In that case, follow the official bat instructions to create the required symlink, since a shell alias is not visible to the Python subprocess Lexy uses.
git clone https://github.com/antoniorodr/lexy
cd lexy
pip install .
brew tap antoniorodr/lexy
brew install antoniorodr/lexy/lexy
uv tool install git+https://github.com/antoniorodr/lexy
yay -S lexy
Once installed, try the core commands:
lexy list
lexy python
lexy update
lexy modified
Use lexy list to browse available languages, pass a language name like lexy python to open a tutorial, use lexy update to refresh the local cache, and lexy modified to check when the cache was last updated.
Lexy stores its local documentation cache and configuration in $HOME/.config/lexy. The cache is created automatically on first run and refreshed automatically every 60 days.
If you want to customize the fzf interface, create a config.toml file in the Lexy config directory and override only the values you want to change.
For full usage details and theming examples, see the documentation site.
If you find the project useful, you can support the author here: