Command Line Usage#
bialet is a single binary. The command line controls how the server starts,
how it is configured, and a few standalone modes (-r, -t, -T).
Starting the Server#
Run bialet from your app directory:
bialet
This serves the current directory on 127.0.0.1:7001.
Development mode: bialet dev#
bialet dev
Starts the server from the current directory, enables live reload and the
in-browser error display, and opens the server URL in your browser. The flags
are stored in the database and persist across restarts, so you only need to
run dev once. Plain bialet starts the server without touching those flags
or opening the browser.
On Windows, double-clicking
bialet.exein File Explorer counts as a dev launch: the server starts in dev mode with the browser opening automatically. Run it from a terminal to start without dev mode.
See Live Reload and Error Pages for what dev mode turns on.
Options#
Pass the app directory and flags to control startup:
bialet -p 8080 -h 0.0.0.0 /path/to/app
Every option has a short and a long form. Values can be passed as
--option value or --option=value:
bialet --port 8080 --host 0.0.0.0 /path/to/app
bialet --port=8080 /path/to/app
Parameter |
Description |
Default |
|---|---|---|
|
Port number |
|
|
Host name |
|
|
Show this help and exit |
None |
|
Run the code passed as argument, then exit |
None |
|
Validate the syntax of a Wren file, then exit |
None |
|
Run tests in the |
None |
|
Print the version and exit |
None |
|
Log file location |
|
|
SQLite database file location |
|
|
Enable SQLite Write-Ahead logging mode |
Disabled |
|
Ignored files: comma-separated list of glob expressions |
|
|
Memory soft limit (MB) |
|
|
Memory hard limit (MB) |
|
|
CPU soft limit (%) |
|
|
CPU hard limit (%) |
|
|
Max request body (KB) |
|
|
Quiet: suppress the browser auto-open and colored output |
Disabled |
Long options that require a value reject an empty one (--port alone is an
error). Unknown options, short or long, are rejected with an error and the
usage text instead of being silently ignored.
Version#
Print the installed version and exit:
bialet -v
# bialet 0.12.0
Quiet mode#
-q (or --quiet) suppresses the browser auto-open and colored log output.
Useful in scripts, containers, and CI:
bialet -q /path/to/app
Run Code from the Command Line#
Use -r to run Wren code once and exit:
bialet -r 'System.log("Hello, World!")'
The response will be printed directly.
bialet -r 'return "No log, plain response"'
You have to respect newlines in the code.
Running Tests#
Bialet includes a built-in testing framework. See Testing Guide for full documentation.
bialet -T # Run all tests in _tests/
bialet -T docs/examples # Run tests in a specific directory
Validate Syntax of a Wren File#
To check the syntax of a Wren file without executing it, use -t. Run it the
same way you run the server:
If you start your server from the app directory:
cd /path/to/app
bialet # starts server
bialet -t index.wren # validates syntax
If you start your server with an explicit root path:
bialet /path/to/app # starts server
bialet -t /path/to/app/index.wren /path/to/app # validates syntax
The root path is required when your file imports from _app/ or uses relative
imports. If you omit it for such files, the validator will exit with an error.
This will validate the syntax and exit with code 0 if the syntax is valid, or
code 1 if there are compilation errors. Useful for CI/CD pipelines and
pre-commit hooks.
# Example: Check syntax before deploying (explicit root path)
if bialet -t /path/to/app/main.wren /path/to/app; then
echo "Syntax OK, deploying..."
else
echo "Syntax errors found, aborting deployment"
exit 1
fi
Advanced Configuration#
Bialet provides several advanced configuration options that can be set programmatically in the C code (future versions may expose these as CLI parameters):
File Upload Limits#
Max Upload Size: Controls the maximum file size for uploads (default: 10 MB)
Files exceeding this limit will be rejected with an error message
SQLite Pragma Settings#
Foreign Keys: Enable/disable foreign key constraints (default: ON)
Synchronous Mode: Controls how SQLite writes to disk (default: NORMAL)
OFF: Fastest, least safe
NORMAL: Balanced performance and safety (default)
FULL: Very safe, slower
EXTRA: Maximum safety, slowest
These settings are optimized for most use cases but can be adjusted in the source code if needed.