reTermAI
July 6, 2025 ยท View on GitHub
___ ___ _____ ___ ___ __ __ __ _
| _ \ | __| |_ _| | __| | _ \ | V | / \ | |
| v / | _| | | | _| | v / | \_/ | | /\ | | |
|_|_\ |___| |_| |___| |_|_\ |_| |_| |_||_| |_|
[reTermAI] Smart command assistant for your terminal ๐ง ๐ป
๐ Project Website
Looking for a better overview or prettier version of this README?
๐ Check out the reTermAI landing page:
https://pie0902.github.io/reterm-site
reTermAI
๐ก A terminal command recommender powered by AI and your own shell history.
Demo GIF
โจ Features
- ๐ Recommends relevant terminal commands based on your past history using OpenAI or Gemini
- ๐ง Supports intelligent matching by keyword or partial input
- โก Easy to install via pip
- ๐ Supports
zshandbashshell history - ๐ API keys managed via
.env
๐ฆ Installation
pip install reterm-ai
Or, for local development:
git clone https://github.com/pie0902/reTermAI.git
cd reTermAI
pip install -e .
โ๏ธ Usage
๐ฎ AI-powered command suggestions:
reterm suggest
Options:
| Option | Description |
|---|---|
--history-limit, -hl | Number of recent commands to read (default: 300) |
--context-limit, -cl | How many commands to feed into the LLM (default: 20) |
--provider, -p | LLM to use (openai or gemini) |
Examples:
reterm suggest -p gemini
reterm suggest --history-limit 500 --context-limit 30
# Basic suggestion
reterm suggest
# Suggest using Gemini and 50 recent commands
reterm suggest -hl 50 -p gemini
# Suggest using OpenAI and 30 context commands
reterm suggest --provider openai --context-limit 30
# Search for past docker commands
reterm match docker
# Show up to 10 matching commands
reterm match docker -l 10
๐ Match past commands by keyword:
reterm match docker
Options:
| Option | Description |
|---|---|
--limit, -l | Max number of matching results to show (default: 5) |
๐ Configuration
Add a .env file in your home or project directory:
OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxx
GOOGLE_API_KEY=your-gemini-api-key
| Key | Used for |
|---|---|
OPENAI_API_KEY | Required if using --provider openai |
GOOGLE_API_KEY | Required if using --provider gemini |
You can also refer to the included .env.example.
๐ Project Structure
reterm/
โโโ cli.py # Main CLI interface
โโโ llm.py # LLM integration (OpenAI, Gemini)
โโโ shell.py # Shell history detection and parsing
โโโ config.py # API key loader
โโโ welcome.py # ASCII and help panel
๐งโ๐ป Contributing
We welcome contributions! Fork the repo, create a feature branch, and open a pull request.
git checkout -b feat/your-feature
Optional ideas:
- Add support for
fishshell - Add model options (e.g.
gpt-4o,gemini-pro) - Improve LLM prompt formatting
๐ License
Apache License 2.0
