

Welcome! Garden is a full-featured development framework for containers and serverless backends, designed to make
it easy to develop and test distributed systems.
Status
The project is in early alpha (or developer preview, if you prefer). This means APIs may well change (not drastically,
but still), overall stability will improve and platform support is still limited.
All that said, Garden can already be highly useful if the following applies to you:
- You're deploying to (or transitioning to) Kubernetes.
- You develop on Mac or Linux.
- You work mostly with containers today (but perhaps plan on adopting serverless platforms in the future).
- You keep all your services in a single repository (multi-repo support coming soon!).
- You really don't want to spend your precious hours building your own developer tooling!
If that sounds right for you, please give it a go and don't hesitate to report issues.
Features
With Garden, you can...
- Configure and deploy a fleet of services to a local Kubernetes cluster using simple declarations.
- Use an integrated framework for building, testing and deploying services.
- Easily run end-to-end tests across multiple services without waiting for a slow CI pipeline.
- Automatically build, deploy and/or test when your code changes, using the
--watch
flag or the garden dev
command. - Manage build and runtime dependencies across all your services.
- Leverage a suite of commands and helpers to facilitate developing and running your stack.
- Write code the way you want, and run your production system however suits you! Garden does not impose any new libraries or languages aside from the config files.
Garden is also designed to be pluggable and modular, with Kubernetes being just one plugin (albeit an important one).
Over time we will add native support for a variety of platforms, including AWS (Lambda, ECS, Fargate and more),
GCP, Heroku, OpenFaaS... and the list will continue growing.
Please read the Motivation section in our documentation
for a brief discussion on why we're building Garden.
Usage
Head over to our Getting Started guide for details
on how to set up and use Garden, or look through our Simple Project
guide to get a quick sense of how it works.
Contributing
We welcome any and all contributions to Garden! What we're trying to achieve is a big task, and
developers have a lot of diverse needs, so we need and appreciate your input, whether it's through
code, docs, issues or developing plugins for your needs.
For more detailed guidelines, see CONTRIBUTING.md.
License
Mozilla Public License 2.0 (MPL-2.0)