Metadata-Version: 2.4
Name: fellow
Version: 0.0.2
Summary: Fellow CLI tool is a command line development assistant
Author-email: Manuel Zierl <manuel.zierl@web.de>
License: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.28.1
Requires-Dist: openai>=1.69.0
Requires-Dist: tiktoken>=0.9.0
Requires-Dist: pexpect>=4.9.0
Requires-Dist: pydantic~=2.11.0
Requires-Dist: PyYAML~=6.0.2
Dynamic: license-file

[![Version](https://img.shields.io/pypi/v/fellow.svg)](https://pypi.org/project/fellow/)
![CI](https://github.com/ManuelZierl/fellow/actions/workflows/ci.yml/badge.svg?branch=main)
[![codecov](https://codecov.io/gh/ManuelZierl/fellow/branch/main/graph/badge.svg)](https://codecov.io/gh/ManuelZierl/fellow)
# Fellow

## Project Description
**Fellow** is a command-line interface (CLI) tool that acts as an autonomous software engineering assistant. It uses the OpenAI API to perform various structured tasks by reasoning step-by-step, executing commands, and maintaining a log of its activities.

---

## Installation
Make sure you have Python installed on your system. Then install Fellow via [pip](https://pypi.org/project/fellow/):
```bash
pip install fellow
```

## Usage
Since Fellow uses the OpenAI API you have to set your `OPENAI_API_KEY` in your environment variables. You can do this by running:
```bash
export OPENAI_API_KEY="your_openai_api_key"
```

Fellow is designed to run based on a configuration provided via a YAML file. A typical usage example:
```bash
fellow --config task.yml
```

In the YAML configuration, you can specify tasks that Fellow will carry out. Supported commands include file operations, code execution, and more. Example:
```yaml
task: |
  write a readme file for this Python project
``` 
For more configuration options, see the [default_fellow_config.yml](fellow/default_fellow_config.yml) file in the repository.

## Contributing
We welcome contributions! Please fork the repository and submit a pull request.

## Licensing
This project is licensed under the MIT License.
