Skip to main content

CLI for n8n workflow automation

Project description

n8nc

codecov

CLI for n8n workflow automation. Sync workflows with Git, author them locally, and manage remote instances from the terminal.

Quick start

# Install (pick one)
cargo install n8nc              # From source
pip install n8nc                # Via pip
uvx n8nc --help                 # Run without installing

# Set up a repo
n8nc init --instance prod --url https://your-instance.app.n8n.cloud
n8nc auth add prod --token <api_key>

# Pull and track workflows
n8nc pull --all --instance prod
n8nc status

Installation

From crates.io

cargo install n8nc

From PyPI

pip install n8nc
# or run without installing:
uvx n8nc ls --instance prod

From GitHub releases

Pre-built binaries for Linux (x64, arm64), macOS (x64, arm64), and Windows (x64) on the releases page.

What it does

n8nc is three things:

  • Git sync for n8n workflows you want to track locally
  • Local authoring for draft workflows and structured node edits
  • Development CLI for listing, pulling, pushing, triggering, and inspecting executions

Every command supports --json for agent and script integration.

Commands

n8nc init                          Set up a workflow repo
n8nc doctor                        Check repo, auth, and API health

n8nc auth add|test|list|remove     Manage API tokens
n8nc auth session add|test|remove  Manage browser-session auth

n8nc ls                            List remote workflows
n8nc get <id-or-name>              Fetch and print a workflow
n8nc pull <id-or-name>             Pull a workflow into the repo
n8nc pull --all [--active]         Pull all workflows
n8nc push <file>                   Push a tracked workflow back
n8nc push --all                    Push all modified tracked workflows
n8nc activate <id-or-name>         Activate a workflow
n8nc deactivate <id-or-name>       Deactivate a workflow

n8nc runs ls                       List recent executions
n8nc runs get <id> [--details]     Inspect one execution
n8nc runs watch                    Watch executions live

n8nc workflow new <name>           Create a local draft
n8nc workflow create <file>        Publish a draft to n8n
n8nc workflow execute <id-or-name> Execute via configured backend
n8nc workflow show <file>          Inspect a local workflow
n8nc workflow rm <target>          Remove a workflow

n8nc node ls|add|set|rename|rm     Edit nodes in local workflows
n8nc conn add|rm                   Edit connections
n8nc expr set                      Set expressions on nodes
n8nc credential ls|schema|set      Discover and assign credentials

n8nc status [--refresh]            Show local sync state
n8nc diff <file> [--refresh]       Show local changes
n8nc trigger <url>                 Call a webhook URL
n8nc fmt [--check]                 Format workflow files
n8nc validate                      Validate workflow files
n8nc completions <shell>           Generate shell completions

Repo model

n8nc init creates:

.
├── n8n.toml           # Instance config
├── workflows/         # Tracked and draft workflow files
└── .n8n/cache/        # Base snapshots for local diff

Tracked workflows are stored as canonical JSON with a metadata sidecar:

workflows/<slug>--<id>.workflow.json
workflows/<slug>--<id>.meta.json

The sidecar binds each file to the instance it came from and records a hash used for safe push (lease check).

Auth

Tokens are resolved in order:

  1. N8NC_TOKEN_<ALIAS> env var
  2. OS keychain entry from n8nc auth add

Optional browser-session auth (for credential inventory fallback):

  1. N8NC_SESSION_COOKIE_<ALIAS> + N8NC_BROWSER_ID_<ALIAS> env vars
  2. OS keychain entries from n8nc auth session add

Workflow execution

trigger calls webhook URLs directly. For non-webhook workflows, configure an external backend in n8n.toml:

[instances.prod.execute]
backend = "command"
program = "uvx"
args = ["your-runner", "execute_workflow", "{workflow_id}", "{instance_alias}"]
stdin_json = true

Then run:

n8nc workflow execute "Nightly Digest" --instance prod --input '{"dryRun":true}'

