Constructing a default value for a tool input

If this input directory contains only a few files/folders and they have separate value to the workflow (either because you reuse them without the rest of the directory later, or you want to assemble this input directory from components) then you might want to consider making them explicit separate inputs and assemble them using InitialWorkDirRequirement. Then you will know the exact path to the metadata CSV and can provide that to the tool without asking the user.

Otherwise you can try this:

inputs:
  metadata_path:
    doc: path within the provided InputDir to the sample sheet CSV
    type: string?
    default: something.csv
    inputBinding:
       prefix: --sample-sheet=$(inputs.inputDir.path)/

If the tool doesn’t accept --sample-sheet with the = then try this:

inputs:
  metadata_path:
    doc: path within the provided InputDir to the sample sheet CSV
    type: string?
    default: something.csv

arguments:
  - prefix: --sample-sheet
    valueFrom: $(inputs.inputDir.path)/$(inputs.metadata_path)