Skip to content

Latest commit

 

History

History
204 lines (128 loc) · 5.95 KB

DEVELOPERS.md

File metadata and controls

204 lines (128 loc) · 5.95 KB

Developing TaskingAI

Welcome to the TaskingAI development community! Your contributions are essential for the growth and improvement of our project. This document will guide you through setting up and navigating our development environment.

Getting Started

Thank you for your interest in TaskingAI and your readiness to contribute! We encourage you to review our code of conduct and familiarize yourself with the existing issues that you can help resolve. This guide will assist you in setting up your development environment.

Install Dependencies

To set up TaskingAI on your system, you'll need the following tools:

  • Git
  • Docker (for running the studio locally)

For frontend:

For backend/inference/plugin:

Local Development

We recommend using a local development environment to test and contribute to TaskingAI. Follow these steps to set up the project on your machine.

Fork the Repository

Begin by forking the TaskingAI repository.

Clone the Repository

  1. Clone your fork:

    git clone https://github.com/<your_github_username>/TaskingAI.git
  2. Navigate to the TaskingAI directory:

    cd TaskingAI

Inference

  1. To develop for inference module, navigate to the inference directory:

    cd inference
  2. Install the required packages:

     pip install -r requirements.txt
  3. Copy the .env.example file to .env:

    cp .env.example .env

    After that you should fill in some of your own keys as you need.

  4. Run the inference module:

    PYTHONPATH=$(pwd) python app/main.py

    Now you can develop and debug the inference module.

Plugin

  1. To develop for plugin module, navigate to the plugin directory:

    cd plugin
  2. Install the required packages:

    pip install -r requirements.txt
  3. Copy the .env.example file to .env:

    cp .env.example .env

    After that you should fill in some of your own keys as you need.

  4. Run the plugin module:

    PYTHONPATH=$(pwd) python app/main.py

    Now you can develop and debug the plugin module.

Backend

Before you start, you need to have 2 running instances of the inference and plugin modules. You can follow the steps above to run them. Also, you need to have 2 running instances of Postgres and Redis. You can use docker to run them. Make sure you have their ports exposed and you can access them from the backend module.

  1. To develop for backend module, navigate to the backend directory:

    cd backend
  2. Install the required packages:

    pip install -r requirements.txt
  3. Copy the .env.example file to .env:

    cp .env.example .env

    Make sure the TASKINGAI_INFERENCE_URL, TASKINGAI_PLUGIN_URL, POSTGRES_URL, REDIS_URL are correctly set to the running instances of the inference, plugin, postgres and redis respectively.

  4. Run the backend module:

    PYTHONPATH=$(pwd) python app/main.py

    Now you can develop and debug the backend module.

Frontend

Before you start, you need to have the instances of backend, inference, plugin, postgres and redis running. You can follow the steps above to run them.

  1. To develop for frontend module, navigate to the frontend directory:

    cd frontend
  2. Install the required packages:

    npm install
  3. Run the frontend module:

    npm run dev

Now you can develop and debug the frontend module.

Submitting a Pull Request

After making changes, submit a pull request for review. Your contribution will be evaluated and potentially merged, adding you to our list of contributors.

Handling Issues

Feel free to tackle any open issues. If you see ongoing work by another contributor, consider collaborating with them.

Common Development Tasks

Implementing & Updating Inference and Plugins

The models and plugins are essential components of TaskingAI. You can contribute by implementing new models/plugins or updating existing ones.

For example, models can be added to the inference/providers directory, and plugins can be added to the plugin/bundles directory.

Engaging with the Community

Join our Discord Server or Forum to connect with other contributors and users. Share your ideas, ask questions, and collaborate with the community.

Acknowledging Contributors

View all contributors and their impact on our project here.

This comprehensive guide is designed to assist you in becoming an active participant and contributor to TaskingAI. We're excited to see what you'll bring to the community!