Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Chapter 02: About Packages

How bots are organized in General Bots.

What You’ll Learn

  • Package structure (.gbai folders)
  • Dialog scripts in BASIC
  • Knowledge bases
  • Configuration basics
  • How packages load

Package Structure

A bot is just a folder ending in .gbai:

my-bot.gbai/
├── my-bot.gbdialog/    # BASIC scripts
├── my-bot.gbkb/        # Documents
├── my-bot.gbot/        # Configuration
├── my-bot.gbtheme/     # Optional styling
└── my-bot.gbdrive/     # Optional storage

Drop the folder in templates/, it loads automatically.

Key Concepts

Dialogs (.gbdialog)

  • BASIC scripts that control conversation
  • start.bas is optional (but needed to activate tools/KB with USE TOOL/USE KB)
  • Simple commands like TALK and HEAR

Knowledge Base (.gbkb)

  • Put PDFs and documents in folders
  • Automatically becomes searchable
  • Bot can answer questions from documents

Configuration (.gbot)

  • Single config.csv file
  • Simple name,value pairs
  • Missing values use defaults

Themes (.gbtheme)

  • Optional CSS styling
  • Most bots don’t need this

Storage (.gbdrive)

  • Links to S3-compatible storage
  • For large files and uploads

How It Works

  1. Discovery: Finds .gbai folders
  2. Loading: Reads all components
  3. Indexing: Processes documents
  4. Activation: Bot is ready

No build process. No compilation. Just folders and files.

The web UI uses HTMX with server-side rendering - minimal JavaScript, no build process, just HTML templates powered by Rust.

Topics Covered


General Bots