## Global CLI Commands objD has some useful console commands. To activate the global package(will be available anywhere on your system), run this command: ``` pub global activate objd ``` This will add the commands to your console. To run a command run: ``` objd [command] [args] ``` OR ``` pub global run objd:[command] [args] ``` > If the objd command is not available, you have to add the pub cache to your system path. Follow this tutorial: [https://www.dartlang.org/tools/pub/cmd/pub-global#running-a-script-from-your-path](https://www.dartlang.org/tools/pub/cmd/pub-global#running-a-script-from-your-path) ### Commands * **help** - opens a help menu with all commands * **new** [project_name] - generates a new project from a boilerplate * **run** [project_root] - builds one project * **serve** [directory] [project_root] - watches the directory to change and builds the project on change ### Build Options You can use certain arguments to pass options to the build methods. This argument list can directly be edited in createProject: ```dart createProject( Project(...), ["arg1","arg2", ... ] // arguments as optional List ) ``` **OR** (what I recommend) you can just take the program arguments from main: ```dart void main(List<String> args) { createProject( Project(...), args ); } ``` This allows you to use the arguments in the execution command, like: * ```dart index.dart arg1 -min``` * ```objd run index.dart arg1 -min``` * ```objd serve . index.dart -min``` **All Available Arguments:** * `-min`: This minifies the file amount by ignoring the mcmeta and tag files * `-prod`: This creates a production build of your project and saves it into another datapack(`(prod)` added). In Production Comments and line breaks are removed and every widget can access the prod value in Context to get notified. * `-debug`: This creates a debug json file in your project root, that lists all properties and other generated files