bolt: The Universal Project Runner
Run Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.
โ What is bolt?
bolt is the Universal Project Runner that runs Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.
Below's brief overview of bolt's architecture -
๐ค Why bolt?
Running projects locally requires running system services and using system resources.
For eg: A project may need to run a Postgres instance, an iOS simulator and a Node watcher & bundler.
It can get cumbersome when you set up everything manually because you may need a Docker instance for the Postgres, a child process on the host machine to boot the iOS simulator and another child process for the Node packager. The Node packager can also run as a Docker instance.
And when you run all these, the host machine may slow down and you may have to move things inside a VM. Bolt solves all those problems with a unified API for managing services (boot, kill, restart, fetch logs).
Below's brief overview of how bolt's architecture designed to help in such scenarios -
๐ฅ Features
- Allows you to run multiple services from a single project on different environments
- You can run a service on your host machine locally or within Bolt's prepared virtual machine
- Auto-detection helps you quickly get started with the Bolt file configuration
- Available environments include:
- Host machine's local environment
- Host machine's Docker environment
- Virtual machine's local environment
- Virtual machine's Docker environment
- Includes the log command to monitor and print logs from processes, Docker containers, or virtual machines
- Facilitates access to your project's virtual machine
๐ฐ Getting started
- Introduction
- Terminologies
- Installation Guide
- Your First Bolt Project
- Add Bolt to Existing Project
- ENV Management
- Service Management
Checkout our documentation to find out more and to go through our Tutorials & API References.
๐ Caveat
We are currently very much an Alpha product. To file an issue if you face any problems or to discuss your use-case, please join our Discord.
๐ For contributing or connecting with us
Join our Discord