Skip to content

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.

License

Notifications You must be signed in to change notification settings

ManuelZierl/fellow

Repository files navigation

Version CI codecov Checked with mypy Code style: black PyPI - Types GitHub License

Fellow

Project Description

Fellow is a command-line AI assistant built by developers, for developers.

Unlike most AI tools that stop at suggesting code, Fellow goes a step further: it executes tasks on your behalf. It reasons step-by-step, chooses appropriate commands from a plugin system, and performs actions like editing files, generating content, or writing tests. All autonomously.

The idea for Fellow started from a simple but powerful realization: copy-pasting between ChatGPT and your editor gets in the way of real flow. What if the AI could access your codebase directly? What if it could decide what to look at and what to do—without constant human prompting?

That's what Fellow explores. It uses YAML configs to define tasks, keeps a memory of its reasoning, and can be extended with your own command plugins. Whether you're automating repetitive dev tasks or experimenting with agentic workflows, Fellow is a lightweight but powerful sandbox for building the tools you wish existed.

It’s still early and evolving—but it already works. And if you're a developer who wants more doing and less prompting, Fellow might just be the tool you've been waiting for.

Documentation

Full documentation for Fellow is available at: Documentation


Installation

Make sure you have Python installed on your system. Then install Fellow via pip:

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:

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:

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:

task: |
  write a readme file for this Python project

For more configuration options, see the default_fellow_config.yml file in the repository.

Customization

Fellow is built to be extensible. You can customize both:


Changelog

All notable changes to this project will be documented in this file: CHANGELOG.md


Contributing

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


Licensing

This project is licensed under the MIT License.

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages