Skip to main content

Fellow CLI tool is a command line development assistant

Project description

Version CI codecov

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

Custom Commands

Fellow supports custom commands, allowing you to extend its capabilities with your own automation logic — all without modifying the core codebase.

You can define your own commands by placing Python files in .fellow/commands/, and then referencing them in your config.

You can also use:

fellow init-command my_custom_command

This will create a new Python file in .fellow/commands/ with the necessary boilerplate code.

Then, register your command in your config file:

...
commands:
    - "my_custom_command"
    - ...

With this method, you can also override existing commands by using the same name as a built-in one.


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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fellow-0.0.3.tar.gz (23.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fellow-0.0.3-py3-none-any.whl (32.8 kB view details)

Uploaded Python 3

File details

Details for the file fellow-0.0.3.tar.gz.

File metadata

  • Download URL: fellow-0.0.3.tar.gz
  • Upload date:
  • Size: 23.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for fellow-0.0.3.tar.gz
Algorithm Hash digest
SHA256 d2d69c1818bae5344caf45b4392f3bf74860009ecb3fb608f786e84a32649b24
MD5 6e5a1676c7c43869f69948d554f048e8
BLAKE2b-256 150e6cbdada5e9af3570b827a49776373c5d334d348305d3a9ff18647e553b0c

See more details on using hashes here.

File details

Details for the file fellow-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: fellow-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 32.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.17

File hashes

Hashes for fellow-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dadfa4480ffafe9fa85bb0cd81c11542e086c0b88ee5be30141e41565b19026e
MD5 d1119a67441cfe25c0b38c1ea3d7de59
BLAKE2b-256 47830abffeed14e193d9e9de21f3536eef4f5fc3ab77a132b582e656ab9f87d8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page