Deploy n8n workflows
from DEV to PROD

Deterministic project-first CLI for promoting n8n releases from DEV to PROD. Plan dependencies, prepare production credentials, validate them, and apply with full operator control.

Get Started Technical Docs View Flow
🔍

Dependency Discovery

Automatically finds and manages sub-workflows, credentials, and data tables required for your deployment.

🛡️

Safety First

Root workflows are never auto-published. Human intervention via a manual command is required for final activation.

🔄

Idempotent Execution

Resources are matched in PROD by name. Updates are skipped if content is already equivalent, ensuring stability.

Ndeploy at a Glance

Ndeploy Professional n8n Deployment Guide

Recommended Operation Flow

1

Init Project

Run init with a DEV workflow id to create a project folder and persist root workflow metadata.

2

Plan & Review

Run plan <project>, review reports/plan_summary.json, then run credentials fetch <project>, credentials compare <project>, credentials merge-missing <project>, and credentials validate <project> --side manifest --strict.

3

Apply & Publish

Deploy with apply <project>, inspect reports/deploy_summary.json, then manually publish root workflow.

Command Reference

Simple, direct CLI interface for your daily operations.

1. Create project from DEV workflow

ndeploy init <workflow_id_dev> [project_root]

2. Generate plan in project

ndeploy plan <project>

3. Fetch source/target snapshots

ndeploy credentials fetch <project>

4. Compare and seed the manifest

ndeploy credentials compare <project> && ndeploy credentials merge-missing <project>

5. Validate credential readiness

ndeploy credentials validate <project> --side manifest --strict

6. Apply to production

ndeploy apply <project>

7. Inspect project status

ndeploy info <project>

8. Manual activation

ndeploy publish <workflow_id_prod>

9. Find orphans / dangling refs

ndeploy orphans <project> --side target && ndeploy dangling-refs <project> --side target

Frequently Asked Questions

What is the main benefit of using NDploy?
Unlike manual import/export, NDploy recursively discovers all dependencies (sub-workflows, credentials, and data tables). It ensures that all internal IDs are correctly mapped between DEV and PROD, preventing broken references.
Does it copy my credentials and secrets?
NDploy manages credentials through fetched snapshots plus an editable credentials_manifest.json. The operator fetches source/target, compares them, seeds missing entries into the manifest, and reviews that manifest before apply.
Why isn't my Root Workflow auto-published?
NDploy follows a "safety-first" policy. While sub-workflows can be auto-published, the main (root) workflow requires a manual publish command to ensure a human has reviewed the deployment before it goes live.
What is a "Deployment Plan"?
A plan is a JSON file generated after analyzing your DEV workflow. it describes every action NDploy will take in PROD (create, update, or skip). This allows you to verify exactly what will change before any execution.
How does it handle Data Tables?
NDploy matches Data Tables by name. If a table exists in PROD but the schema differs from DEV, it will add a warning to your deployment plan so you can check for functional compatibility.
Can I remove resources in bulk?
Yes. Use ndeploy remove with selectors like --workflows, --credentials, --data-tables, or --all. Without --yes, NDploy asks for interactive confirmation.
What is the difference between Orphans and Dangling Refs?
orphans lists entities not referenced by any non-archived workflow. dangling-refs lists workflows that reference entities that no longer exist.
Why do commands use --side source|target?
It keeps naming neutral for multi-environment setups. source maps to N8N_DEV_* and target maps to N8N_PROD_*.
Can I save command output directly to a JSON file?
Yes. Use -o or --output with remove, orphans, and dangling-refs to persist result JSON to a file.

Project Maintainers

Ignacio Rigoni

Ignacio Rigoni

Software Engineer & Creator

Software engineer and automation enthusiast. Focused on building tools that simplify the DevOps lifecycle and workflow management for n8n.

Support this project with an expresso ☕️

Invitame un café en cafecito.app