# CLI Options

# Init Command

The init command is a guided project setup to get you started developing plugins fast. It will ask you which packages you would like to use in your project and then will proceed to installing them.

fenix

# or

fenix init

# Screenshot

fenix-cli-project-setup

# Project Directory

  • Prompt: Where would you like to create your project

  • Type: String

  • Default: ./

This is the location FeniXWizard will create the project structure, install packages and download the game demo.

# Project Name

  • Prompt: Project Name

  • Type: String `

  • Default: my-generated-project

The name of the project, this is used in the project's package.json.

# Project Description

  • Prompt: Project Description

  • Type: String

  • Default: ``

The description of the project, this is used in the project's package.json.

# Project Author

  • Prompt: Project Author

  • Type: String

  • Default: FeniXEngine Contributors

The authors name for the project, this is used in the project's package.json.

# Linter

The linter to use to lint for errors in your plugins. We reccomend ESLint for it's large rule set and shareable configs.

# Linter Plugins

Prompt: Which ESLint plugins would you like to install

Important and helpful ESLint plugins and configurations, these are automatically configured during setup.

# Other Packages

Optional but useful packages which will help develop plugins.

# Initialize Git Repository

  • Prompt: Would you like to initialize git for this project?

  • Type: Boolean | Yes/No

  • Default: false

Initializes a git repository in the destination directory

# Download Demo

  • Prompt: Download FeniX Lightweight MV Demo game

  • Type: Boolean | Yes/No

  • Default: false

Downloads a lightweight RPG Maker MV game demo (6.7mb), and extracts it to the proejcts game/ directory.

# Serve Command

The serve command will start a server at a default address of localhost:1818 and serve all files from the default './game/ and listen for changes in the ./src directory. If changes are made then it will continue to re-bundle the plugin(s) to the './game/js/plugins` directory and reload any browser opened at the default address.

fenix server

# Screenshot

fenix-cli-dev-server

# Server Destination

  • arg: -d <path>, --destination <path>
  • type: String
  • default ./game

The location to serve files from, usually a game project location where all plugins are built to.

# Server target

  • arg: -t <path>, --target <path>
  • type: String
  • default ./src

The location of plugin source files to build and watch for changes. All files are built to the server's destination directory in js/plugins

# Port

  • arg: -p, --port
  • type: Number
  • default 1818

Changes the port the server listens on. Useful when other applications are using the same port.

# Build Command

The build command will bundle your plugins to a location you choose. By default the build command will bundle all plugins it can find in the ./src directory and write them to ./game/js/plugins/. The build command also has the option of watching for changes without serving the game.

fenix build

# Screenshot

fenix-cli-build

# Build Target

  • arg: -t <path>, --target <path>
  • type: String
  • default ./src/

the target directory where your plugins are located. The location of the plugins or a directory containing the main.js and parameters.js files.

# Destination

  • arg: -d <path>, --destination <path>
  • type: String
  • default ./game/js/plugins/

the path to save file after the bundle process is finished.

# Watch For Changes

  • arg: -w <path>, --watch <path>
  • type: String
  • default ./src/

watch the source files for changes and re-bundle plugin(s)

# Generate Sourcemaps

  • arg: -s, --sourcemap
  • type: String

Generates sourcemap files for your bundles plugin