Design

  • Same-instance first -- tracked files are bound to the instance they were pulled from
  • Agent-safe -- every command supports --json with structured envelopes
  • Deterministic -- workflows are canonicalized before storage and hashing
  • Safe push -- refuses to overwrite remote changes since the last pull
  • Sensitive-data aware -- scans for inline secrets on pull, push, and validate
  • Honest execution -- trigger is for webhooks; workflow execute delegates to a configured backend

Spec

Implementation notes and roadmap live in docs/cli-spec.md.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

n8nc-0.4.7.tar.gz (161.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

n8nc-0.4.7-py3-none-win_amd64.whl (3.6 MB view details)

Uploaded Python 3Windows x86-64

n8nc-0.4.7-py3-none-manylinux_2_28_x86_64.whl (3.6 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

n8nc-0.4.7-py3-none-manylinux_2_28_aarch64.whl (3.4 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

n8nc-0.4.7-py3-none-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

n8nc-0.4.7-py3-none-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded Python 3macOS 10.12+ x86-64

File details

Details for the file n8nc-0.4.7.tar.gz.

File metadata

  • Download URL: n8nc-0.4.7.tar.gz
  • Upload date:
  • Size: 161.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.4.7.tar.gz
Algorithm Hash digest
SHA256 f60866e20221fcb82c8e584834bdf5a4d20100de065cd0f6d8c113b9721a96ff
MD5 1dc4755933974e47ba9e0f29398cfed1
BLAKE2b-256 5d1e2367268ca15bb65b7325d2c75dde7f1a4e3b6d0fcaeda9eccf6b05d4936f

See more details on using hashes here.

File details

Details for the file n8nc-0.4.7-py3-none-win_amd64.whl.

File metadata

  • Download URL: n8nc-0.4.7-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.4.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 629e057b99da1682362c99aa8825cbb9d455c8c021fd7a5e65c54b950de1fefe
MD5 a2afb3fc6f4f5a8ec72af572f9be55bb
BLAKE2b-256 6e4e37480d9ede96153327cdb8a883f5e150d13cab5add0f3f862b554b65d65e

See more details on using hashes here.

File details

Details for the file n8nc-0.4.7-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for n8nc-0.4.7-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4d2f135331e37f12b159dfab19fcb7172ae36113f7796e5336892e78436bb695
MD5 acfad209465ac9263552389815d2a618
BLAKE2b-256 00811337167c624b39e5dbce67125faf1b72b2302bb26bf2956edd59d7419ac8

See more details on using hashes here.

File details

Details for the file n8nc-0.4.7-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for n8nc-0.4.7-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 14c3ecb919b05d2f7c2aa3d303f6f36dd573428d181642f14e3ddb3f5d04c2bb
MD5 047edcd8e682bea0762c9ac8baed238b
BLAKE2b-256 94754e9c5fcf6a6d98ce61281509bb85586f32b8c9b805c272bb46f1100dc4c4

See more details on using hashes here.

File details

Details for the file n8nc-0.4.7-py3-none-macosx_11_0_arm64.whl.

File metadata

  • Download URL: n8nc-0.4.7-py3-none-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: Python 3, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for n8nc-0.4.7-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 577478e80d244d3f483fc83c39b2e03142757109309407f2c35617b385ac815c
MD5 45119dfbf03e35aa77a0e50db05054b5
BLAKE2b-256 846dfe12a823dbb98e6420320c65b144cee21e27811a8970da1c5d90da4e2f9a

See more details on using hashes here.

File details

Details for the file n8nc-0.4.7-py3-none-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for n8nc-0.4.7-py3-none-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1ac2f044f9b850077371bb26a06d9bf03d00541a04f7b86011b183d2b203c391
MD5 736d16150387c4ff146a13c3808d4e8f
BLAKE2b-256 4443e52bdd7ce5ede8fb8903cca0c76e99f899d6d047078a6fa7cb88c9ddf88f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page