Getting Started

Install BoxLang, clone the template, configure your database, and open the login screen.

On this page

Getting Started

System requirements

  • Java 21+ (JDK or JRE)
  • BoxLang 1.17+
  • CommandBox 7+ (bx-cli)
  • Node.js 22+ (for the Vite frontend)
  • A supported database: MySQL 8+ (default), MariaDB, PostgreSQL, SQLite, Oracle, or MSSQL
  • Any operating system

Install BoxLang

MacOS & Linux

# macOS & Linux
/bin/bash -c "$(curl -fsSL https://install.boxlang.io)"

# ...with automatic Java 21 installation
curl -fsSL https://install.boxlang.io | bash -s -- --with-jre

Windows

powershell -NoExit -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://install-windows.boxlang.io'))"

Use BVM instead if you need to switch between multiple BoxLang versions:

curl -fsSL https://install-bvm.boxlang.io | bash

bvm install latest && bvm use latest

Verify the install:

boxlang --version
Use bx-cli, not regular CommandBox

CBGenesis is a BoxLang template. Do not install the standard Lucee-based CommandBox distribution. After installing BoxLang with the quick installer or BVM, install the BoxLang-native CLI module. This is required before running box install, box server, box migrate, or box testbox:

install-bx-module bx-cli

Verify that the BoxLang CLI is active:

box version

Current developers using the Lucee-based CommandBox distribution should clean cached artifacts to ensure they are running the latest versions of the required modules:

box artifacts clean

If box is not found after installation, restart the terminal or add the directory reported by the installer to your PATH.

Scaffold your app

Go into the CommandBox Shell by typing box first:

1
Install the latest ColdBox CLI
install coldbox-cli
2
Create the CBGenesis app
coldbox create app name="my-app" skeleton="cbgenesis"
3
Install Node dependencies
!npm install
4
Update Database Credentials & Configuration

Open the .env file in your preferred text editor and update the database credentials accordingly. The template ships pre-configured for MySQL. MySQL, MariaDB, PostgreSQL, and MSSQL are supported and tested database targets. server.json's onServerInitialInstall installs the JDBC driver module matching your DB_DRIVER setting (bx-${DB_DRIVER}, defaulting to bx-mysql) the first time you run box server start. To use another database, set DB_DRIVER in .env before that first server start

5
Migrate & Seed

Once your .env is set, then run the following commands to initialize and seed the database. It should automatically download the necessary drivers to connect the CLI to the configured database. If there are any issues connecting, ensure that the correct DB_DRIVER is set and that the corresponding JDBC driver module is installed.

migrate init
migrate up --seed
What does the seeder create?

resources/database/seeds/AdminData.bx creates an Admin role with all 20 built-in permissions, and one admin user:

FieldValue
Emailadmin@cbgenesis.com
Passwordtest (reset-pending)

This account is seeded as reset-pending, so signing in with test does not give you a session - it takes you straight to the reset-password form to choose a real password. That is deliberate: the bootstrap hash ships in this repository and is public. See the production checklist.

6
Refresh your AI Skills

CBGenesis ships pre-configured AI guidelines, skills, and agent files in .agents/, so assistants such as GitHub Copilot, Cursor, and Claude Code get accurate ColdBox and BoxLang context. They are generated by the coldbox-cli module you installed in the scaffold step. Refresh them after scaffolding so the guidelines and skills match your installed modules:

coldbox ai refresh

Run coldbox ai refresh again whenever you install, update, or remove CommandBox modules so module-specific guidelines and skills are picked up.

Discover and manage your AI integrations
coldbox ai --help         # Discover the available AI commands
coldbox ai info           # Show installed guidelines, skills, agents, and MCP servers
coldbox ai skills list    # List the available skills
coldbox ai agents --help  # Add, update, or remove AI agent configuration files
7
Start the server
server start

This is the BoxLang CLI server command. The first run installs the BoxLang modules listed in server.json (bx-esapi, bx-password-encrypt, bx-mail, bx-orm, the JDBC driver selected by DB_DRIVER, and bx-image).

Switching drivers after the server has already started once

onServerInitialInstall only fires on a server's first-ever start, so changing DB_DRIVER afterward won't reinstall the driver on its own. Run server forget (which clears the server's install state) before starting it again so the new driver gets installed:

server forget
server start
8
Start Vite (in a second terminal)
npm run dev

Open the app

Visit http://127.0.0.1:8080 - you'll land on the login page. Sign in with the seeded admin credentials above.

The login screen, using the default AuthSplit layout
The login screen using the default AuthSplit layout.

Once you're in, you'll land on the dashboard, with the admin sidebar ready for Users, Roles, Permissions, Audit Log, and Settings:

The admin dashboard after signing in
The admin dashboard after signing in.
Edit this page Download Markdown Last updated Oct 1, 2026, 11:06:51 AM