# Project Documentation Generation

**URL:** https://discourse.nodered.org/t/project-documentation-generation/92473
**Category:** General
**Tags:** documentation
**Created:** [17 October 2024 21:07 UTC](https://discourse.nodered.org/t/project-documentation-generation/92473 "2024-10-17T21:07:56Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![garynl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/garynl/32/95490_2.png) [@garynl](https://discourse.nodered.org/u/garynl)
#### Post date: [17 October 2024 21:07 UTC](https://discourse.nodered.org/t/project-documentation-generation/92473/1 "2024-10-17T21:07:56Z")

</div>

Is there any software available that takes a node-red project and extracts flows and descriptions and puts them together as a document (e.g a pdf)

Cheers  
gary

---

<div class="post-metadata">

### Author: ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)
#### Post date: [18 October 2024 09:07 UTC](https://discourse.nodered.org/t/project-documentation-generation/92473/2 "2024-10-18T09:07:05Z")

</div>

I know of no software that will do that but you could always export your flow and have a file that you could interrogate. You could write a flow to read the exported file and grab the information you want...but...where are the descriptions you want to grab? Do you add `comment` nodes with an explanation or are you putting your descriptions elsewhere?

1. When you say 'extract flows' you can grab an export from your device and play with it using a file node.

For example I created a small flow (`inject`-\>`change`-\>debug`with a`comment` node) and here is what the export looks like:

```auto
[
    {
        "id": "e4b43d8ce7073555",
        "type": "inject",
        "z": "95081a450cecb535",
        "name": "inject 'cat'",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "cat",
        "payloadType": "str",
        "x": 340,
        "y": 160,
        "wires": [
            [
                "41dc7adf239d693d"
            ]
        ]
    },
    {
        "id": "4dbd232e68afb32e",
        "type": "debug",
        "z": "95081a450cecb535",
        "name": "display msg.payload",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 800,
        "y": 160,
        "wires": []
    },
    {
        "id": "41dc7adf239d693d",
        "type": "change",
        "z": "95081a450cecb535",
        "name": "change payload to 'dog'",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "dog",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 550,
        "y": 160,
        "wires": [
            [
                "4dbd232e68afb32e"
            ]
        ]
    },
    {
        "id": "d1327b9c3081d25e",
        "type": "comment",
        "z": "95081a450cecb535",
        "name": "always output 'dog'",
        "info": "in this flow the change node will always set msg.payload to the word 'dog'",
        "x": 550,
        "y": 100,
        "wires": []
    }
]

```

1. When you say `extracts flows and descriptions and puts them together as a document` do you mean you want the json or screen prints of each page of the flow? Like this that I just did a screen print of:  
 ![Screenshot 2024-10-18 at 5.03.54 AM](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/9/5/95a739c0b5e64b11fb859c5e23934173178b4804.png)

---

<div class="post-metadata">

### Author: ![garynl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/garynl/32/95490_2.png) [@garynl](https://discourse.nodered.org/u/garynl)
#### Post date: [18 October 2024 16:23 UTC](https://discourse.nodered.org/t/project-documentation-generation/92473/3 "2024-10-18T16:23:10Z")

</div>

Yes, all the description fields in each of the flows and any comment nodes (and any other comment/info fields available). Ideally I would like a picture of the flow, but a flow screen print is a interesting compromise.

Thanks for your thoughts. I have some more thing to do myself!

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)
#### Post date: [16 January 2025 16:23 UTC](https://discourse.nodered.org/t/project-documentation-generation/92473/4 "2025-01-16T16:23:49Z")

</div>

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
