AI-powered terminal command recommender based on your shell history
Project description
___ ___ _____ ___ ___ __ __ __ _
| _ \ | __| |_ _| | __| | _ \ | V | / \ | |
| v / | _| | | | _| | v / | \_/ | | /\ | | |
|_|_\ |___| |_| |___| |_|_\ |_| |_| |_||_| |_|
[reTermAI] Smart command assistant for your terminal 🧠💻
reTermAI
💡 A terminal command recommender powered by AI and your own shell history.
✨ 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
🔎 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
Project details
Release history Release notifications | RSS feed
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 reterm_ai-0.1.1.tar.gz.
File metadata
- Download URL: reterm_ai-0.1.1.tar.gz
- Upload date:
- Size: 13.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c05893c0e14ee9e278fe5332936efb0925f88506b33c7b028a4823a8fa31fc61
|
|
| MD5 |
9f121974daf25e9bbc665c39d7193808
|
|
| BLAKE2b-256 |
52013d035353ae95aacb11095cc1eee7e991827b467774dfaf6d53a3e9039dba
|
File details
Details for the file reterm_ai-0.1.1-py3-none-any.whl.
File metadata
- Download URL: reterm_ai-0.1.1-py3-none-any.whl
- Upload date:
- Size: 14.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9bd7ae8f0c59e86f31adeb022bf22a01aed29a527d7a7c5e83fb3c55e932998
|
|
| MD5 |
c191d46007e299457b77876baec7b675
|
|
| BLAKE2b-256 |
57cecbc6f88645d06c47c9478d20cad72554cf199434ca0d1b50573f73cbb4b9
|