2. General principles
2.1. What is a suite?
A definition of the workflow including tasks and their dependencies: This is captured in the ecFlow .def file, which is uploaded to an ecFlow server and displayed in the ecFlow UI.
Scripts and software to run the tasks: Each task needs a .ecf script which is expanded by ecFlow and can call other shell scripts or executables.
Code to generate and deploy the definition and scripts: This is typically a Python script based on suite building packages which reads a configuration file and generates the ecFlow .def file and the .ecf scripts.
2.2. TL;DR recommendations
Keep it simple: Complexity should always be weighed against maintainability and clarity for other users.
Tasks and scripts should be self-contained without side effects.
Document tasks in the manual pages enough so operators understand their purpose.
For suite construction use configuration files where possible.
Use version control for suite definitions, scripts, and configuration files.