Metadata-Version: 2.4
Name: viby
Version: 0.0.4
Summary: A multifunctional command-line tool for interacting with large language models.
Author-email: JohanLi233 <li_zhonghan@qq.com>
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: openai>=1.76.2
Requires-Dist: pocketflow>=0.0.2
Requires-Dist: prompt-toolkit>=3.0.51
Requires-Dist: pyperclip>=1.9.0
Requires-Dist: pyyaml>=6.0.2
Requires-Dist: requests>=2.32.3
Requires-Dist: rich>=14.0.0
Requires-Dist: ruff>=0.11.7
Dynamic: license-file

# viby

[![GitHub Repo](https://img.shields.io/badge/GitHub-viby-181717?logo=github)](https://github.com/JohanLi233/viby)
[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/downloads/release/python-3100/)
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![UV](https://img.shields.io/badge/UV-Package%20Manager-blueviolet)](https://github.com/astral-sh/uv)
<!-- [![MCP](https://img.shields.io/badge/MCP-Compatible-brightgreen)](https://github.com/estitesc/mission-control-link) -->


English | [中文](https://github.com/JohanLi233/viby/blob/main/README.zh-CN.md)
A multifunctional command-line tool for interacting with large language models.

## Features

- Ask questions and get AI-generated answers
- Interactive chat mode for multi-turn conversations
- Generate shell commands and explanations
- Process piped input (e.g., content from `git diff`)
- Support for OpenAI-compatible API interfaces

## Installation

```sh
pip install viby
```

## Usage Examples

### Basic Question

```sh
yb "Write a quicksort in python"
# -> Sure! Here is a quicksort algorithm implemented in **Python**:
```

### Interactive Chat Mode

```sh
yb -c
<|: Tell me about quantum computing
# -> [AI responds about quantum computing]
<|: What are the practical applications?
# -> [AI responds with follow-up information]
```

### Process Piped Content

```sh
git diff | yb "Generate a commit message"
# -> Added information to the README
```

```sh
yb "What is this project about?" < README.md
# -> This project is about...
```


### Generate Shell Command

```sh
yb -s "How many lines of python code did I write?"
# -> find . -type f -name "*.py" | xargs wc -l
# -> [r]run, [e]edit, [y]yank, [q]quit: r
```

## Configuration

Viby reads configuration from `~/.config/viby/config.json`. You can set the model and parameters here.
