Skip to main content

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.

gru-cli preview image

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

grucli-3.3.1.tar.gz (50.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

grucli-3.3.1-py3-none-any.whl (45.3 kB view details)

Uploaded Python 3

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

Hashes for grucli-3.3.1.tar.gz
Algorithm Hash digest
SHA256 ac50a5cf7783b14a83408213e42340c3dfdc269407b89ec340aea7b2b96e9d66
MD5 160e793e5161e6e8c7fb26e50e5b9d80
BLAKE2b-256 312bbd70fc7fcc1580fd7106c513c43927c02fa87fffe93d4113fd690dc59f6f

See more details on using hashes here.

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

Hashes for grucli-3.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eb4a28302c529e3a79440478d416e745367c32e53bf7e55a530bbe56c620e72c
MD5 2b5cb8f5c2aac2ffb8388ad61f296f18
BLAKE2b-256 5181bf983029fa5be48a114a93957e4c74f5f7454d2e8ac7abb44405874dbbd4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page