A command-line interface for interacting with local and remote LLMs.
Project description
gru-cli -- Version 3.3.1
grucli is a CLI tool for agentic LLMs that works with both local LLMs and API-based models such as Claude, Gemini, GPT-5 and others.
why?
I hate how other CLI tools are overcomplicated, heavy, are exclusive to one API, and sometimes don't even let you change models.
So I decided to make my own CLI tool :)
It has support for multiple APIs, both remote and local ones.
I'll keep improving this project as time goes on.
Features
- Interactive Chat: Have a conversation with your chosen LLM right from your terminal.
- Model Selection: Easily switch between different models within the chat session.
- Command System: Use slash commands (
/help,/model,/clear,/manage-api-keys) for quick actions. - Context-Aware: Automatically injects your project's file tree into the system prompt to give the LLM better context.
- Encrypted API keys You don't need to worry about someone snooping your API keys, they're encrypted :)
Supported APIs
GruCLI supports models from the following providers:
-
OpenAI: All available models, including GPT-5.2
-
Anthropic: All available models, including Claude Opus and Sonnet 4.5.
-
Gemini: Supports both Gemini API and Google AUTH
-
Ollama: Supports both local and cloud models.
-
LM Studio: Supports all local models.
-
Cerebras: Supports their API available models.
-
If a model doesn't show up on your selected API, you can just type it out.
Installation:
-
For regular use:
This installs the CLI like any other tool.pip install grucli
-
For development:
First, clone the repository and then install in editable mode:git clone https://github.com/grufr/grucli.git cd grucli pip install -e .
This will install the grucli command and all its dependencies.
WARNING !!
This project was NOT tested on Windows, it was only tested on Linux and macOS!!
Though it should mostly work, if you have issues, blame them on windows.
Usage
Once installed, you can start the CLI by simply running:
grucli
This will ask you to select an available model and then take you to the chatting interface.
Commands
/help: Show available commands./model: Re-open the model selection menu./clear: Clear the current chat history./manage-api-keys: Manage your saved API keys./gemini-login: Login with your Google account./gemini-auth-mode: Switch Gemini authentication between API Key and Google Auth./exit: Exit the application.
Development
If you want to contribute to or modify grucli, you should install it in "editable" mode as described above (pip install -e .).
This allows you to edit the Python files in the src/grucli/ directory and have your changes be live the next time you run the grucli command. There is no need to run pip install . again after every code change.
If you change dependencies in requirements.txt or settings in setup.py, you should run pip install -e . again to apply those changes.
Testing
grucli uses pytest for testing. To run the tests, you must install pytest manually as it is not included in requirements.txt.
pip install pytest
pytest tests/
If you want to contribute your code must pass all tests.
Uninstallation
To remove grucli from your system, simply run:
pip uninstall grucli
License
This project is licensed under the MIT License. See the LICENSE file for details.
silly
Some of the code here was generated by grucli itself :)
My first public open source project 💖🎀
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 grucli-3.3.1.tar.gz.
File metadata
- Download URL: grucli-3.3.1.tar.gz
- Upload date:
- Size: 50.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac50a5cf7783b14a83408213e42340c3dfdc269407b89ec340aea7b2b96e9d66
|
|
| MD5 |
160e793e5161e6e8c7fb26e50e5b9d80
|
|
| BLAKE2b-256 |
312bbd70fc7fcc1580fd7106c513c43927c02fa87fffe93d4113fd690dc59f6f
|
File details
Details for the file grucli-3.3.1-py3-none-any.whl.
File metadata
- Download URL: grucli-3.3.1-py3-none-any.whl
- Upload date:
- Size: 45.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb4a28302c529e3a79440478d416e745367c32e53bf7e55a530bbe56c620e72c
|
|
| MD5 |
2b5cb8f5c2aac2ffb8388ad61f296f18
|
|
| BLAKE2b-256 |
5181bf983029fa5be48a114a93957e4c74f5f7454d2e8ac7abb44405874dbbd4
|