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.
Full documentation for Fellow is available at: Documentation
Make sure you have Python installed on your system. Then install Fellow via pip:
pip install fellow
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.
Fellow is built to be extensible. You can customize both:
-
Commands – add your own automation logic or override existing ones. Learn more in the Custom Commands documentation
-
Clients – integrate with different AI backends like built-in OpenAI or Gemini. Or create your own client. Learn more in the Custom Clients documentation
All notable changes to this project will be documented in this file: CHANGELOG.md
We welcome contributions! Please fork the repository and submit a pull request.
This project is licensed under the MIT License.