Completed stub files: - keyword-soap.md - SOAP web service integration - keyword-merge-pdf.md - PDF merging (MERGE PDF with spaces) - keyword-kb-statistics.md - KB statistics overview - keyword-kb-collection-stats.md - Per-collection stats - keyword-kb-documents-count.md - Document counting - keyword-kb-documents-added-since.md - Recent document tracking - keyword-kb-list-collections.md - Collection listing - keyword-kb-storage-size.md - Storage monitoring Updated documentation: - keyword-generate-pdf.md - Updated to GENERATE PDF (spaces) - keyword-delete.md - Rewritten for unified DELETE - keyword-delete-http.md - Redirects to unified DELETE - keyword-delete-file.md - Redirects to unified DELETE - All keyword docs updated to use spaces not underscores PROMPT.md updates: - Added keyword naming rules (NO underscores) - Added keyword mapping table - Added quick reference for all keywords - Added error handling examples TASKS.md created: - Comprehensive discrepancy report - Model name update tracking (17 files) - Config parameter documentation - Architecture notes Key clarifications: - GENERATE FROM TEMPLATE = FILL keyword - GENERATE WITH PROMPT = LLM keyword - ON ERROR RESUME NEXT now implemented - DELETE is unified (HTTP/DB/File auto-detect)
12 KiB
12 KiB
BotBook Development Prompt Guide
Version: 6.1.0
Purpose: LLM context for BotBook documentation development
CRITICAL: Keyword Naming Rules
Keywords NEVER use underscores. Always use spaces.
✅ Correct Syntax
SEND MAIL to, subject, body, attachments
GENERATE PDF template, data, output
MERGE PDF files, output
DELETE "url"
DELETE "table", "filter"
ON ERROR RESUME NEXT
CLEAR ERROR
SET BOT MEMORY key, value
GET BOT MEMORY key
KB STATISTICS
KB DOCUMENTS COUNT
❌ WRONG - Never Use Underscores
SEND_MAIL ' WRONG!
GENERATE_PDF ' WRONG!
MERGE_PDF ' WRONG!
DELETE_HTTP ' WRONG!
SET_HEADER ' WRONG!
Keyword Mappings (Documentation to Implementation)
| Write This | NOT This |
|---|---|
SEND MAIL |
SEND_MAIL |
GENERATE PDF |
GENERATE_PDF |
MERGE PDF |
MERGE_PDF |
DELETE |
DELETE_HTTP |
SET HEADER |
SET_HEADER |
CLEAR HEADERS |
CLEAR_HEADERS |
GROUP BY |
GROUP_BY |
FOR EACH |
FOR_EACH |
EXIT FOR |
EXIT_FOR |
ON ERROR RESUME NEXT |
(no underscore version) |
Special Keywords
GENERATE FROM TEMPLATE= UseFILLkeywordGENERATE WITH PROMPT= UseLLMkeywordDELETEis unified - auto-detects HTTP URLs vs database tables vs files
Official Icons - MANDATORY
NEVER generate icons with LLM. ALWAYS use official SVG icons from src/assets/icons/.
Available Icons
| Icon | File | Usage |
|---|---|---|
| Logo | gb-logo.svg |
Main GB branding |
| Bot | gb-bot.svg |
Bot/assistant representation |
| Analytics | gb-analytics.svg |
Charts, metrics, dashboards |
| Calendar | gb-calendar.svg |
Scheduling, events |
| Chat | gb-chat.svg |
Conversations, messaging |
| Compliance | gb-compliance.svg |
Security, auditing |
| Designer | gb-designer.svg |
Workflow automation |
| Drive | gb-drive.svg |
File storage, documents |
gb-mail.svg |
Email functionality | |
| Meet | gb-meet.svg |
Video conferencing |
| Paper | gb-paper.svg |
Document editing |
| Research | gb-research.svg |
Search, investigation |
| Sources | gb-sources.svg |
Knowledge bases |
| Tasks | gb-tasks.svg |
Task management |
| Chart | gb-chart.svg |
Data visualization |
| Check | gb-check.svg |
Success, completion |
| Database | gb-database.svg |
Data storage |
| Folder | gb-folder.svg |
File organization |
| Gear | gb-gear.svg |
Settings |
| Globe | gb-globe.svg |
Web, internet |
| Lightbulb | gb-lightbulb.svg |
Ideas, tips |
| Lock | gb-lock.svg |
Security |
| Note | gb-note.svg |
Notes, comments |
| Package | gb-package.svg |
Packages, modules |
| Palette | gb-palette.svg |
Themes, styling |
| Rocket | gb-rocket.svg |
Launch, deploy |
| Search | gb-search.svg |
Search functionality |
| Signal | gb-signal.svg |
Connectivity |
| Target | gb-target.svg |
Goals, objectives |
| Tree | gb-tree.svg |
Hierarchy, structure |
| Warning | gb-warning.svg |
Alerts, cautions |
Usage in Documentation
<!-- Reference icons in docs -->

