.. note:: This tutorial is a continuation of :doc:`Getting Started With Docker `. Please complete that tutorial prior to doing this one. Getting Started with CWL (Legacy) ================================= Tutorial Goals -------------- - Learn about the `Common Workflow Language (CWL) `__ - Create a basic CWL Tool which uses a Docker image - Run the Tool locally - Describe a sample parameterization of the Tool - Push the Tool onto GitHub Tutorial Background ------------------- This is a legacy version of our "Getting Started with CWL" tutorial. As is mentioned in :doc:`Overhauling Dockstore Tools `, our definition of a tool has changed over time. This tutorial was designed for the older definition, where we required people to associate a tool with a Dockerfile. You can still follow this tutorial to create a valid CWL tool and register it as a GitHub App tool, but we recommend following a simpler version of this tutorial at :doc:`Getting Started With CWL `. Describe Your Tool in CWL ------------------------- Now that you have a git repository that includes a ``Dockerfile``, you have tested it, and are satisfied that your tool works in Docker, the next step is to create a `CWL tool definition file `__. This YAML (or JSON) file describes the inputs, outputs, and Docker image dependencies for your tool. It is recommended that you have the following minimum fields: :: doc: id: label: