Skip to content

GenericSuite Installation

Pre-requisites

Bash

If you plan to use a development environment with Windows, you must install the Git Bash from the Git for Windows package. You'll also need to install the Make utilitys.

If you plan to use a development environment with MacOS or Linux, bash shell and Make utilitys are already installed.

NodeJS

It is recommended to use nvm (Node Version Manager) to manage multiple Node.js versions.

To set the default NodeJS version to be used by nvm:

  1. Run the following command in your terminal, replacing <version> with the Node.js version number you want to set as the default: nvm alias default <version>. For example, to use Node.js 26:
nvm alias default 26
  1. Create a .nvmrc file in your project root directory with the Node.js version in its content, so the new version will be set when you run nvm use or when a Terminal is opened in your favorite code editor (e.g. Visual Studio Code or Cursor.sh). For example:

File: .nvmrc

26
  1. Create a .nvmrc file in your user's home directory with the Node.js version and add the commands on the shell starter script, so the new version will be set when a new Terminal window is opened. For example:

MacOS:

File: /Users/$USER/.zshrc or /Users/$USER/.bashrc

Linux:

File: /home/$USER/.bashrc or /home/$USER/.profile

Add this lines:

# To set the Node.js version when new Terminal window is opened
if [ -f "./.nvmrc" ]; then
    nvm use
fi

And create the .nvmrc file mentioned earlier in the user's home directory: /Users/$USER or /home/$USER.

Python

To install Python, it is recommeded to use pyenv that allows managing multiple Python versions.

There is a script install_dev_tools.sh in the genericsuite-be-scripts repository that simplifies the installation of pyenv and other required dependencies, like uv, poetry, or pipenv for Python dependency management.

Backend

Install from PyPi

Pip

pip install genericsuite
pip install genericsuite-ai

Uv

uv add genericsuite
uv add genericsuite-ai

Poetry

poetry add genericsuite
poetry add genericsuite-ai

Pipenv

pipenv install genericsuite
pipenv install genericsuite-ai

To install the GenericSuite backend scripts:

npm install -D genericsuite-be-scripts

Install from Git repositories

To install any of the the backend solutions (Core, AI, etc) from a specific branch in the Git repositories, e.g. "branch_x":

Pip

pip install git+https://github.com/tomkat-cr/genericsuite-be@branch_x
pip install git+https://github.com/tomkat-cr/genericsuite-be-ai@branch_x

Uv

uv add git+https://github.com/tomkat-cr/genericsuite-be@branch_x
uv add git+https://github.com/tomkat-cr/genericsuite-be-ai@branch_x

Poetry

poetry add git+https://github.com/tomkat-cr/genericsuite-be@branch_x
poetry add git+https://github.com/tomkat-cr/genericsuite-be-ai@branch_x

Pipenv

pipenv install git+https://github.com/tomkat-cr/genericsuite-be@branch_x
pipenv install git+https://github.com/tomkat-cr/genericsuite-be-ai@branch_x

To install the backend scripts from a specific branch in the Git repositories, e.g. "branch_x":

npm install -D tomkat-cr/genericsuite-be-scripts#branch_x

Install from local directory

To install any of the the backend solutions (Core, AI, etc) from a local directory:

Pip

pip install ../genericsuite-be
pip install ../genericsuite-be-ai

Uv

uv add ../genericsuite-be
uv add ../genericsuite-be-ai

Poetry

poetry add ../genericsuite-be
poetry add ../genericsuite-be-ai

Pipenv

pipenv install ../genericsuite-be
pipenv install ../genericsuite-be-ai

To install the backend scripts from a local directory:

npm install -D ../genericsuite-be-scripts

Frontend

Install from NPMJS

npm install genericsuite
npm install genericsuite-ai
npm install -D genericsuite-fe-scripts

Install from Git repositories

From the main branch:

npm install tomkat-cr/genericsuite-fe
npm install tomkat-cr/genericsuite-fe-ai
npm install -D tomkat-cr/genericsuite-fe-scripts

From a specific branch:

npm uninstall generisuite
npm install tomkat-cr/genericsuite-fe#branch_name
npm uninstall generisuite-ai
npm install tomkat-cr/genericsuite-fe-ai#branch_name
npm uninstall generisuite-fe-scripts
npm install -D tomkat-cr/genericsuite-fe-scripts#branch_name

E.g.

npm uninstall genericsuite && npm install tomkat-cr/genericsuite-fe#develop
npm uninstall genericsuite-ai && npm install tomkat-cr/genericsuite-fe-ai#develop
npm uninstall generisuite-fe-scripts && npm install -D tomkat-cr/genericsuite-fe-scripts#develop

Or all together:

npm uninstall genericsuite genericsuite-ai && npm install tomkat-cr/genericsuite-fe#develop tomkat-cr/genericsuite-fe-ai#develop

IMPORTANT:

  • When you've made changes to any of the GenericSuite frontend packages code, perform a make pre-publish to rebuild the dist directory files before the Git commit and push, because those files are required for npm install to work. Then re-install the changed package in the parent project (your app) using the npm install tomkat-cr/genericsuite-fe or npm install tomkat-cr/genericsuite-fe-ai command.