<!-- Or with HTML for sizing -->
<img src="../assets/icons/gb-analytics.svg" alt="Analytics" width="24">
Icon Guidelines
- All icons use
stroke="currentColor"for CSS theming - ViewBox:
0 0 24 24 - Stroke width:
1.5 - Rounded line caps and joins
- Consistent with GB brand identity
DO NOT:
- Generate new icons with AI/LLM
- Use emoji or unicode symbols as icons
- Use external icon libraries (FontAwesome, etc.)
- Create inline SVG diagrams when an official icon exists
Project Overview
BotBook is the mdBook-based documentation for the General Bots platform. It provides comprehensive guides, tutorials, and API references for users and developers.
Workspace Position
botbook/ # THIS PROJECT - Documentation
botserver/ # Main server (source of truth)
botlib/ # Shared library
botui/ # Web/Desktop UI
botapp/ # Desktop app
botmodels/ # Data models visualization
botplugin/ # Browser extension
What BotBook Provides
- User Guides: Getting started, installation, quick start
- BASIC Reference: Keywords, syntax, examples
- API Documentation: REST endpoints, WebSocket
- Configuration: Settings, environment variables
- Architecture: System design, components
Structure
botbook/
├── book.toml # mdBook configuration
├── src/
│ ├── SUMMARY.md # Table of contents
│ ├── README.md # Introduction
│ ├── chapter-01/ # Run and Talk (Quick Start)
│ ├── chapter-02/ # Package System
│ ├── chapter-03/ # Knowledge Base
│ ├── chapter-04-gbui/ # UI System
│ ├── chapter-05-gbtheme/ # Theming
│ ├── chapter-06-gbdialog/ # BASIC Dialogs
│ ├── chapter-07-gbapp/ # Applications
│ ├── chapter-08-config/ # Configuration
│ ├── chapter-09-api/ # REST API
│ ├── chapter-10-api/ # WebSocket API
│ ├── chapter-11-features/ # Feature Modules
│ ├── chapter-12-auth/ # Authentication
│ ├── chapter-13-community/ # Contributing
│ ├── chapter-14-migration/ # Migration Guide
│ ├── appendix-*/ # Reference materials
│ └── assets/ # Images, diagrams
├── i18n/ # Translations
│ ├── src-cn/ # Chinese
│ ├── src-ja/ # Japanese
│ └── src-pt/ # Portuguese
└── book/ # Generated output
Documentation Rules
CRITICAL REQUIREMENTS
- All documentation MUST match actual source code
- Extract real keywords from botserver/src/basic/keywords/
- Reference real models from botserver/src/shared/models.rs
- Use actual examples from botserver/templates/
- Version numbers must be 6.1.0
- No placeholder content - only verified features
Writing Style
- Beginner-friendly, instructional tone
- Practical examples that work
- Step-by-step instructions
- Clear headings and structure
- Use mdBook admonitions for tips/warnings
Code Examples
<!-- For BASIC examples -->
```bas
TALK "Hello, world!"
name = HEAR
TALK "Welcome, " + name
' Error handling (VB-style)
ON ERROR RESUME NEXT
result = SOME_OPERATION()
IF ERROR THEN
TALK "Error: " + ERROR MESSAGE
END IF
ON ERROR GOTO 0
' Email - note: spaces not underscores
SEND MAIL "user@example.com", "Subject", "Body", []
' PDF generation - note: spaces not underscores
GENERATE PDF "template.html", data, "output.pdf"
' Unified DELETE - auto-detects context
DELETE "https://api.example.com/resource/123" ' HTTP DELETE
DELETE "customers", "status = 'inactive'" ' Database DELETE
DELETE "temp/file.txt" ' File DELETE
name,value
server_port,8080
llm-url,http://localhost:8081
use botlib::prelude::*;
---
## Building Documentation
```bash
# Install mdBook
cargo install mdbook
# Build documentation
cd botbook
mdbook build
# Serve locally with hot reload
mdbook serve --open
# Build specific language
mdbook build --dest-dir book-pt src-pt
Chapter Content Guidelines
Chapter 1: Run and Talk
- Quick start (5 minutes to running bot)
- Bootstrap process explanation
- First conversation walkthrough
- Session management basics
Chapter 2: Package System
- .gbai folder structure
- .gbot configuration
- .gbdialog scripts
- .gbkb knowledge bases
- .gbtheme customization
Chapter 6: BASIC Dialogs
- Keyword reference (from source)
- TALK, HEAR, SET, GET
- Control flow (IF, FOR, WHILE)
- Tool creation
- LLM integration
Chapter 8: Configuration
- config.csv format
- Environment variables
- Database configuration
- Service settings
Source Code References
When documenting features, verify against actual source:
| Topic | Source Location |
|---|---|
| BASIC Keywords | botserver/src/basic/keywords/ |
| Database Models | botserver/src/shared/models.rs |
| API Routes | botserver/src/core/urls.rs |
| Configuration | botserver/src/core/config/ |
| Bootstrap | botserver/src/core/bootstrap/ |
| Templates | botserver/templates/ |
| Error Handling | botserver/src/basic/keywords/errors/ |
Key Implementation Files
| Keyword Category | File |
|---|---|
SEND MAIL, SEND TEMPLATE |
send_mail.rs |
GENERATE PDF, MERGE PDF |
file_operations.rs |
DELETE, INSERT, UPDATE |
data_operations.rs |
POST, PUT, GRAPHQL, SOAP |
http_operations.rs |
ON ERROR RESUME NEXT |
errors/on_error.rs |
KB STATISTICS, KB DOCUMENTS COUNT |
kb_statistics.rs |
LLM |
llm_keyword.rs |
FILL (template filling) |
data_operations.rs |
Diagram Guidelines
For SVG diagrams in src/assets/:
- Transparent background
- Dual-theme support (light/dark CSS)
- Width: 1040-1400px
- Font: Arial, sans-serif
- Colors: Blue #4A90E2, Orange #F5A623, Purple #BD10E0, Green #7ED321
Translation Workflow
- English is source of truth (
src/) - Translations in
src-{lang}/ - Keep structure identical
- Update
book.tomlfor each language - Build separately per language
Quality Checklist
Before committing documentation:
- All code examples tested and working
- Version numbers are 6.1.0
- Links are valid (relative paths)
- Images have alt text
- SUMMARY.md is updated
- mdbook build succeeds without errors
- Content matches actual source code
- NO underscores in keyword names (use spaces)
- Model names are generic or current (no gpt-4o, claude-3, etc.)
- Error handling uses
ON ERROR RESUME NEXTpattern correctly
Rules
- Accuracy: Must match botserver source code
- Completeness: No placeholder sections
- Clarity: Accessible to BASIC enthusiasts
- Version: Always reference 6.1.0
- Examples: Only working, tested code
- Structure: Follow mdBook conventions
- Keywords: NEVER use underscores - always spaces
- Models: Use generic references or current model names
- Errors: Document
ON ERROR RESUME NEXTfor error handling
Quick Reference: Implemented Keywords
Error Handling
ON ERROR RESUME NEXT ' Enable error trapping
ON ERROR GOTO 0 ' Disable error trapping
CLEAR ERROR ' Clear error state
IF ERROR THEN ' Check if error occurred
ERROR MESSAGE ' Get last error message
ERR ' Get error number
THROW "message" ' Raise an error
HTTP Operations
POST "url", data
PUT "url", data
PATCH "url", data
DELETE "url" ' Unified - works for HTTP, DB, files
SET HEADER "name", "value"
CLEAR HEADERS
GRAPHQL "url", query, variables
SOAP "wsdl", "operation", params
File & PDF Operations
READ "path"
WRITE "path", content
COPY "source", "dest"
MOVE "source", "dest"
LIST "path"
COMPRESS files, "archive.zip"
EXTRACT "archive.zip", "dest"
UPLOAD file
DOWNLOAD "url"
GENERATE PDF template, data, "output.pdf"
MERGE PDF files, "output.pdf"
Data Operations
FIND "table", "filter"
SAVE "table", data
INSERT "table", data
UPDATE "table", data, "filter"
DELETE "table", "filter"
MERGE "table", data, "key"
FILL data, template ' Template filling (was GENERATE FROM TEMPLATE)
MAP data, "mapping"
FILTER data, "condition"
AGGREGATE data, "operation"
Knowledge Base
USE KB
USE KB "collection"
CLEAR KB
KB STATISTICS
KB COLLECTION STATS "name"
KB DOCUMENTS COUNT
KB DOCUMENTS ADDED SINCE days
KB LIST COLLECTIONS
KB STORAGE SIZE
LLM Operations
result = LLM "prompt" ' Generate with LLM (was GENERATE WITH PROMPT)
USE MODEL "model-name"
Communication
TALK "message"
HEAR variable
SEND MAIL to, subject, body, attachments
SEND TEMPLATE recipients, template, variables