/webgme-cli

Command line tool for managing webgme projects and dependencies

Primary LanguageJavaScriptMIT LicenseMIT

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.

To view a listing of components and applications that have been published on npmjs and are openly and freely available check out the list of extensions at webgme.org.

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

If this is your first time using webgme and webgme-cli the steps at Getting Started section are slightly more detailed.

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.

Dependency overview

If you're new to nodejs/npm, npm is the package manager that comes bundled with any nodejs installation. The full documentation can be found here, some areas of interest are:

The diagram below gives an overview of how different webgme packages are related. All of these are published on npmjs.com.

webgme-packagse

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.