chatti 0.1.0

Terminal-based chat application that interfaces with Ollama
Documentation
# Chatti

[![version](https://img.shields.io/crates/v/chatti?color=blue&logo=rust&style=flat-square)](https://crates.io/crates/chatti)
[![Build Status](https://github.com/nubilfi/chatti/actions/workflows/rust.yml/badge.svg)](https://github.com/nubilfi/chatti/actions?branch=main)
[![Documentation](https://docs.rs/chatti/badge.svg)](https://docs.rs/chatti/latest/chatti/index.html)
[![codecov](https://codecov.io/github/nubilfi/chatti/graph/badge.svg?token=0RVFXA3WON)](https://codecov.io/github/nubilfi/chatti)

Chatti is a terminal-based chat application that interfaces with Ollama, providing a unique way to interact with Ollama's language models directly from your command line.

## Features

- Support for various Ollama models
- Configurable API endpoint and model parameters
- Markdown rendering for chat responses

## Prerequisites

Before you begin, ensure you have the following installed:
- Rust (latest stable version)
- Ollama (running and accessible)

## Configuration

Chatti uses a configuration file located at `~/.config/chatti/config.toml`. If this file doesn't exist, the application will create a default one on first run. You can edit this file to change the following settings:

```toml
api_endpoint = "http://localhost:11434/api/chat"
model = "llama3.2"
stream = true
temperature = 0.7
```

- `api_endpoint`: The URL of your Ollama API endpoint
- `model`: The Ollama model you want to use
- `stream`: Whether to use streaming responses (recommended)
- `temperature`: The temperature parameter for text generation (0.0 to 1.0)

## Usage

To start the application, run:

```
cargo run
```

Once the application starts:
- Type your message and press Enter to send it to the Ollama model
- Use the up and down arrow keys to scroll through the chat history
- Press 'q' to quit the application
- Press '?' to display the help menu

## Development

To run tests:

```
cargo test
```

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

[MIT](https://github.com/nubilfi/chatti/blob/main/LICENSE)