Garden

Garden grows and cultivates collections of Git trees.

Garden makes it easy to perform development tasks over collections of self-contained and inter-dependent Git worktrees.

Code Status

Build Status MIT License

While Garden is under heavy development and not yet feature complete, it is quite stable and works well for day to day use.

The [ideas][doc/ideas.md] page contains a list of ideas to explore in the future.

Documentation

Read the Garden User Guide for details on how to use and configure Garden.

Read the Garden API Documentation for details on how to use the Garden APIs for developing Garden.

Features

Garden weaves together arbitrarily complex development environments from independent Git worktrees.

Garden aids in common development setup steps such as setting environment variables, configuring search paths, and creating arbitrary groupings of repositories for development.

Installation

There are multiple ways to install garden.

Usage

Garden is primarily used as a command-line tool, even though it exposes all of its functionality as a Rust crate.

Here are the main commands you will want to run. For a more exhaustive explanation, check out the [User Guide].

Acknowledgements

The structure and content of the README and documentation was heavily inspired by the the mdbook documentation.

The yaml-rust parser used by Garden is @davvid's fork of the original yaml-rust crate by @chyh1990.