garden.yml
(or *.garden.yml
) configuration files, which Garden collects and compiles into a Stack Graph of your project.project.garden.yml
for clarity, but you can also use garden.yml
or any filename ending with .garden.yml
.workflows.garden.yml
file in your project root.modules.include
and modules.exclude
fields in project configuration files..gitignore
and .gardenignore
.modules.include
and modules.exclude
fields are a simple way to explicitly specify which directories should be scanned for modules. They both accept a list of POSIX-style paths or globs. For example:modules
directory, but exclude the modules/tmp
directory.include
, only those patterns are included. If you then specify one or more exclude
patterns, those are filtered out of the ones matched by include
. If you only specify exclude
, those patterns will be filtered out of all paths in the project directory.modules.exclude
field is also used to limit the number of files and directories Garden watches for changes while running. Use that if you have a large number of files/directories in your project that you do not need to watch, or if you are seeing excessive CPU/RAM usage. The modules.include
field has no effect on which paths Garden watches for changes..gitignore
files were also respected by default. The default is now to only respect .gardenignore
files. See below how you can revert to the previous behavior..gardenignore
files and excludes any patterns matched in those files. You can place the ignore files anywhere in your repository, much like .gitignore
files, and they will follow the same semantics..gardenignore
file in your project root directory:node_modules
and public
directories across your project/repo, and all .log
files.modules.include
fields in your project config, and include
fields in your module configs. If a path is matched by one of the ignore files, the path will not be included in your project or modules.dotIgnoreFiles
field in your project configuration. For example, you might choose to also respect .gitignore
files (this was the default behavior prior to Garden 0.12.0):