Using Baresoil

This article contains instructions for starting, developing, and deploying Baresoil applications to a Baresoil server. Ideally, you should have first installed Baresoil, either on your own computer, or as an autoscaling cluster on Amazon AWS.

Create a Developer Account

Baresoil supports one or more developer accounts on a running server or cluster. Developers can create and update new applications that are each attached to a subdomain of the configured top-level domain(s). Developer accounts are created using the Baresoil CLI, i.e., the baresoil command.

By default, the Baresoil CLI connects to a server running on your local system. However, you can also instruct the CLI to use the demo server. The following commands tells Baresoil to create a new developer account on the demo server, using HTTPS to encrypt all traffic. You will be prompted for information like a password for the account.

baresoil signup --server wss://

Once you have successfully created a developer account, the Baresoil CLI will remember your credentials and the server name. You can only be logged into one server at a time. To see details about your current logged-in session, use the whoami command.

baresoil whoami

Start a Project

In an empty directory, run the following command to create the ELIZA chatbot project from a template, which will be described in more detail in a subsequent section.

baresoil init -t eliza

Once the project and its dependencies has been successfully initialized, you can "register" the project to a subdomain of the top-level TLD, such as if you are using the demo server. If you are using a locally installed server, you may have to create a manual entry in your system's hosts file for development.

In the following example, the eliza subdomain of the demo server is registered.

baresoil register --hostname

If you want to deploy the Eliza project to the demo server, you will have to pick a subdomain other than, since it is already registered.

Deploy your Project

Once you have registered a subdomain for your new project, you can deploy it to synchronize its component code to the server.

baresoil deploy

Baresoil deployments are atomic and incremental, and can be repeated whenever you update your code.

Once your project has been deployed, you can access it at the subdomain you registered. This is an example of what the Eliza template currently produces:

The Eliza chatbot.
The Eliza chatbot.

Next: Read a walkthrough tutorial of the Eliza application.