# Glossary

#### Environment

Represents the current configuration and status of any running services in the [project](#project), which may be inspected and modified via the Garden CLI's `environment` command.

Several named environment configurations may be defined (e.g. *dev*, *testing*, ...) in the [project's `garden.yml`](https://docs.garden.io/acorn-0.12/using-garden/projects).

#### Module

The unit of building in Garden. A module is defined by its [`garden.yml` configuration file](https://docs.garden.io/acorn-0.12/using-garden/configuration-overview), located in the module's top-level directory.

Each module has a plugin type, and may define one or more [services](#service).

Essentially, a project is organized into modules at the granularity of its *build* steps. A module's build step may depend on one or more other modules having already been built, as specified in its `garden.yml`, in which case those modules will be built first, and their build output made available to the requiring module's build step.

#### Project

The top-level unit of organization in Garden. A project consists of one or more [modules](#module), along with a project-level [`garden.yml` configuration file](https://docs.garden.io/acorn-0.12/reference/project-config).

Garden CLI commands are run in the context of a project, and are aware of all its configuration, modules and services.

#### Provider

An implementation of a plugin type (e.g. `local-kubernetes` for the `container` plugin).

Whenever "a module's type" is mentioned in the documentation, what's meant is "which provider will handle this module?" Providers are responsible for implementing a module type's behaviors—e.g. how to build, deploy or test the module. Providers need to be specified for all the module types used in the project.

For example, both the `local-kubernetes` and `kubernetes` providers (`kubernetes` is the provider for remote Kubernetes) implement the `container` module type, but they handle deployments differently. `local-kubernetes` deploys to a local cluster, where `kubernetes` deploys to a remote cluster.

For a comprehensive list of providers available in Garden, check out the [References](https://github.com/garden-io/garden/blob/latest-release-0.12/docs/reference/README.md)

#### Service

The unit of deployment in Garden. Services are defined in their parent [module](#module)'s `garden.yml`, each exposing [one or more ingress endpoints](https://docs.garden.io/acorn-0.12/module-types/container#servicesingresses).

Services may depend on services defined in other modules, in which case those services will be deployed first, and their deployment output made available to the requiring service's deploy step.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.garden.io/acorn-0.12/reference/glossary.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
