Awesome
Hexabot CLI
Hexabot CLI is a powerful command-line tool to help manage your Hexabot chatbot instance. With it, you can create new projects, initialize environments, start services in various modes, run database migrations, and more. The CLI aims to make managing your chatbot seamless and intuitive.
Not yet familiar with Hexabot? It's a open-source chatbot / agent solution that allows users to create and manage AI-powered, multi-channel, and multilingual chatbots with ease. If you would like to learn more, please visit the official github repo.
Getting Started
Prerequisites
- Node.js >= 18.17.0
- npm (Node Package Manager)
- Docker installed
Installation
Install Hexabot CLI globally to have easy access to its commands:
npm install -g hexabot-cli
Usage
Once installed, you can use the hexabot
command in your terminal. Here are some of the available commands:
Commands
create <projectName>
Create a new Hexabot project.
hexabot create my-chatbot
Options:
--template <template>
: Specify a GitHub repository in the formatGITHUB_USERNAME/GITHUB_REPO
to use a custom template.
Example:
hexabot create my-chatbot --template myusername/my-template-repo
init
Initialize the environment by copying .env.example
to .env
.
hexabot init
dev
Start specified services in development mode with Docker Compose.
hexabot dev --services nlu,ollama
Options:
--services <services>
: Comma-separated list of services to enable.
start
Start specified services with Docker Compose.
hexabot start --services api,nlu
Options:
--services <services>
: Comma-separated list of services to enable.
migrate [args...]
Run database migrations.
hexabot migrate
You can also pass additional arguments to the migration command.
start-prod
Start specified services in production mode with Docker Compose.
hexabot start-prod --services api,nlu
Options:
--services <services>
: Comma-separated list of services to enable.
stop
Stop specified Docker Compose services.
hexabot stop --services api,nlu
Options:
--services <services>
: Comma-separated list of services to stop.
destroy
Destroy specified Docker Compose services and remove volumes.
hexabot destroy --services api,nlu
Options:
--services <services>
: Comma-separated list of services to destroy.
Example Workflow
-
Create a new project:
hexabot create my-chatbot
This will create a new folder
my-chatbot
with all necessary files to get started. -
Navigate to your project folder:
cd my-chatbot
-
Install dependencies:
npm install
-
Initialize environment:
hexabot init
This command copies the
.env.example
file to.env
, which you can edit to customize your configuration. -
Run in development mode:
hexabot dev --services nlu,ollama
This starts the required services in development mode.
Documentation
For detailed information on how to get started, as well as in-depth user and developer guides, please refer to our full documentation available in the docs folder or visit the Documentation.
You can also find specific documentation for different components of the project in the following locations:
Contributing
We welcome contributions from the community! Whether you want to report a bug, suggest new features, or submit a pull request, your input is valuable to us.
Please refer to our contribution policy first : How to contribute to Hexabot
Feel free to join us on Discord
License
This software is licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
- The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
- All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).