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.
- Developing TaskingAI
- Common Development Tasks
- Engaging with the Community
- Acknowledging Contributors
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.
To set up TaskingAI on your system, you'll need the following tools:
For frontend:
- Node.js v18.x (LTS) or higher
- npm version 10.1.0 or higher
For backend/inference/plugin:
We recommend using a local development environment to test and contribute to TaskingAI. Follow these steps to set up the project on your machine.
Begin by forking the TaskingAI repository.
-
Clone your fork:
git clone https://github.com/<your_github_username>/TaskingAI.git
-
Navigate to the TaskingAI directory:
cd TaskingAI
-
To develop for inference module, navigate to the
inferencedirectory:cd inference -
Install the required packages:
pip install -r requirements.txt
-
Copy the
.env.examplefile to.env:cp .env.example .env
After that you should fill in some of your own keys as you need.
-
Run the inference module:
PYTHONPATH=$(pwd) python app/main.pyNow you can develop and debug the
inferencemodule.
-
To develop for plugin module, navigate to the
plugindirectory:cd plugin -
Install the required packages:
pip install -r requirements.txt
-
Copy the
.env.examplefile to.env:cp .env.example .env
After that you should fill in some of your own keys as you need.
-
Run the plugin module:
PYTHONPATH=$(pwd) python app/main.pyNow you can develop and debug the
pluginmodule.
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.
-
To develop for backend module, navigate to the
backenddirectory:cd backend -
Install the required packages:
pip install -r requirements.txt
-
Copy the
.env.examplefile to.env:cp .env.example .env
Make sure the
TASKINGAI_INFERENCE_URL,TASKINGAI_PLUGIN_URL,POSTGRES_URL,REDIS_URLare correctly set to the running instances of the inference, plugin, postgres and redis respectively. -
Run the backend module:
PYTHONPATH=$(pwd) python app/main.pyNow you can develop and debug the
backendmodule.
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.
-
To develop for frontend module, navigate to the
frontenddirectory:cd frontend -
Install the required packages:
npm install
-
Run the frontend module:
npm run dev
Now you can develop and debug the frontend module.
After making changes, submit a pull request for review. Your contribution will be evaluated and potentially merged, adding you to our list of contributors.
Feel free to tackle any open issues. If you see ongoing work by another contributor, consider collaborating with them.
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.
Join our Discord Server or Forum to connect with other contributors and users. Share your ideas, ask questions, and collaborate with the community.
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!