Version control workflows

A feature that would be useful is to deploy workflows using git, this would help with version controlling the n8n node changes.

After a bit more though, it would be really good to script the workflow and automatically convert the script to Json that could be loaded into n8n, this way users can create work flows either via the UI or using JS scripts.

Not exactly sure I understand what you mean but a user created a workflow here which automatically backups and versions n8n workflows:
https://n8n.io/workflows/175

What I mean is be able to use javascript to set the options for different n8n nodes and have the option imported into n8n.
Example code :

webhook.url = "www.example.com"
webhook.method = POST

httpRequest = webhook.response == 200 ? submit

the example code would create 2 connected n8n nodes when you imported the code into n8n.