Dear CWL maintainers,
Thank you for your job, we really appreciate CWL and would like to contribute to the project from time to time.
Is there any documentation to onboard new contributors and explain the relationship between the different CWL repositories? I’ve been trying to understand the workflow to figure out where new logic should live, but I’m not sure I have the full picture.
From what I understand so far (please correct me if I’m wrong):
-
The CWL specifications live in repos like
cwl-v1.3,cwl-v1.2, etc. -
schema_saladis used to turn the CWL specs into Python code and schemas used by -
cwl-utils, which provides Python utilities and data models for working with CWL -
cwltoolthen builds on top of that to handle validation and execution of CWL workflows
If that’s roughly correct, would it make sense to have a short (and may be shared) contributing guide or architecture overview (mermaid diagram) somewhere that explains:
-
which repo should contain what kind of logic, and
-
how changes are expected to flow between spec / utils / cwltool?
Also, a few process questions that might be useful to document for contributors:
-
For questions or design discussions, what’s preferred: the CWL forum, GitHub issues, or PR discussions?
-
Is it okay to open PRs without a corresponding issue, or do you prefer an issue first for any non-trivial change?
-
How are issues/PRs usually prioritized (e.g., based on spec relevance, maintainer bandwidth, user demand)?
This would make it much easier for new contributors to place PRs in the right repo I think.
Thanks a lot for maintaining it ![]()
(Sorry I would have preferred to include links to the repos but I can’t because I am a new user in the forum apparently)