Creating a garden

Once dryad is installed, a garden can be created in the current directory by running dryad garden create.

This should create a file structure that looks something like:

  ./
  dyd/
    heap/
    roots/
    shed/
    sprouts/
    type
  

In order to take advantage of the filesystem, dryad enforces a strict structure for workspaces and packages:

  • gardens are contained in a /dyd directory
  • gardens have a heap directory for caching build artifacts
  • gardens have a roots directory for the source packages to be built
  • gardens have a shed for storing garden configurations
  • gardens have a sprouts directory, where built packages are linked
  • gardens have a /dyd/type file at the base with the content garden (to flag the directory as a garden)

You can read more about the heap, roots, the shed, and sprouts in the Concepts. But, the heap and the sprouts are build artifacts (or links to build artifacts). So, if this project is going to be stored in a version control system, you should likely ignore them.

Here is an example gitignore for ignoring the heap and sprouts in a git project:

  # gitignore paths for a dryad garden
/**/dyd/heap/
/**/dyd/sprouts/