_ROCKproject:

  project:

    title: "The Alice Study"                     # Any character string
    authors: "Author names as string"            # Any character string
    authorIds:
      -
        display_name: "Talea Cornelius"          # Any character string
        orcid: "0000-0001-7181-0981"             # Any character string matching ^([0-9]{4}-){3}[0-9]{4}$
        shorcid: "ip6b381"                       # Any character string matching ^([0-9a-zA-Z]+$
      -
        display_name: "Gjalt-Jorn Peters"        # Any character string
        orcid: "0000-0002-0336-9589"             # Any character string matching ^([0-9]{4}-){3}[0-9]{4}$
        shorcid: "it36ll9"                       # Any character string matching ^([0-9a-zA-Z]+$

    version: "1.1"                               # Anything matching regex [0-9]+(\\.[0-9]+)*
    ROCK_version: "1.0"                          # Anything matching regex [0-9]+(\\.[0-9]+)*
    ROCK_project_version: "1.0"                  # Anything matching regex [0-9]+(\\.[0-9]+)*
    date_created: "2023-03-01 20:03:51 UTC"      # Anything matching that date format, preferably converted to UTC timezone
    date_modified: "2023-03-08 20:03:51 UTC"     # Anything matching that date format, preferably converted to UTC timezone

  codebook:
    urcid: ""
    embedded: ~
    local: ""

  sources:

    extension: ".rock"                           # Any valid extension
    regex: ~                                     # Any regex or ~
    dirsToIncludeRegex: data/                    # Any regex or ~
    recursive: true                              # true or false
    dirsToExcludeRegex: ~                        # Any regex or ~
    filesToIncludeRegex: ~                       # Any regex or ~
    filesToExcludeRegex: ~                       # Any regex or ~

  workflow:

    pipeline:
      -
        stage: raw                               # Anything matching regex [a-A-Z][a-zA-Z0-9_]*
        dirName: "data/010---raw-sources"        # Any valid directory name, using a forward slash as separator
        nextStages:
          -
            nextStageid: clean                   # A different stage identifier or ~
            actionId: cleanSource
          -
            nextStageid: uids                    # A different stage identifier or ~
            actionId: addUIDs
      -
        stage: clean                             # Anything matching regex [a-A-Z][a-zA-Z0-9_]*
        dirName: "data/020---cleaned-sources"    # Any valid directory name, using a forward slash as separator
        nextStages:
          -
            nextStageid: uids                    # A different stage identifier or ~
            actionId: addUIDs
      -
        stage: uids                              # Anything matching regex [a-A-Z][a-zA-Z0-9_]*
        dirName: "data/030---sources-with-uids"  # Any valid directory name, using a forward slash as separator
        nextStage: coded                         # A different stage identifier or ~
      -
        stage: coded                             # Anything matching regex [a-A-Z][a-zA-Z0-9_]*
        dirName: "data/040---coded-sources"      # Any valid directory name, using a forward slash as separator
        nextStage: masked                        # A different stage identifier or ~
      -
        stage: masked                            # Anything matching regex [a-A-Z][a-zA-Z0-9_]*
        dirName: "data/090---masked-sources"     # Any valid directory name, using a forward slash as separator
        nextStage: ~                             # A different stage identifier or ~

    actions:
      -
        actionId: addUIDs                        # String, referenced from the stages
        language: R                              # Language, has to be matched to interpreter
        dependencies: rock                       # Dependencies to be loaded before running the script
        script: |                                # Literal block style string
          rock::prepend_ids_to_sources(
            input = {currentStage::dirName},
            output = {nextStage::dirName}
          );
