Desktop app and CLI utility to auto-generate n8n nodes
by Iván Ovejero and Erin McNulty
Installation • Operation • Examples • Documentation
Nodemaker is an automatic node generator for n8n, a workflow automation tool. Nodemaker outputs all functionality and documentation files for a node, places them in the official repos, and uploads a sample workflow to n8n.io.
Developed as a desktop app and CLI utility, in MVP stage, as a capstone project for the MLH Fellowship.
Built with TypeScript, Node, Electron and Vue
To set up Nodemaker:
git clone https://github.com/MLH-Fellowship/nodemaker.git
cd nodemaker && npm run setup
To quickly see it working:
npm run nodegen
With nodegen
, Nodemaker will read the built-in sample params and generate sample output files in /output
.
Nodemaker can be operated as a desktop app or as a CLI utility.
- To run the desktop app:
npm run desktop
- To run the CLI, see the CLI reference.
Nodemaker generates two types of files:
Node functionality files
*.node.ts
— main logic (regular or trigger node)GenericFunctions.ts
— node helper functions*Description.ts
— separate logic per resource (optional)*.credentials.ts
— node authentication paramspackage.json
— updated node listing*.png
— node icon
Auto-generated HackerNews.node.ts and GenericFunctions.ts |
Node documentation files
README.md
— main doc fileREADME.md
— credentials doc fileworkflow.png
— in-app screenshot for main doc file
Auto-generated README.md and workflow.png |
Once these files are generated, Nodemaker can:
- relocate them in your copies of the n8n and n8n-docs repos, and
- submit a sample workflow to the n8n.io collection.
Node files auto-placed in n8n repo and workflow auto-submitted on n8n.io |
© 2020 Iván Ovejero and Erin McNulty
Distributed under the MIT License. See LICENSE.md.