kool
About kool is a CLI tool that helps bringing down to earth the complexities of modern software development environments - making them lightweight, fast and reproduceable. It takes off the complexity and learning curve of Docker and Docker Compose for local environments, as well as offers a highly simplified interface for leveraging Kubernetes cloud deployment for staging and production deployments.
Get your local development environment up and running easy and quickly, put time and effort on making a great application, and then leverage the Kool cloud for deploying and sharing your work with the world! This tool is suitable for single developers or large teams, powering them with a simple start and still provides all flexibility the DevOps team needs to tailor up everything.
Why adopt kool for your development environment?
- Provides out-of-the-box simple and fast development environments.
- No problems with running several projects with different versions and dependency needs.
- Do not install other project specific dependency ever again in your machine.
- Removes the learning curve of managing Docker and Docker Compose yourself (yet does not remove one inch of flexibity if you know your way around them).
- Standard tool for different stacks - helps micro-services teams to communicate and navigate amongst projects.
Installation
Requirements: Kool is powered by Docker so you need to have it already installed on your machine. If you haven't already, please get Docker first.
For Linux or MacOS
In order to obtain kool
under Linux and MacOS run the following script:
curl -fsSL https://kool.dev/install | bash
For Windows
Download and run the latest installer from our releases artifacts here.
Getting started
It is easy to get started leveraging kool
.
To create a new Laravel project you only need to:
$ kool create laravel my-laravel-project
$ cd my-laravel-project/
$ # make sure your `.env` points to the proper database and Redis hosts (`database` and `cache`)
$ kool start
To get started in an existing Laravel project you only need to:
$ cd my-laravel-project/
$ kool preset laravel
$ # make sure your `.env` points to the proper database and Redis hosts (`database` and `cache`)
$ kool start
-
There you go! Now you have a PHP 7.4, Mysql and Redis environment. You are encouraged to take a look and make changes you see fit at
docker-compose.yml
orkool.yml
to better adjust your project specifications. -
The steps above will create some configuration files in your project folder - all of which you should commit to your version control system.
Documentation
You can check the documentation at https://kool.dev/docs or at docs/.
Frameworks Presets
To help getting you started we've built presets as a starting point for some popular stacks and frameworks. In case you miss one let us know in an issue or feel free to open up a PR for it!
Some or our current presets to get you started in no time:
See it in action (DEMO)
You can check out a couple of sample commands in action at asciinema.org/~kooldev. We will be continuously uploading more samples.
Community, Contributing and Support
You are most welcome to contribute and help in our mission of making software development kool for everyone.
- Issues are the primary channel for bringing up and tracking issues or proposals.
- Kool community on Slack is the a great place to get help and reach Kool developers.
- Check out our contributing guide for getting involved.
Roadmap
We have been working in a loosely defined but clear roadmap. You can check it out in our blog Roadmap page.
Security
If you find security issue please let us know ahead of making it public like in an issue so we can take action as soon as possible. Please email the concern to contact@kool.dev
.
License
The MIT License (MIT). Please see License File for more information.