Package Information
Documentation
n8n Custom Node Template
Post-Exchange-Node: Damit der Node in n8n erscheint, muss das Paket nach
~/.n8n/nodesinstalliert werden (Neustart allein reicht nicht). Siehe INSTALL_N8N.md oder./scripts/install-into-n8n-nodes.sh.
Ein vollständiges, wiederverwendbares Boilerplate-Template für die schnelle Entwicklung neuer n8n Custom Nodes.
📦 Was ist enthalten?
Dieses Template enthält alles, was du brauchst, um einen neuen n8n Custom Node zu erstellen:
✅ Konfigurationsdateien
package.json- npm Package Config mit Platzhalternindex.ts- Entry Point für n8n (exportiert Credentials & Nodes)tsconfig.json- TypeScript Konfiguration.gitignore- Git Ignore Patterns.npmignore- npm Publish Ignore Patterns.eslintrc.js- ESLint Konfigurationgulpfile.js- Gulp Build für SVG Icons.cursorrules- Cursor AI Rules für konsistente Entwicklung
📝 Code-Templates
templates/credentials/ServiceApi.credentials.ts.template- Credential Template mit verschiedenen Auth-Methodentemplates/nodes/Service/Service.node.ts.template- Node Template mit CRUD-Operationentemplates/nodes/Service/service.svg.template- Icon Template
📚 Dokumentation
SETUP_GUIDE.md- Detaillierte Schritt-für-Schritt AnleitungQUICK_REFERENCE.md- Schnellreferenz für häufige TasksREADME.template.md- README Template für dein fertiges ProjektSTART_DEV.sh- Development Start Script
🚀 Quick Start
1. Template kopieren
cp -r n8n-node-template my-new-service-node
cd my-new-service-node
2. Setup-Guide folgen
Öffne SETUP_GUIDE.md und folge der Schritt-für-Schritt Anleitung.
3. Platzhalter ersetzen
Ersetze alle Platzhalter in allen Dateien:
[SERVICE_NAME]- Name des Services (z.B. "Stripe")[NODE_NAME]- Lowercase Node-Name (z.B. "stripe")[DISPLAY_NAME]- PascalCase Class-Name (z.B. "Stripe")[API_BASE_URL]- API Base URL[AUTHOR]- Dein npm Username
Wichtig: Vergiss nicht die index.ts Datei - sie ist essentiell für n8n!
4. Templates kopieren und umbenennen
mkdir -p credentials nodes/[DISPLAY_NAME]
cp templates/credentials/ServiceApi.credentials.ts.template \
credentials/[DISPLAY_NAME]Api.credentials.ts
cp templates/nodes/Service/Service.node.ts.template \
nodes/[DISPLAY_NAME]/[DISPLAY_NAME].node.ts
cp templates/nodes/Service/service.svg.template \
nodes/[DISPLAY_NAME]/[NODE_NAME].svg
5. Build & Test
npm install
npm run build
npm run dev # Terminal 1
./START_DEV.sh # Terminal 2
📖 Dokumentation
Für Template-Benutzer
SETUP_GUIDE.md- Start hier! Vollständige Setup-AnleitungQUICK_REFERENCE.md- Schnelle Referenz für häufige Tasks.cursorrules- Best Practices und Patterns
Für dein Projekt
README.template.md- Verwende dies als README für dein Projekt- Passe alle Platzhalter an deinen Service an
🎯 Features
Mehrere Authentifizierungsmethoden
Das Template unterstützt:
- API Key Header
- Bearer Token
- HTTP Basic Auth
- OAuth2 (Basis)
CRUD Operations Template
Vorkonfiguriert mit:
- Get All (mit Pagination)
- Get (einzelnes Item)
- Create
- Update
- Delete
Best Practices
- TypeScript mit strikter Typisierung
- ESLint Konfiguration
- Error Handling mit "Continue on Fail"
- Null-Safe Expressions
- Proper Response Handling
🛠️ Enthaltene Tools
Build Scripts
npm run build # Einmalig kompilieren
npm run dev # Watch-Modus
npm run clean # Clean Build
npm run lint # Linter ausführen
npm run lint:fix # Linter mit Auto-Fix
Development Workflow
- Auto-Build mit
npm run dev - n8n Start mit
./START_DEV.sh - Hot-Reload Support (n8n Neustart erforderlich)
📋 Platzhalter-Übersicht
| Platzhalter | Beschreibung | Beispiel |
|---|---|---|
[SERVICE_NAME] |
Display-Name des Services | Stripe, Slack |
[NODE_NAME] |
Lowercase Node-Name | stripe, slack |
[DISPLAY_NAME] |
PascalCase Class-Name | Stripe, Slack |
[API_BASE_URL] |
Base URL der API | https://api.stripe.com/v1 |
[AUTHOR] |
npm Username | john_doe |
[API_DOCUMENTATION_URL] |
Link zur API Docs | https://stripe.com/docs/api |
🎓 Lernressourcen
Offizielle n8n Dokumentation
Community
💡 Tipps
- Start Simple - Beginne mit 1-2 Endpoints
- Test Often - Teste nach jeder Änderung in n8n
- Read API Docs - Verstehe die API bevor du codest
- Use TypeScript - Nutze die Type-Safety
- Error Handling - Implementiere von Anfang an
- Small Commits - Committe regelmäßig
🐛 Troubleshooting
Node erscheint nicht in n8n
ls -la dist/
rm -rf ~/.n8n/cache
# n8n neu starten
TypeScript Compilation Errors
npm install
npm run clean
npm run build
Weitere Probleme
Siehe SETUP_GUIDE.md Abschnitt "Troubleshooting"
📦 Verzeichnisstruktur
n8n-node-template/
├── .cursorrules # Cursor AI Rules
├── .eslintrc.js # ESLint Config
├── .gitignore # Git Ignore
├── .npmignore # npm Ignore
├── gulpfile.js # Gulp für Icons
├── index.ts # Entry Point (Exports) - WICHTIG!
├── package.json # Package Config (mit Platzhaltern)
├── tsconfig.json # TypeScript Config
├── START_DEV.sh # Start Script
├── README.md # Diese Datei
├── README.template.md # README für dein Projekt
├── SETUP_GUIDE.md # Setup Anleitung
├── QUICK_REFERENCE.md # Schnellreferenz
└── templates/ # Code Templates
├── credentials/
│ └── ServiceApi.credentials.ts.template
└── nodes/
└── Service/
├── Service.node.ts.template
└── service.svg.template
🚀 Nächste Schritte
- Lies
SETUP_GUIDE.md - Kopiere das Template
- Ersetze Platzhalter
- Kopiere und benenne Templates um
- Installiere Dependencies
- Build & Test
- Entwickle deinen Node!
📄 Lizenz
Dieses Template ist unter der MIT Lizenz verfügbar. Verwende es frei für deine eigenen n8n Custom Nodes.
🙏 Credits
Erstellt für die n8n Community, um die Entwicklung von Custom Nodes zu vereinfachen.
Viel Erfolg mit deinem n8n Custom Node! 🚀
Bei Fragen oder Problemen, schau in die Dokumentation oder ins n8n Community Forum.