tlm is your CLI companion which requires nothing except your workstation. It uses most efficient and powerful open-source models like Llama 3.3, Phi4, DeepSeek-R1, Qwen of your choice in your local environment to provide you the best possible command line assistance.
Get a suggestion | Explain a command |
---|---|
![]() |
![]() |
Ask with context (One-liner RAG) | Configure your favorite model |
---|---|
![]() |
![]() |
-
πΈ No API Key (Subscription) is required. (ChatGPT, Claude, Github Copilot, Azure OpenAI, etc.)
-
π‘ No internet connection is required.
-
π» Works on macOS, Linux and Windows.
-
π©π»βπ» Automatic shell detection. (Powershell, Bash, Zsh)
-
π One liner generation and command explanation.
-
πΊ No-brainer RAG (Retrieval Augmented Generation)
-
π§ Experiment any model. (Llama3, Phi4, DeepSeek-R1, Qwen) with parameters of your choice.
Installation can be done in two ways;
- Installation script (recommended)
- Go Install
Installation script is the recommended way to install tlm. It will recognize the which platform and architecture to download and will execute install command for you.
Download and execute the installation script by using the following command;
curl -fsSL https://raw.githubusercontent.com/yusufcanb/tlm/1.2/install.sh | sudo -E bash
Download and execute the installation script by using the following command;
Invoke-RestMethod -Uri https://raw.githubusercontent.com/yusufcanb/tlm/1.2/install.ps1 | Invoke-Expression
If you have Go 1.22 or higher installed on your system, you can easily use the following command to install tlm;
go install github.com/yusufcanb/tlm@1.2
You're ready! Check installation by using the following command;
tlm
$ tlm
NAME:
tlm - terminal copilot, powered by open-source models.
USAGE:
tlm suggest "<prompt>"
tlm s --model=qwen2.5-coder:1.5b --style=stable "<prompt>"
tlm explain "<command>" # explain a command
tlm e --model=llama3.2:1b --style=balanced "<command>" # explain a command with a overrided model
tlm ask "<prompt>" # ask a question
tlm ask --context . --include *.md "<prompt>" # ask a question with a context
VERSION:
1.2
COMMANDS:
ask, a Asks a question (beta)
suggest, s Suggests a command.
explain, e Explains a command.
config, c Configures language model, style and shell
version, v Prints tlm version.
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--version, -v print the version
Ask a question with context. Here is an example question with a context of this repositories Go files under ask package.
$ tlm ask --help
NAME:
tlm ask - Asks a question (beta)
USAGE:
tlm ask "<prompt>" # ask a question
tlm ask --context . --include *.md "<prompt>" # ask a question with a context
OPTIONS:
--context value, -c value context directory path
--include value, -i value [ --include value, -i value ] include patterns. e.g. --include=*.txt or --include=*.txt,*.md
--exclude value, -e value [ --exclude value, -e value ] exclude patterns. e.g. --exclude=**/*_test.go or --exclude=*.pyc,*.pyd
--interactive, --it enable interactive chat mode (default: false)
--model value, -m value override the model for command suggestion. (default: qwen2 5-coder:3b)
--help, -h show help
$ tlm suggest --help
NAME:
tlm suggest - Suggests a command.
USAGE:
tlm suggest <prompt>
tlm suggest --model=llama3.2:1b <prompt>
tlm suggest --model=llama3.2:1b --style=<stable|balanced|creative> <prompt>
DESCRIPTION:
suggests a command for given prompt.
COMMANDS:
help, h Shows a list of commands or help for one command
OPTIONS:
--model value, -m value override the model for command suggestion. (default: qwen2.5-coder:3b)
--style value, -s value override the style for command suggestion. (default: balanced)
--help, -h show help
$ tlm explain --help
NAME:
tlm explain - Explains a command.
USAGE:
tlm explain <command>
tlm explain --model=llama3.2:1b <command>
tlm explain --model=llama3.2:1b --style=<stable|balanced|creative> <command>
DESCRIPTION:
explains given shell command.
COMMANDS:
help, h Shows a list of commands or help for one command
OPTIONS:
--model value, -m value override the model for command suggestion. (default: qwen2.5-coder:3b)
--style value, -s value override the style for command suggestion. (default: balanced)
--help, -h show help
On Linux and macOS;
rm /usr/local/bin/tlm
rm ~/.tlm.yml
On Windows;
Remove-Item -Recurse -Force "C:\Users\$env:USERNAME\AppData\Local\Programs\tlm"
Remove-Item -Force "$HOME\.tlm.yml"