Developer environment guide

You can save a lot of time and frustrations by spending some time setting up your development environment. We have primarily adopted existing community style guides, and in most cases the formatting and checking can be fully automated by your editor.


You can use any code editor of your choice. Here we give a brief overview of some of the editors our existing developers are using. For all editors, the most important is support for EditorConfig


All repositories have a .editorconfig file which defines indention style, text encoding, newlines etc. Many editors either come with built-in support or plugins that reads the .editorconfig file and configures your editor accordingly.

See EditorConfig for list of supported editors.


Following editors (listed alphabetically) are used by our existing developers. Don’t hesitate to reach out on our Gitter channel, to ask for help for useful plugins:

Plugins for editors

The key plugins you should look for in your editor of choice are:

  • Python / JavaScript environment
  • PEP8 / PEP257 style checking
  • Isort plugin.

Working with Git and GitHub

There are a couple of utilities that allow you to work more efficiently with Git and GitHub.


Hub is a command-line wrapper for git that makes it easier to work with GitHub. See the installation instructions for how install Hub.

Here is a short overview of possibilities:

`console # Clone one of your personal repositories from GitHub $ git clone invenio-app # Fetch the upstream inveniosoftware/invenio-app $ git fetch inveniosoftware `