Planemo is a plugin-friendly open source software quality platform written in JavaScript running on the Node.js platform.


Planemo is a plugin-friendly open source software quality platform written in JavaScript running on the Node.js platform.

Planemo is basically a static code analysis tool written for the Node.js platform. Its main goal is to read everything in given directory (and recursively downwards) and checks any found file (no matter if its its .js, .css, .html or whatever) and its contents against a set of rules, configurable by the user.

The whole idea is that Planemo should help your project to maintain coding conventions, best practices and other fun rules your software project might have, for any source code file or languge.

Currently it has a lot of available built in plugins to choose from, but it also super easy to write your own plugin and even contribute it back to the project.

Fun fact #184: The word Planemo comes from planetary-mass object!

Planemo is continously built by You can find the build history here.

  1. Planemo runs on Node.js, so make sure you have that installed. If you want to contribute you need to have Git installed as well.

  2. Download the whole Planemo GitHub project, either by downloading and extracting a ZIP copy of the project (there is a button on the page) or using the git clone command.

  3. Download Node dependencies by typing in npm install.

  4. Now you should be able to start Planemo using a configuration file by using the command node planemo <configuration file>

In order to launch Planemo you need to specify a JSON formatted configuration file as the first argument. The best way to describe it is to look at a sample file, and then look at the property explanations below to better understand what and how the different parts works.

01  {
02      "source":
03          [
04              {
05                  "basePath": "C:\\project\\",
06                  "fullPath": "C:\\project\\src\\",
07                  "directoryName": "src"
08              }
09          ],
10      "plugins": {
11          "check-directory-name-plugin": {
12              "regexp": "^[a-z]+$"
13          },
14          "check-file-name-plugin": {
15              "regexp": "^[a-z|-]+\\.(?:js|html|css|less)$"
16          }
17      }
18  }

Not yet written.

Not yet written.

You can execute the tests by running npm test if you are running from a Windows Command Prompt or run_tests.bat is you are using a Shell, such as Git Bash.

For obvious reasons, the more tests we have for Planemo the happier we are. So it is encouraged that we write supporting unit tests for our code.

Planemo is currently using nodeunit as its test framework. If you are planning to write tests it would be a good idea to look at their examples and read their API Documentation to better understand how to write new or maintain old tests. If you looking for examples you can find them in the /tests/ folder in this project.

Not yet written.

  • Planemo licensed under the Apache License, Version 2.0. See the NOTICE file distributed with this work for additional information regarding copyright ownership.
  • Planemo logotype images Copyright (C) Christoffer Pettersson, christoffer[at] All Rights Reserved! Please contact Christoffer regarding the possible use of these images.