node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org ยป

webgme-cli

Version Build Status Code Climate Stories in Ready

WebGME CLI

The WebGME cli is a tool for managing WebGME apps. Specifically, it provides a command line interface for creating, removing, installing from other WebGME apps, (etc) for various WebGME components (currently addons and plugins are supported).

A "component" in webgme is general term for one of the following:

  • plugin
  • decorator
  • visualizer
  • addon - event driven logic running on the server w/ access to the model
  • seed - a project used as a template for new webgme models
  • router - express router providing additional REST endpoints
  • layout

Quick Start

It is recommended to use for installing NodeJS (required for webgme-cli).

Installing webgme-cli

First, install NodeJS using nvm. Then install NodeJS 8:

nvm install 8

Now, install webgme-cli using npm:

npm install -g webgme-cli

Setting up a WebGME app

Create a new WebGME app:

webgme init MyNewProject

Navigate to the project folder and install dependencies:

cd MyNewProject
webgme start

Now, open a browser and navigate to http://localhost:8888 to get started!

Creating custom WebGME components

Additional useful commands include

webgme new plugin MyNewPlugin
webgme new addon MyNewAddOn

webgme ls

webgme rm MyNewPlugin
webgme rm MyNewAddOn

It currently supports adding plugins or addons from npm or github repositories which are either created with this tool or contain a WebGME config.js file in the project root:

webgme import plugin <plugin> <project>

where <project> is either <github user>/<github repo> or the npm project name.

FAQ

  • Tried loading "coreplugins/XXXXGenerator/XXXXGenerator" at xxxxx/src/../node_modules/webgme/src/plugin/coreplugins/...

    • This usually happens after updating a clone of the webgme-cli and is caused by an outdated version of the webgme. That is, this happens when the webgme-cli has been updated to support a feature that isn't supported in the currently installed webgme dependency. Running npm update from the project root should fix it.