Skip to main content

Using the Boson CLI

The Boson CLI is a powerful command-line tool that simplifies the development workflow for Boson applications. This guide will walk you through all the CLI features and show you how to use them effectively.

Overview​

The Boson CLI provides a comprehensive set of commands to:

  • Create new projects
  • Generate components (controllers, models, middleware)
  • Build your application
  • Run development servers
  • Update the framework
  • Install dependencies

Command Reference​

Getting Help​

To see all available commands and general help:

boson
# OR
boson --help

This displays the Boson logo and a list of available commands.

Create a New Project​

To create a new Boson project:

boson new <project-name>

Options:

  • --template or -t: Specify a project template (default: "basic")
  • --path or -p: Specify a custom path for the project

Example:

# Create a basic project
boson new my-app

# Create a project using the API template
boson new my-api --template api

# Create a project in a specific directory
boson new my-app --path /path/to/directory

When you create a new project, the CLI sets up the project structure, initializes a Git repository, and installs the necessary dependencies.

Generate Components​

Quickly scaffold new components for your project:

boson generate <component-type> <name>

Component types:

  • controller: Generate a new controller
  • model: Generate a new data model
  • middleware: Generate a request middleware
  • service: Generate a service class

Examples:

# Generate a user controller
boson generate controller User

# Generate a user model
boson generate model User

# Generate authentication middleware
boson generate middleware Auth

Generated components follow Boson best practices and are automatically integrated into your project.

Run Your Application​

Start a development server with:

boson run

Options:

  • --port or -p: Specify the port (default: 8080)
  • --watch or -w: Enable hot-reloading for development

Example:

# Run on port 3000 with hot-reloading
boson run --port 3000 --watch

Build Your Project​

Compile your Boson application:

boson build

Options:

  • --release or -r: Create a release build with optimizations
  • --output or -o: Specify output directory

Example:

# Create a release build
boson build --release

# Specify a custom output directory
boson build --output ./dist

Install Dependencies​

Install Boson dependencies for your project:

boson install

This command installs or updates the Boson framework and any other required dependencies for your project.

Update the CLI and Framework​

Keep your Boson CLI and framework up to date:

boson update

This checks for the latest version and updates both the CLI tool and framework libraries if newer versions are available.

Check Version Information​

View version information:

boson version

This displays the current version of the CLI and framework.

Configuration​

The Boson CLI can be configured using a .boson.yaml file in your home directory or project root. You can also specify a configuration file with the --config flag.

Example configuration file:

# .boson.yaml
project:
default_template: api
build:
compiler: clang++
flags: "-std=c++17 -O2"
auto_install_deps: true

Common Workflows​

Starting a New Project​

# Create a new project
boson new my-app

# Navigate to the project directory
cd my-app

# Start the development server
boson run --watch

Adding a New Feature​

# Generate a controller
boson generate controller Product

# Generate a model
boson generate model Product

# Run the server to test your changes
boson run

Building for Production​

# Create an optimized release build
boson build --release

# The built application will be in the specified output directory

Troubleshooting​

Common Issues​

If you encounter issues with the CLI, try these solutions:

  1. Command not found: Ensure the CLI is installed correctly and is in your PATH
  2. Build failures: Check your C++ compiler version and ensure all dependencies are installed
  3. Permission errors: You might need to run with sudo/administrator privileges

For more help, use the --verbose flag with any command to see detailed output:

boson build --verbose

Next Steps​

Now that you understand how to use the Boson CLI, learn about the Project Structure or check out some Examples to see Boson in action.