LogoLitehouseDocs

Commands

How to use Litehouse and the various commands

Litehouse has a number of commands, which can be found by running litehouse --help. A reference for them (with some additional explainers) can be found below. They are listed roughly in order of usage. To set up a new instance:

  • initialize the project
  • add some plugins
  • generate a schema file for your selected plugins
  • add all the plugins to the settings file
  • validate the settings
  • run litehouse

Init

Initialize a new Litehouse project. This will create a settings.json file and a wasm folder.

Terminal
litehouse init

Add

Add a plugin to your imports list and fetch it. If you specify a more specific (but compatible) version, it will replace the existing one rather than append.

Terminal
litehouse add tasmota@0.1.2

You can also add pre-configured instances using the add command from, for example, a plugin configured using the registry website. It is run just the same.

Terminal
litehouse add litehouse add tasmota@0.1.2#eyJpbnN0YW5jZSI6eyJpcCI6WzE5MiwxNjgsMSwxXX19

Generate

Generate the schema.json file, based on the plugins in your local wasm folder. This provides intellisense for your settings.json file.

Terminal
litehouse generate

Validate

Validate your settings.json file. This will check that all plugins are valid and that the config is correct. This is a handy sanity check that is a little more thorough than what the intellisense can provide.

Terminal
litehouse validate

Run

The run command is what starts up an instance of Litehouse. It will search your config file for plugin instances, boot them up, and serve them with updates.

Terminal
litehouse run

Lock

Lock the versions of the plugins in your imports field. This will hash the versions downloaded in your wasm folder and apply them to your settings file, ensuring that later fetch commands will get that precise version.

Terminal
litehouse lock
settings.json
{
  "imports": [
-   "samsung@0.2.0"
+   "samsung@0.2.0~blake3:af1349b9f5f9a1a6a0404dea36dcc9499bcb25c9adc112b7cc9a93cae41f3262"
  ]
}

Feedback

Tell me anything at all. Got an idea that doesn't warrant a github issue? Or simply want to say hi? Run litehouse feedback and let me know! It'll be sent directly to me. Be aware this also sends your git email and name so that we may get in touch :)

Terminal
litehouse feedback "This is cool, I'd like a plugin that could do my dishes..."

On this page

Edit on Github