TLNR (Too Long; No Need To Read) - Real-time terminal command education for Zsh
Project description
tlnr
too long; no need to read — Real-time terminal command education
tlnr (pronounced "tee-el-en-are") gives you instant command explanations as you type — no context switching, no waiting, no interruptions.
Why tlnr?
The name says it all: "too long; no need to read" → tlnntr → tlnr (the 'nt' is silent, like in "knight")
- tldr: "too long; didn't read" — you already stopped to look it up
- tlnr: "too long; no need to read" — you never stopped typing
What Makes tlnr Different?
| Feature | tlnr | tldr | cheat.sh | man pages | explainshell |
|---|---|---|---|---|---|
| Real-time | ✅ As you type | ❌ Lookup | ❌ Lookup | ❌ Lookup | ❌ Lookup |
| Speed | 0.24ms avg | N/A | >100ms | >50ms | >500ms |
| Context switching | ✅ Zero | ❌ Yes | ❌ Yes | ❌ Yes | ❌ Browser |
| Installation | pip install tlnr |
pip install tldr |
curl |
Built-in | Web only |
| Coverage | 32,000+ commands | 1,000+ | 1,000+ | System-dependent | Limited |
The difference: Every other tool makes you stop typing. tlnr doesn't.
Installation
🐳 Try It Now (Docker - No Install Required)
Fastest way to try tlnr — works on any platform:
docker run -it --rm jatinmayekar/tlnr
You'll drop into a Zsh shell with tlnr pre-installed. Just start typing!
Quick Start (Recommended)
# Install with pip
pip install tlnr
# Install shell integration (Zsh required for real-time)
tlnr install
# Restart shell
exec zsh
Alternative Methods
# Using pipx (isolated environment)
pipx install tlnr
# From source
git clone https://github.com/yourusername/tlnr.git
cd tlnr
pip install -e .
Usage
Once installed, just start typing. tlnr shows explanations automatically:
$ git sta█
🟢 SAFE git status - Show the working tree status
Manual Commands
# Get command explanation
tlnr predict "git status"
# Natural language search
tlnr ask "how to list files"
# Debug with performance metrics
tlnr debug "docker"
# Control real-time predictions
tlnr enable # Turn on
tlnr disable # Turn off
tlnr status # Check current state
Features
⚡ Real-Time Predictions (Zsh)
- Keystroke-by-keystroke command education
- 0.24ms average response time (20,931 ops/sec)
- Zero latency — never notice it's running
🧠 Intelligent Fuzzy Matching
- State-of-the-art algorithm with exponential position decay
- Context-aware recommendations
- FZF-inspired smart scoring
🛡️ Safety First
- 🟢 SAFE / 🟡 CAUTION / 🔴 DANGEROUS risk levels
- Warns before destructive commands
- Explains what commands actually do
🗣️ Natural Language Search
$ tlnr ask "how to find large files"
find - 🟢 SAFE - Search for files in a directory hierarchy
📊 32,000+ Commands
- Git, Docker, Kubernetes, AWS, system utilities
- Updated from tldr-pages community database
- Add custom commands via
~/.tlnr_custom_commands.json
Performance
Unit Tests: 40/40 PASSED ✅
Edge Case Tests: ALL PASSED ✅
Average Response: 0.24ms
Throughput: 20,931 ops/sec
Architecture
tlnr achieves sub-millisecond performance through:
- Daemon Mode: Eliminates Python startup overhead (~50ms → ~0.2ms)
- Unix Socket IPC: Fast local communication
- Trie-Based Search: O(k) lookups where k = command length
- Zero External Deps: No API calls, no network latency
Platform Support
| Platform | Real-Time | Manual Commands |
|---|---|---|
| macOS (Zsh) | ✅ Full support | ✅ |
| Linux (Zsh) | ✅ Full support | ✅ |
| Other shells (Bash/Fish) | ⚠️ Manual only | ✅ |
Note: Windows/WSL2 support is planned but not yet tested.
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Good First Issues:
- Add new command descriptions
- Improve fuzzy matching algorithm
- Port to other shells (Fish, Bash)
- Performance optimizations
License
AGPL-3.0 — Free for personal and open-source use.
For commercial/enterprise use, the AGPL requires you to open-source any modifications. If you need a different license, please contact me.
Why AGPL?
I'm on an H-1B visa and can't start a company or raise VC funding. Open source is my only path to building reputation and career leverage. The AGPL ensures:
- Individuals can use tlnr freely
- Open-source projects can integrate without restriction
- Companies who want to use it internally must either:
- Open-source their modifications (strengthens the project)
- Contact me for dual licensing (creates career opportunities)
This isn't about making money — it's about building undeniable proof of product + technical skill to unlock opportunities at OpenAI, Anthropic, Google, or Meta.
Built by Jatin Mayekar | GitHub | Email
⭐ Star on GitHub if tlnr saves you time!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tlnr-0.1.69.tar.gz.
File metadata
- Download URL: tlnr-0.1.69.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f38beeca044ddb7d7ade56ad1599b10a1a92cd379587288385594f29694ac81a
|
|
| MD5 |
eaa0a125076c91252360aca8fc0e7812
|
|
| BLAKE2b-256 |
bb2666e2971dd38aef0b305e185002bde036c78fcd61540bee42a21cb0695768
|
File details
Details for the file tlnr-0.1.69-py3-none-any.whl.
File metadata
- Download URL: tlnr-0.1.69-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7dcaa6e3617cb880d1b7f870d9212ed757b0aef2a72728e4d102061b2053d176
|
|
| MD5 |
16c6fa2d490b447b874ce6f16f87e590
|
|
| BLAKE2b-256 |
1840d948a08646d43086ff939347bc6e95a9a34d1a9954b46044fa769ac8ee03
|