| Action | A node within the dependency graph that gets executed by the action pipeline. |
| Action pipeline | Executes actions from our dependency graph in topological order using a thread pool. |
| Affected | Touched by an explicit set of inputs or sources. |
| Cache | Files and outputs that are stored on the file system to provide incremental builds and increased performance. |
| CI | Continuous integration. An environment where tests, builds, lints, etc, are continuously ran on every pull/merge request. |
| Dependency graph | A directed acyclic graph (DAG) of targets to run and their dependencies. |
| Downstream | Dependents or consumers of the item in question. |
| Generator | Generates code from pre-defined templates. |
| Hash | A unique SHA256 identifier that represents the result of a ran task. |
| Hashing | The mechanism of generating a hash based on multiple sources: inputs, dependencies, configs, etc. |
| LTS | Long-term support. |
| Dependency manager | Installs and manages dependencies for a specific tool (npm), using a manifest file (package.json). |
| Platform | An internal concept representing the integration of a programming language (tool) within moon, and also the environment + language that a task runs in. |
| Primary target | The target that was explicitly ran, and is the dependee of transitive targets. |
| Project | An collection of source and test files, configurations, a manifest and dependencies, and much more. Exists within a workspace |
| Revision | In the context of a VCS: a branch, revision, commit, hash, or point in history. |
| Runtime | An internal concept representing the platform + version of a tool. |
| Target | A label and reference to a task within the project, in the format of project:task. |
| Task | A command to run within the context of and configured in a project. |
| Template | A collection of files that get scaffolded by a generator. |
| Template file | An individual file within a template. |
| Template variable | A value that is interpolated within a template file and its file system path. |
| Token | A value within task configuration that is substituted at runtime. |
| Tool | A programming language or dependency manager within the toolchain. |
| Toolchain | Installs and manages tools within the workspace. |
| Transitive target | A target that is the dependency of the primary target, and must be ran before the primary. |
| Touched | A file that has been created, modified, deleted, or changed in any way. |
| Upstream | Dependencies or producers of the item in question. |
| VCS | Version control system (like Git or SVN). |
| Workspace | Root of the moon installation, and houses one or many projects. Also refers to package manager workspaces (like Yarn). |