cli_buddy 0.0.6+1 copy "cli_buddy: ^0.0.6+1" to clipboard
cli_buddy: ^0.0.6+1 copied to clipboard

A CLI tool to call any AI to ask, auto-complete, and generate code directly from any command line tool.


cli_buddy #

style: very good analysis License: MIT

Generated by the Very Good CLI 🤖


Call Any LLM from Your Terminal #

  • Lightweight (2MB) and Fast
  • Supports over 100+ LLMs (GPT, Claude, Cohere, LLama 3, Gemini Pro, etc.)
  • Use your own API key
  • Complete privacy - not a single analytic data is collected

Demo #

Demo

Features #

  1. Code Generation: Ask for code and directly generate (or override) a file with it.
    • Option to copy to clipboard, ask for explanation, or chat with the model.
  2. Shell Command Execution: Ask for a shell command and directly execute it in your terminal.
    • Option to copy to clipboard or ask for explanation.
  3. Continuous Chat: Chat with AI continuously in your terminal.
  4. Session Management: Save chat history in JSON format locally and load it when starting a new session using -s <session_id>.
    • By default, saving chat history is disabled.

Getting Started 🚀 #

Installation #

If Dart SDK is Already Installed

dart pub global activate cli_buddy

If Dart SDK is Not Installed

TODO: Add installation instructions using the binary executable and script.

Get API Key from OpenRouter #

OpenRouter provides unified LLM APIs at (almost) the same cost as the original LLM API provider.

Add secret.env #

Create a secret.env file in the root directory and add:

openrouter_key=YOUR_OPENROUTER_KEY

Then run:

buddy set -s <path/to/secret.env>

Alternatively, you can run:

buddy set -k <your openrouter key>

This will create secret.env and buddy.config files at the default path.

Example buddy.config #

{
  "secret_env_path": "secret.env",
  "default_model": "openai/gpt-4o-mini-2024-07-18",
  "max_tokens": null,
  "temperature": 0.3,
  "top_p": null,
  "top_k": null,
  "frequency_penalty": null,
  "presence_penalty": null,
  "repetition_penalty": null,
  "min_p": null,
  "top_a": null,
  "seed": null,
  "logit_bias": null,
  "logprobs": null,
  "top_logprobs": null,
  "response_format": null,
  "stop": null,
  "save_session": false,
  "cmd_prompt": null,
  "explain_prompt": null,
  "code_prompt": null,
  "chat_prompt": null
}

Usage #

# Suggest command
$ buddy suggest how can I update homebrew

# If you want to use special characters, use quotes
$ buddy suggest "how can I update homebrew?"

# Coding
$ buddy code "Generate a random number between 1 and 10 in Dart"

# Chat
$ buddy chat "Tell me about the SSH protocol"

# Show CLI version
$ buddy --version

# Show usage help
$ buddy --help

Roadmap #

  • Refactoring
  • Support for RAG (Retrieval-Augmented Generation) using Object_Box
  • Installation script for binary executable and setup
  • Support for Google Vertex AI API
  • Markdown support

Contributions #

Contributions are welcome! Feel free to open issues or submit pull requests.


2
likes
0
pub points
0%
popularity

Publisher

unverified uploader

A CLI tool to call any AI to ask, auto-complete, and generate code directly from any command line tool.

Homepage
Repository (GitHub)
View/report issues

Topics

#cli #ai #llm #tool

License

unknown (license)

Dependencies

args, barbecue, cli_completion, dio, dotenv, flat_buffers, freezed_annotation, json_annotation, mason_logger, path, process_run, pub_updater, result_dart

More

Packages that depend on cli_buddy