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
inference
directory:cd inference
-
Install the required packages:
pip install -r requirements.txt
-
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.
-
Run the inference module:
PYTHONPATH=$(pwd) python app/main.py
Now you can develop and debug the
inference
module.
-
To develop for plugin module, navigate to the
plugin
directory:cd plugin
-
Install the required packages:
pip install -r requirements.txt
-
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.
-
Run the plugin module:
PYTHONPATH=$(pwd) python app/main.py
Now you can develop and debug the
plugin
module.
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
backend
directory:cd backend
-
Install the required packages:
pip install -r requirements.txt
-
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. -
Run the backend module:
PYTHONPATH=$(pwd) python app/main.py
Now you can develop and debug the
backend
module.
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
frontend
directory: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!