Directory Layout
Understand the standard structure of a Grace workflow workspace.
When you initialize a new Grace project using grace init
, or when you structure a project manually, Grace expects a certain directory layout. This standardized structure helps keep your workflow definitions, source code, and Grace's operational outputs organized and predictable.
A typical Grace workflow workspace looks like this:
Understanding each component will help you effectively manage and version your Grace projects.
Key components
Explore the purpose and contents of each part of the Grace workspace.
grace.yml
The primary configuration file where you define your workflow, jobs, datasets, and toolchain settings.
src/
The conventional location for your application source code that Grace will manage and upload.
.grace/deck/
The internal directory used by Grace for its generated JCL.
.grace/logs/
The internal directory used by Grace for its operational log ouputs.
Best practices
- Version control: It's highly recommended to commit your
grace.yml
and the contents of yoursrc/
directory to a version control system like Git. .gitignore
: The.grace/
directory (and its subdirectoriesdeck/
andlogs/
) are typically generated by Grace and can often be added to your.gitignore
file, as they can be reproduced by runninggrace deck
orgrace run
. However, you might choose to commit.grace/deck/
if you manually fine-tune JCL there and usegrace deck --no-compile
.- Clarity: Maintaining this structure makes it easier for team members to understand and contribute to Grace workflows.