Skip to main content

Software Setup

qroma Installation

The qroma command-line interface (CLI) tool is available either as a Windows executable or you can download and run it from Python source with poetry.

Running from Windows

If you are going to run from Windows, it'll be easiest if you put qroma.exe somewhere on your $PATH

Running from source

A couple of notes if you are running from source:

  • We manage this project with Poetry installed, so we assume you will, too (this doesn't mean suggestions about other ways to do it aren't welcome, though!)
  • When you come across a qroma <COMMAND-ARGUMENTS> step, substitute with poetry run python src/qroma-cli.py <COMMAND-ARGUMENTS> from the qroma-project-generator source directory

qroma Dependencies

The qroma command assumes the following programs will be available from its command line context. If you're not able to run the commands below from your command line, qroma won't be able to, either.

Testing your Dependencies

Once you have qroma CLI ready, run qroma env. This will give you a report of what tools it isn't able to find to help you resolve tooling issues.

Required

  • docker - available from Docker
    • Used in the Protocol Buffer compiler step. Without it, you can define your Protobuf Messages, but you won't be able to translate them to the programming languages qroma supports and put them in their software project directories automatically.
  • PlatformIO - available as CLI OR available for IDEs
    • Used for the firmware compilation step. Without it, you won't be able to have qroma compile and put your software in place for browser-based firmware installation.
  • node - available from NodeJS
    • Used for the website generation step. Required for npm to run.
  • npm - available from NPM
    • Used for the website generation step. Without it, you won't be able to have qroma build or run your site for local development or make full site builds.

Optional

  • git - available from git-scm or from Github
    • Used for qroma to automatically make git commits during different parts of the template generation process.
  • code - get VisualStudio Code
    • VisualStudio Code is not required for operation, but will be used as a default file editor if it's available.