https://github.com/gluestack/bolt-framework
The Universal Project Runner. Run Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.
https://github.com/gluestack/bolt-framework
bolt docker gluestack host local project-runner service-runner virtual-machine
Last synced: about 1 year ago
JSON representation
The Universal Project Runner. Run Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.
- Host: GitHub
- URL: https://github.com/gluestack/bolt-framework
- Owner: gluestack
- License: mit
- Created: 2023-06-27T05:45:42.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-30T06:32:05.000Z (over 2 years ago)
- Last Synced: 2025-03-29T20:51:11.059Z (about 1 year ago)
- Topics: bolt, docker, gluestack, host, local, project-runner, service-runner, virtual-machine
- Language: JavaScript
- Homepage: https://bolt.gluestack.io
- Size: 562 KB
- Stars: 14
- Watchers: 7
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
bolt: The Universal Project Runner
Run Docker containers, child processes, or even encapsulate your entire project within a VM, all under one unified API.
## :question: 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 -

## :thinking: 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 -

## :fire: 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
## :beginner: Getting started
* [Introduction](https://bolt.gluestack.io/docs/getting-started/introduction)
* [Terminologies](https://bolt.gluestack.io/docs/getting-started/terminologies)
* [Installation Guide](https://bolt.gluestack.io/docs/getting-started/installing-the-global-cli)
* [Your First Bolt Project](https://bolt.gluestack.io/docs/getting-started/your-first-bolt-project)
* [Add Bolt to Existing Project](https://bolt.gluestack.io/docs/getting-started/add-bolt-to-existing-project)
* [ENV Management](https://bolt.gluestack.io/docs/getting-started/env-management)
* [Service Management](https://bolt.gluestack.io/docs/getting-started/service-management)
Checkout our [documentation](https://bolt.gluestack.io/docs) to find out more and to go through our Tutorials & API References.
## :see_no_evil: 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](https://discord.gg/GEP2gWgd).
## :telephone_receiver: For contributing or connecting with us
Join our [Discord](https://discord.gg/GEP2gWgd)