# Flow A flow is used to represent a workflow or manufacturing process. ## Flow Info You define a flow within a JSON file stored in `./flows`. A flow consists of: - `name` - The name of the flow. - `depends` - A list of item variants that this flow depends on. - `next` - Optional continuation of the flow - `produces` - Optional list of item variants produced by the flow. Example: ```json { "name": "Flow 1", "depends": ["item::variant"], "next": "flow2", "produces": ["item::variant"] } ``` ## Flow Dependencies A flow can depend on items. These can be resource requirements for the flow. For example, a flow for growing plants can depend on a Seed item, which the flow can consume when started. ## Next Flows A flow can have a next flow. This is used to chain complex workflows together into a pipeline. Often times many steps are needed for manufacturing. Each step can be a seperate flow, but then chained together with a next flow. This way you can split up different parts and still have a continues workflow. ## Producing Items A flow can produce items. These are used to represent the output of the flow. With items from a flow you can trace back to their original source like a supply chain.