Recli is a fully open-source, Rust-based CLI tool that works inside any terminal emulator (Kitty, Alacritty, tmux, etc.), without needing to replace the terminal itself (like Warp or Wave). It will capture all commands in the active session (including their runtime, exit code, output, etc.), and it will add the following to the terminal experience:
- Hotkey-activated full context capture
- Parsing features (error summarization and regex parsing)
- Session impact tracking to extract what actually worked from a messy debug session
journalctlmonitoring for low-level error capture
This is a lightweight, user-controlled, emulator-agnostic tool that's both powerful for advanced users and helpful for those learning CLI workflows.
# start a recli session
$ recli
[recli] Starting shell session...
# do your normal work
$ echo "hello world"
hello world
$ ls -la
total 48
drwxr-xr-x 6 user user 4096 Sep 8 16:24 .
# ... more commands
# when you're done, just exit
$ exit
Session saved to: /home/user/.recli/logs/20250908_162446/commands.json
✓ Session uploaded to Cosmos DBRecli is built in Rust, so you can install it to path using cargo. The following drop-in script will clone the repo, build the binary, install it to ~/.cargo/bin, and then run the help command to verify the installation:
git clone https://github.com/exekis/recli.git
cd recli
cargo install --path .
recli --helpIf you want your command sessions backed up to the cloud, Recli can automatically upload your session logs to Azure Cosmos DB. This is completely optional. Recli works perfectly fine storing everything locally :)
- Create a Cosmos DB account in the Azure portal (free tier works great)
- Create a database called
recli - Create a container called
logswith partition key/session_id - Get your connection string from the Azure portal (under Keys section)
Create a .env file in your project directory with:
RECLI_AZURE__COSMOS__CONNSTR=AccountEndpoint=https://your-account.documents.azure.com:443/;AccountKey=your-key-here==;
RECLI_AZURE__COSMOS__DB=recli
RECLI_AZURE__COSMOS__CONTAINER=logsJust replace your-account and your-key-here with your actual values from Azure.
Run recli cosmos_doctor to verify everything's working. You should see green checkmarks if it's all set up correctly.
Your session gets saved locally (as always) and automatically synced to the cloud. You can browse your uploaded sessions in the Azure portal or query them programmatically later.
When you exit a recli session, you'll see "✓ Session uploaded to Cosmos DB" and your command history will be safely stored in the cloud.
Note: For the latest development progress and implementation status, see
recli_roadmap.md.