The FabMo engine is host software that connects to a G2 motion control platform and manages it, exposing a web interface. The engine serves the following major functions:
npm install/opt/fabmo or C:\opt\fabmo if you're on windows. Set the permissions on this directory so that the user running the engine can read/write to it.npm run debug for development mode or npm start for production mode.C:\fabmo\config\engine.json and set the two COM ports for your platform with the appropriate values for your system.** Note that you should not need to run the engine as a privileged user. If you have to run your engine using sudo check your node installation and the permissions settings for the /opt/fabmo directory **
When the engine starts, it will connect to G2 and setup an http server to accept connections on port 80. Once the engine is running you can visit http://localhost/ to use the fabmo dashboard.
The engine is run from source, and only needs to be checked out and stored in a local directory. Run npm install from the source directory to install the needed dependencies and perform the webpack step that builds the frontend.

To install the engine in the "standard" location on the Raspberry Pi, perform the following steps.
/fabmo with git clone https://github.com/FabMo/FabMo-Engine /fabmorelease branch is the most recent stable release. (git checkout release)cd /fabmo; npm installFor debugging the engine, you can run it directly from the command prompt with npm start or node server.js - make sure you have built the dashboard with npm run webpack - alternatively, you can run npm run dev which will run the system in debug mode (which adds some logging and more aggressively reloads apps) as well as run the webpack first. If you want to run in debug mode, but skip the webpack step, run npm run debug
A number of grunt tasks have been set up to facilitate engine development. To see them, run grunt with no arguments in the source directory, and a list will be produced with explanations.
Source code documentation is generated with groc, and API documentation for the engine's REST API is generated with apidoc. To generate documentation: grunt doc - to generate documentation and push it to Github Pages, linked at the top of this readme: grunt doc-dist
The entry point for the application is server.js but for an overview of how the engine starts, begin with engine.js - particularly the start method. This is the function that initializes the system and starts all the processes (including the webserver) that make the application work.
$ claude mcp add FabMo-Engine \
-- python -m otcore.mcp_server <graph>