The dox command line tool. It creates projects and files, runs the dev server, builds for production and runs migrations.
Part of Dox, a web backend framework for Dart. Source code: github.com/dartondox/dox-cli.
dart pub global activate doxIf your shell can not find dox, add $HOME/.pub-cache/bin to your PATH.
dox update installs the newest version with the same major version.
dox create my_app # a new project from the starter template
cd my_app
dart pub get
dox s # dev server, restarts when a file changesdox create also makes the .env file with a new APP_KEY. Do not copy .env.example over it, or you lose that key.
| Command | What it does |
|---|---|
dox create <name> |
create a new project |
dox serve (or dox s) |
start the dev server with build_runner watch |
dox build |
build the native (AOT) bundle into build/bundle |
dox make:controller <name> [-r] |
create a controller |
dox make:model <name> [-m] |
create a model, and with -m its migration |
dox make:dto <name> |
create a DTO (typed, checked input) |
dox make:job <name> |
create a queue job |
dox queue:work |
run the queue worker (also queue:failed, queue:retry, queue:forget, queue:flush, queue:clear, queue:restart, queue:prune-failed) |
dox schedule:work |
run the scheduler (also schedule:run, schedule:list, schedule:test) |
dox make:migration <name> [--sql] |
create a Dart or SQL migration |
dox migration:run (or dox migrate) |
run new migrations |
dox migration:rollback [--step=N] |
undo the last batch, or the last N migrations |
dox migration:fresh [--seed] |
drop all tables, then run all migrations |
dox make:factory <model> / dox make:seeder <name> |
create a model factory or a seeder |
dox db:seed [--class=<name>] |
run the seeders |
dox key:generate |
make a new APP_KEY (--show prints one and writes nothing; in production it asks first, --force skips the question) |
dox env:generate / dox env:check |
make or check the typed env class |
dox openapi:generate [dir] |
write openapi.json and openapi.yaml |
Run dox help for all commands.
Push a v<version> tag on main.
The tag must match version in pubspec.yaml and lib/src/version.dart.
The Release workflow publishes the package to pub.dev.
MIT. See LICENSE.