{"_id":"@_lenga/n8n-workflows-sync","_rev":"9-e4f2db94d9b1431e7b255d86cf8865b8","name":"@_lenga/n8n-workflows-sync","dist-tags":{"latest":"0.0.10"},"versions":{"0.0.1":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.1","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.1","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8n-pull":"dist/pull.js","n8n-push":"dist/push.js"},"dist":{"shasum":"4f5e1c52bdcf77059c3cb47aaf590143d3fef233","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.1.tgz","fileCount":10,"integrity":"sha512-3avqkiq9dqfwDeRaDw/luw2CUlhIC5ZbOMZuIwalUHLaikLE/Tzmq55gEHFsE0pMUsQAV5vGei5oedCMO0CN1A==","signatures":[{"sig":"MEUCIAY5dXTZi3umNVbCArnhDZNwDhW+bbJNKMeaaGwn1+RlAiEAwDorDuMyD0MfB9+5zjBeNd+WPUmw4lQ+3OddkCpxmXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5576},"type":"module","gitHead":"319ad1d4ed4c989f7836926aa53c60b63d43fa37","scripts":{"lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","dev:pull":"ts-node src/pull.ts","dev:push":"ts-node src/push.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows between your repository and your n8n instance","directories":{},"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.1_1764735624556_0.2778523250250682","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.2","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.2","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8n-pull":"dist/pull.js","n8n-push":"dist/push.js"},"dist":{"shasum":"647959ae23d6245b0f547ffe91cbea805ec0e159","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.2.tgz","fileCount":10,"integrity":"sha512-oiOsa+dGMEcRHqtTnBb15v5qZsKuryRALjJgk4CUOyFy5Z4/iF3EoZMB2kt2xWbEo1LzqardU8wG9eNnqcmMjg==","signatures":[{"sig":"MEUCIQDPlWLBy3YJaI6737iXiLq41iFB25bEnEKiyVNT7BzeaQIgL79m2k1qu3GdFiPi/G90Rc/PyGaCc+z5+UPmY50NP10=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7673},"type":"module","gitHead":"050c0d90a60305c8723a7cf751c2414a5393e005","scripts":{"dev":"n8n","lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","dev:pull":"ts-node src/pull.ts","dev:push":"ts-node src/push.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows between your repository and your n8n instance","directories":{},"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"n8n":"1.122.4","dotenv":"^17.2.3","eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.2_1764738413832_0.6604420255903416","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.3","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.3","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8n-pull":"dist/pull.js","n8n-push":"dist/push.js"},"dist":{"shasum":"c3176069cecb2adc32cd55e1e78e25eaf7276d7b","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.3.tgz","fileCount":22,"integrity":"sha512-jrthV1BQnuDnoZXwIB1ppXF9r7Xvem2n4MxMlPgEyqt/2uoQpyYrVDeHD5Qc2yxBOgNjm5r9YsCaIIb6ISJAJA==","signatures":[{"sig":"MEQCICC3eicKubA7z7puJjyc4WVXEoUMZmht2iN48O4qkq3nAiAQmttHMz5X9qMpLkzzEvkum+i24kIx6TnTS+mG4Jw/LQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11553},"gitHead":"f9acbd39e0dff55a80d20f132733122842fff0db","scripts":{"dev":"n8n","lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","dev:pull":"ts-node src/pull.ts","dev:push":"ts-node src/push.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows between your repository and your n8n instance","directories":{},"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"n8n":"1.122.4","dotenv":"^17.2.3","eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.3_1764758726199_0.9345184026484461","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.4","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.4","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8n-pull":"dist/pull.js","n8n-push":"dist/push.js"},"dist":{"shasum":"d7fd3daf932ae70402d893899220ef178811d33c","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.4.tgz","fileCount":26,"integrity":"sha512-nJnjzA8m4Hq5n1XOq0SD4w+Eai5vb8H8WFkFdQTsWT3LHiL6ymlic4Yc0pMc5pZNMHJRPnZIo7/FNfzhlCF5iQ==","signatures":[{"sig":"MEUCIQDR+FcfOSAL8oMGlqcErxl7M5MjLF1EjIvOkqTCRIeqdwIgZ+v2riKAvAborW/8ZHHNVqYvmbXthGxn3oD2nuzzrLM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":30536},"gitHead":"467aef506bba644f4f3825f3c50758e314b99191","scripts":{"dev":"n8n","lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","dev:pull":"ts-node src/pull.ts","dev:push":"ts-node src/push.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows between your repository and your n8n instance","directories":{},"_nodeVersion":"24.7.0","dependencies":{"js-yaml":"^4.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"n8n":"1.122.4","dotenv":"^17.2.3","eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","@types/js-yaml":"^4","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.4_1765451183670_0.025471257004002545","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.5","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.5","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8n-pull":"dist/pull.js","n8n-push":"dist/push.js"},"dist":{"shasum":"07b50587829ddcbcc510737febd87dfabfcaa2eb","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.5.tgz","fileCount":26,"integrity":"sha512-UAac8TYlEO0On5TC27tAMnfQXBuL60uUe32y8G7B3mpM+aBhbkgipuv0bThLrM9SH1j2PhJW+Y0z8/SQ3OV42A==","signatures":[{"sig":"MEYCIQCu2+b1VkGSbC1ajLvNzGXAYX2/vcdVGlYWd09a7lFUSQIhAJ1GTBga4p9KsPnvmBJzwSclJHD5CeJflgEPNinDklqm","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33858},"gitHead":"d837219238226180d838ca9ad8ddffc222b7899d","scripts":{"dev":"n8n","lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","dev:pull":"ts-node src/pull.ts","dev:push":"ts-node src/push.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows between your repository and your n8n instance","directories":{},"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"n8n":"1.122.4","dotenv":"^17.2.3","eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.5_1765500927566_0.1473090069759624","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.7","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.7","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8nsync":"dist/index.js"},"dist":{"shasum":"fd21f62d7f9de64b8aeea24984000a757b771784","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.7.tgz","fileCount":46,"integrity":"sha512-xQHa/DVXpaqWHZG/M18YWQn0Wo/44Q6fV4L0EPev64BuVcpIj6jeK6ZezWQVv+pFe7QStUansPxP2igpoUChdQ==","signatures":[{"sig":"MEQCIE/ZoZvvDudKV1w43oHVOTOzy9q5fho+aY5/d5hjG6rVAiAPzZ99AtF3ZUEw5Ye2PqJoD4K7LgXliPftyly/j/KVXw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":78530},"gitHead":"a9586a041393a23b066b9b5d7909c3b36021a3d4","scripts":{"dev":"n8n","lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","n8nsync":"ts-node src/index.ts","dev:pull":"ts-node src/pull.ts","dev:push":"ts-node src/push.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build","dev:inspect-schema":"ts-node src/inspectCredentialSchema.ts","dev:push-credential":"ts-node src/pushSingleCredential.ts","dev:create-credential":"ts-node src/createCredential.ts"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows and credentials between your repository and n8n instance using the n8nsync CLI","directories":{},"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"n8n":"1.122.4","dotenv":"^17.2.3","eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.7_1765537381846_0.6269211200596938","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.8","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.8","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8nsync":"dist/index.js"},"dist":{"shasum":"94a3d11d22c449b5966dc072768d83e43e9a7d0a","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.8.tgz","fileCount":46,"integrity":"sha512-nY5uSoGyXS5HgpdnUyH+JX6PA5s1/x21Cg9UhoWTEX/gVTwWPK0aix2ppyV5bi/MJdZxQGZajTu4ynZhG+7z1A==","signatures":[{"sig":"MEYCIQDQ7s1wjc2cD3EiBtEYDw39UZf9BflVWNdhjxs8L+cEcwIhAJJ7nzMSiIwGE8ewIjxWspW35v0QXaRruJ5aRezrz63t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82621},"gitHead":"cf71064bb6ec84e820e44ac67def6a4174fdb0f3","scripts":{"dev":"n8n","lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","n8nsync":"ts-node src/index.ts","dev:pull":"ts-node src/pull.ts","dev:push":"ts-node src/push.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build","dev:inspect-schema":"ts-node src/inspectCredentialSchema.ts","dev:push-credential":"ts-node src/pushSingleCredential.ts","dev:create-credential":"ts-node src/createCredential.ts"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows and credentials between your repository and n8n instance using the n8nsync CLI","directories":{},"_nodeVersion":"24.7.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"n8n":"1.122.4","dotenv":"^17.2.3","eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.8_1765540990207_0.8837423604966255","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.9","keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","_id":"@_lenga/n8n-workflows-sync@0.0.9","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"bin":{"n8nsync":"dist/index.js"},"dist":{"shasum":"c116743ea3ccd3a08e0529b8c70069261d99b0e8","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.9.tgz","fileCount":46,"integrity":"sha512-iG624z/s5xHLU5nCQ2OxpTTbBtwhJ7LEKIHxJSqRwiT5eEStiic7J0Gls0Jc4BsOIYZntqHMmgIIRW9U/mupjA==","signatures":[{"sig":"MEUCIQCU5ZbOH8Ie+stBiRvl7L6RGEy9/vcpjM5BpXGWW+LazgIgT6YyCZ8geEzNG2/shMBd8YSthzczADfalQXVxdRfMpI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":77232},"gitHead":"002e44f9ed744d99013bd46cf4892f32c5594052","scripts":{"dev":"n8n","lint":"eslint src/**/*.ts","build":"tsc","format":"prettier --write src/**/*.ts","n8nsync":"ts-node src/index.ts","dev:pull":"ts-node src/index.ts pull","dev:push":"ts-node src/index.ts push","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build","dev:inspect-schema":"ts-node src/index.ts inspect-schema","dev:push-credential":"ts-node src/index.ts push-credential","dev:create-credential":"ts-node src/index.ts create-credential"},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"_npmVersion":"11.5.1","description":"Sync workflows and credentials between your repository and n8n instance using the n8nsync CLI","directories":{},"_nodeVersion":"24.7.0","dependencies":{"commander":"^14.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"yarn@4.12.0","devDependencies":{"n8n":"1.122.4","dotenv":"^17.2.3","eslint":"^9.39.1","ts-node":"^10.9.2","prettier":"3.7.3","@eslint/js":"^9.39.1","typescript":"^5.9.3","@types/node":"^24.10.1","typescript-eslint":"^8.48.1"},"_npmOperationalInternal":{"tmp":"tmp/n8n-workflows-sync_0.0.9_1768256524702_0.649775863358703","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@_lenga/n8n-workflows-sync","version":"0.0.10","description":"Sync workflows and credentials between your repository and n8n instance using the n8nsync CLI","bin":{"n8nsync":"dist/index.js"},"scripts":{"dev":"n8n","build":"tsc","n8nsync":"ts-node src/index.ts","dev:pull":"ts-node src/index.ts pull","dev:push":"ts-node src/index.ts push","dev:push-credential":"ts-node src/index.ts push-credential","dev:inspect-schema":"ts-node src/index.ts inspect-schema","dev:create-credential":"ts-node src/index.ts create-credential","dev:update-supported-credentials":"node generateSupportedCredentials.js","lint":"eslint src/**/*.ts","format":"prettier --write src/**/*.ts","format:check":"prettier --check src/**/*.ts","prepublishOnly":"yarn build"},"keywords":["n8n","workflow","sync","automation"],"author":{"name":"Jose Nunez"},"license":"ISC","publishConfig":{"access":"public"},"packageManager":"yarn@4.12.0","devDependencies":{"@eslint/js":"^9.39.1","@types/node":"^24.10.1","dotenv":"^17.2.3","eslint":"^9.39.1","n8n":"1.122.4","prettier":"3.7.3","ts-node":"^10.9.2","typescript":"^5.9.3","typescript-eslint":"^8.48.1"},"dependencies":{"commander":"^14.0.2"},"_id":"@_lenga/n8n-workflows-sync@0.0.10","gitHead":"ed4ec3e5ba0559330c9044ef96c117e753210922","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-Xguv9TL0+mjKPLsiVxp0UT5zc9lcWjEQkwSHrqLljFjK1hh4MlaTFQ5QH1A6tnoIVTARayERyfNdskfhAVaBQA==","shasum":"606c9b2b41f8be8af39850f05e38419b8a34282c","tarball":"https://registry.npmjs.org/@_lenga/n8n-workflows-sync/-/n8n-workflows-sync-0.0.10.tgz","fileCount":58,"unpackedSize":146235,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICs4iN+OypBvWbW6WF0UY3HqyzwzQJevtomeFoeAjeNtAiEAnJ6oYWC97dkZiw45S9MSAsGRCodVgxJYu3oHlbvDnDQ="}]},"_npmUser":{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"},"directories":{},"maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-workflows-sync_0.0.10_1770443099693_0.0992005050307152"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-03T04:20:24.441Z","modified":"2026-02-07T05:44:59.941Z","0.0.1":"2025-12-03T04:20:24.799Z","0.0.2":"2025-12-03T05:06:54.036Z","0.0.3":"2025-12-03T10:45:26.369Z","0.0.4":"2025-12-11T11:06:23.847Z","0.0.5":"2025-12-12T00:55:27.724Z","0.0.7":"2025-12-12T11:03:01.988Z","0.0.8":"2025-12-12T12:03:10.363Z","0.0.9":"2026-01-12T22:22:04.859Z","0.0.10":"2026-02-07T05:44:59.833Z"},"author":{"name":"Jose Nunez"},"license":"ISC","keywords":["n8n","workflow","sync","automation"],"description":"Sync workflows and credentials between your repository and n8n instance using the n8nsync CLI","maintainers":[{"name":"jose-nunez","email":"josenunezdiaz@gmail.com"}],"readme":"# n8n-workflow-sync\n\nSync workflows and credentials between your local repository and your n8n instance.\n\n## Features\n\n- **Pull** workflows from your n8n instance to local JSON files\n- **Push** workflows from local files to your n8n instance\n- **Create credentials interactively** with schema validation\n- Automatically create/update workflows (upsert)\n- Push credentials with workflows from LastPass\n- Skip archived workflows\n\n## Prerequisites\n\n- Node.js (v18 or higher recommended)\n- A running n8n instance\n- n8n API key (see setup instructions below)\n- LastPass CLI (if using credentials sync)\n\n## Installation\n\nInstall the package globally via npm:\n\n```bash\nnpm install -g @_lenga/n8n-workflows-sync\n```\n\nOr with yarn:\n\n```bash\nyarn global add @_lenga/n8n-workflows-sync\n```\n\n## Configuration\n\n### 1. Get your n8n API Key\n\n1. Open your n8n instance\n2. Go to Settings → API\n3. Create a new API key\n4. Copy the key\n\n### 2. Set up environment variables\n\nCreate a `.env` file in the root directory (or copy from `.env-sample`):\n\n```bash\ncp .env-sample .env\n```\n\nEdit the `.env` file with your settings:\n\n```env\n# N8N local run data and cache\nN8N_USER_FOLDER=./\n\n# Instance parameters\nN8N_INSTANCE_URL=http://localhost:5678\nN8N_API_KEY=your-api-key-here\nLOCAL_WORKFLOWS_PATH=./src/workflows\n\n# LastPass folder for storing credentials\nLPASS_FOLDER=n8n\n```\n\n**Environment Variables:**\n\n- `N8N_INSTANCE_URL`: URL of your n8n instance\n- `N8N_API_KEY`: Your n8n API key\n- `LOCAL_WORKFLOWS_PATH`: Local directory for workflow JSON files\n- `LPASS_FOLDER`: LastPass folder where credentials will be stored (default: `n8n`)\n\n### 3. Set up credentials (optional)\n\nIf you want to sync credentials with LastPass, ensure you have LastPass CLI installed and logged in:\n\n```bash\nlpass login your-email@example.com\n```\n\nThe tool will automatically detect credentials used in your workflows and sync them from LastPass.\n\n## Quick Reference\n\n```bash\n# View all commands\nn8nsync --help\n\n# Pull workflows\nn8nsync pull\n\n# Push workflows\nn8nsync push\n\n# Push single credential from LastPass\nn8nsync push-credential <name>\n\n# Create credential (push to LastPass)\nn8nsync create-credential <type> <name>\n\n# Create credential (print to console)\nn8nsync create-credential <type> <name> -p\n\n# Inspect credential schema\nn8nsync inspect-schema <type>\n\n# Version\nn8nsync --version\n```\n\n## Usage\n\n### Pull workflows from n8n to local files\n\n```bash\nn8nsync pull\n```\n\nThis will:\n\n- Connect to your n8n instance\n- Download all non-archived workflows\n- Save them as JSON files in `LOCAL_WORKFLOWS_PATH`\n\n### Push workflows (and credentials) to n8n\n\n```bash\nn8nsync push\n```\n\nThis will:\n\n1. Read all workflow JSON files from `LOCAL_WORKFLOWS_PATH`\n2. Extract credentials referenced in workflow nodes\n3. Push credentials from LastPass to n8n (if LastPass CLI is configured)\n4. Create or update workflows in your n8n instance with updated credential IDs\n\n### Push a single credential from LastPass\n\n```bash\nn8nsync push-credential <credentialName>\n```\n\nThis will:\n\n1. Fetch the credential from LastPass using the credential name\n2. Extract the credential type from the LastPass Notes JSON\n3. Push it to your n8n instance\n\n**Examples:**\n\n```bash\n# Push a Slack API credential\nn8nsync push-credential \"My Slack Cred\"\n\n# Push a GitHub token\nn8nsync push-credential \"GitHub Token\"\n\n# Push an OpenAI API key\nn8nsync push-credential \"OpenAI Key\"\n```\n\n**Note:** The credential type is automatically extracted from the `type` field in the LastPass Notes JSON.\n\n**LastPass entry format:**\n\nThe LastPass entry must have the credential data stored as JSON in the **Notes** field. The structure is:\n\n```\n<Entry Name> [id: <id>]\nURL: <url>\nNotes: {\n  \"name\": \"credential-name\",\n  \"type\": \"credentialType\",\n  \"data\": {\n    // credential-specific fields\n  }\n}\n```\n\n**Example for GitHub API:**\n```\nn8n - Jose Nunez/TEST_githubApi_user@example.com [id: 123456]\nURL: http://sn\nNotes: {\n  \"name\": \"githubApi_user@example.com\",\n  \"type\": \"githubApi\",\n  \"data\": {\n    \"user\": \"username\",\n    \"accessToken\": \"ghp_xxxxxxxxxxxxx\"\n  }\n}\n```\n\n**Example for OpenAI API:**\n```\nn8n - OpenAI Key [id: 789012]\nURL: http://sn\nNotes: {\n  \"name\": \"OpenAI Key\",\n  \"type\": \"openAiApi\",\n  \"data\": {\n    \"apiKey\": \"sk-xxxxxxxxxxxxx\"\n  }\n}\n```\n\nThe tool will extract the JSON from the Notes field and send it directly to n8n without modification.\n\n### Create credentials interactively\n\n```bash\nn8nsync create-credential <credentialType> <credentialName> [-p]\n```\n\nThis will:\n\n1. Fetch the credential schema from your n8n instance\n2. Interactively prompt you for required fields (with defaults)\n3. Prompt you for optional fields (press Enter to skip)\n4. By default: Push the credential to LastPass as a secure note\n5. With `-p` flag: Print the credential JSON to console only\n\n**Examples:**\n\n```bash\n# Create and push to LastPass (default)\nn8nsync create-credential slackApi \"My Slack Credential\"\n\n# Create and print to console only\nn8nsync create-credential slackApi \"My Slack Credential\" -p\n\n# Create an OpenAI API credential and push to LastPass\nn8nsync create-credential openAiApi \"OpenAI Key\"\n\n# Create a Google Drive OAuth2 credential and print to console\nn8nsync create-credential googleDriveOAuth2Api \"My Google Drive\" -p\n```\n\n**Modes:**\n\n1. **Default (Push to LastPass):** The credential is saved to LastPass as a secure note in the folder specified by `LPASS_FOLDER` env variable\n2. **Print Mode (`-p` flag):** The credential JSON is printed to console for manual copying\n\n**Finding credential types:**\n\nTo find the correct credential type name:\n\n1. Look at your existing workflows - credential types are listed in the node definitions\n2. Check the [n8n documentation](https://docs.n8n.io/integrations/)\n3. Common types include: `slackApi`, `openAiApi`, `githubApi`, `googleDriveOAuth2Api`, etc.\n\n**Tips:**\n\n- Press Enter on optional fields to skip them (they won't be included in the JSON)\n- Press Enter on required fields to use default values\n- For complex fields (arrays, objects), provide valid JSON\n\n### Get help\n\n```bash\nn8nsync --help\nn8nsync <command> --help\n```\n\n## Workflow Structure\n\nWorkflows are stored as JSON files in the format:\n\n```json\n{\n  \"name\": \"My Workflow\",\n  \"nodes\": [...],\n  \"connections\": {...},\n  \"settings\": {...},\n  \"staticData\": {...}\n}\n```\n\n## Credentials\n\nThe credentials sync feature automatically extracts credentials from your workflow files and retrieves them from LastPass CLI.\n\n**How it works:**\n\n1. The tool scans all workflow JSON files for credential references\n2. Extracts unique credentials (by name and type)\n3. Retrieves credential data from LastPass using the credential name\n4. Pushes credentials to n8n\n5. Updates workflow nodes with the new credential IDs\n\n**LastPass entry format:**\n\nEach LastPass entry name must match the credential name in your workflows. The credential data must be stored as JSON in the **Notes** field with the following structure:\n\n```json\n{\n  \"name\": \"credential-name\",\n  \"type\": \"credentialType\",\n  \"data\": {\n    // credential-specific fields\n  }\n}\n```\n\n**Examples:**\n\nGitHub API:\n```json\n{\n  \"name\": \"githubApi_user@example.com\",\n  \"type\": \"githubApi\",\n  \"data\": {\n    \"user\": \"username\",\n    \"accessToken\": \"ghp_xxxxxxxxxxxxx\"\n  }\n}\n```\n\nOpenAI API:\n```json\n{\n  \"name\": \"OpenAI Key\",\n  \"type\": \"openAiApi\",\n  \"data\": {\n    \"apiKey\": \"sk-xxxxxxxxxxxxx\"\n  }\n}\n```\n\nSlack OAuth2:\n```json\n{\n  \"name\": \"Slack OAuth\",\n  \"type\": \"slackOAuth2Api\",\n  \"data\": {\n    \"clientId\": \"client-id\",\n    \"clientSecret\": \"client-secret\",\n    \"sendAdditionalBodyProperties\": false,\n    \"additionalBodyProperties\": []\n  }\n}\n```\n\n## Common Use Cases\n\n### Backup workflows to version control\n\n```bash\n# Pull workflows from n8n\nn8nsync pull\n\n# Commit to git\ngit add src/workflows/\ngit commit -m \"Backup workflows\"\ngit push\n```\n\n### Deploy workflows to another instance\n\n```bash\n# Update .env to point to new instance\nN8N_INSTANCE_URL=https://production.n8n.example.com\nN8N_API_KEY=production-api-key\n\n# Push workflows\nn8nsync push\n```\n\n### Sync workflows between environments\n\n```bash\n# Pull from dev\nN8N_INSTANCE_URL=http://localhost:5678 n8nsync pull\n\n# Push to staging\nN8N_INSTANCE_URL=https://staging.n8n.example.com n8nsync push\n```\n\n## Troubleshooting\n\n### \"env var N8N_INSTANCE_URL not found\"\n\nMake sure your `.env` file exists and contains the required variables.\n\n### \"Failed to fetch workflows\"\n\n- Check that your n8n instance is running\n- Verify your API key is correct and has proper permissions\n- Ensure the instance URL is accessible\n\n### Credentials not syncing\n\n- Verify LastPass CLI is installed: `lpass --version`\n- Ensure you're logged in: `lpass status`\n- Check that credential names in your workflows match LastPass entry names exactly\n- Verify that the credential type is supported (see Credentials section)\n\n## Development\n\n### Setting up for development\n\nIf you want to contribute or modify the package:\n\n```bash\n# Clone the repository\ngit clone <repository-url>\ncd n8n-workflow-sync\n\n# Install dependencies\nyarn install\n\n# Build the project\nyarn build\n```\n\n### Development commands\n\n```bash\n# Run n8nsync in dev mode\nyarn dev:n8nsync <command> [options]\n\n# Or use individual dev commands:\nyarn dev:pull                                    # Pull workflows (dev mode)\nyarn dev:push                                    # Push workflows (dev mode)\nyarn dev:push-credential <name>                  # Push single credential (dev mode)\nyarn dev:create-credential <type> <name>         # Create credential (dev mode)\nyarn dev:inspect-schema <type>                   # Inspect schema (dev mode)\n\n# Build TypeScript to JavaScript\nyarn build\n\n# Run local n8n instance for testing\nyarn dev\n\n# Lint code\nyarn lint\n\n# Format code\nyarn format\n\n# Check formatting\nyarn format:check\n```\n\n### Project structure\n\n```\nn8n-workflow-sync/\n├── src/\n│   ├── index.ts                   # Main CLI entry point (n8nsync)\n│   ├── pull.ts                    # Pull workflows from n8n\n│   ├── push.ts                    # Push workflows and credentials to n8n\n│   ├── pushCredentials.ts         # Push credentials from LastPass\n│   ├── pushSingleCredential.ts    # Push single credential from LastPass\n│   ├── createCredential.ts        # Interactive credential creator\n│   ├── credentialSchemaHelper.ts  # Schema-based credential utilities\n│   ├── inspectCredentialSchema.ts # Inspect credential schemas\n│   ├── settings.ts                # Load environment variables\n│   ├── constants.ts               # Constants and configuration\n│   ├── error.ts                   # Error handling utilities\n│   └── workflows/                 # Local workflow storage (JSON files)\n├── dist/                          # Compiled JavaScript (generated)\n├── .env                           # Environment variables (not in repo)\n├── .env-sample                    # Example environment variables\n├── CREDENTIAL_SCHEMAS.md          # Schema-based credential documentation\n└── package.json                   # Package configuration\n```\n\n### Publishing\n\n```bash\n# Build and publish to npm\nyarn prepublishOnly\nnpm publish\n```\n\n## License\n\nISC\n\n## Author\n\nJose Nunez\n","readmeFilename":"README.md"}