Give your AI agent n8n superpowers. 537 nodes with full schemas, 7,700+ templates, Git-like sync, and TypeScript workflows.
> /plugin marketplace add EtienneLescot/n8n-as-code> /plugin install n8n-as-code@n8nac-marketplace
Repo: EtienneLescot/n8n-as-code
What's inside
VS Code / Cursor Agent · n8n Environments · n8n-manager · GitOps · AI Skills · TypeScript Workflows
Build, edit, deploy, and debug n8n workflows from your editor with an agent that has live n8n context.
Documentation · Getting Started · VS Code Guide · CLI Guide
n8n version compatibility — The node schema bundled with n8n-as-code is built against the latest stable release of n8n. Keep your n8n instance up to date for best generation and validation results.
Independent project — n8n-as-code is an independent community project and is not affiliated with, endorsed by, or sponsored by n8n.
n8n-as-code turns a repository into a full n8n development workspace:
| Capability | What it means |
|---|---|
| Editor-native workflow work | Browse, open, edit, validate, and sync n8n workflows from VS Code, Cursor, or the terminal. |
| Agent-ready context | Generate grounded instructions, schemas, examples, and node knowledge so AI agents can work on real n8n workflows safely. |
| GitOps-style sync | Pull and push workflows explicitly, review diffs, resolve conflicts, and keep workflow source in version control. |
| TypeScript workflow authoring | Convert workflows into readable .workflow.ts files that are easier for people and agents to edit. |
| Live n8n operations | Verify workflows, inspect credentials, run tests, activate workflows, and inspect executions against a selected n8n environment. |
The repository stores workflow files, generated agent context, and workspace-safe configuration. Secrets and machine-local runtime state stay local.
.code-workspace.n8n environment.The configuration UI uses the same model as the CLI: workspace environments are repository context, local managed instances are machine resources.
/plugin marketplace add https://github.com/EtienneLescot/n8n-as-code
/plugin install n8n-as-code@n8nac-marketplace
Then ask Claude for the workflow you want. The n8n-architect skill handles workspace setup, n8n context, validation, and sync steps as needed.
Install the skill from the repository skills directory:
https://github.com/EtienneLescot/n8n-as-code/tree/main/skills
Then ask your agent for the workflow you want. The skill gives it the n8n schemas, examples, validation rules, and workspace commands it needs to handle the rest.
If your agent asks for an explicit skill path, use skills/n8n-architect.
Create a workspace environment for an existing n8n URL:
npx --yes n8nac env add Dev --base-url https://n8n.example.com --workflows-path workflows/dev
printf '%s' "$N8N_API_KEY" | npx --yes n8nac env auth set Dev --api-key-stdin
npx --yes n8nac env use Dev
npx --yes n8nac update-ai
Or attach a local managed instance:
n8n-manager instance list
npx --yes n8nac env add Local --managed-instance <id> --workflows-path workflows/local
npx --yes n8nac env use Local
Then sync workflows explicitly:
npx --yes n8nac list
npx --yes n8nac pull <workflow-id>
npx --yes n8nac push workflows/dev/my-workflow.workflow.ts --verify
npx --yes n8nac promote --from Dev --to Prod --dry-run
Use promote to move workflow source from one environment workflowsPath to another. Pass a workflow path for a single workflow, or omit it to promote every *.workflow.ts file in the source environment, including nested folders. Promotion rewrites target project metadata, remaps credentials and supported Execute Workflow references, records stable source-to-target bindings in n8nac-promotion.json, and pushes by default unless --no-push is set. --dry-run performs discovery for an accurate create/update plan, but does not write files, push, or update the promotion config.
n8nac envn8nac env list
n8nac env add Dev --base-url <url> --workflows-path workflows/dev
n8nac env add Local --managed-instance <id> --workflows-path workflows/local
n8nac env use Dev
n8nac env auth set Dev --api-key-stdin
n8nac env remove Dev
Use n8nac env for everything that describes how this repository connects to n8n.
n8nac workspacen8nac workspace status --json
n8nac env status --json
Use env status --json as the source of truth for active environment readiness.
n8n-managern8n-manager instance list
n8n-manager instance create
n8n-manager instance start <id>
n8n-manager instance stop <id>
n8n-manager instance remove <id>
n8n-manager tunnel start <id>
n8n-manager tunnel stop <id>
Use n8n-manager only for local managed instances and machine-local operations. Do not use it as the workspace source of truth.
n8nac env use Dev
n8nac list
n8nac pull <workflow-id>
n8nac push workflows/dev/my-workflow.workflow.ts --verify
n8nac resolve <workflow-id> --mode keep-current
Sync is explicit. Nothing is pushed or pulled unless you ask for it.
The skills layer gives agents grounded n8n knowledge: node schemas, docs, examples, templates, validation rules, and safe workflow operations.
npx --yes n8nac skills search "send slack message when google sheet is updated"
npx --yes n8nac skills node-info slack
npx --yes n8nac skills validate workflows/dev/my-workflow.workflow.ts
import { workflow, node, links } from '@n8n-as-code/transformer';
@workflow({ id: 'abc123', name: 'Slack Notifier', active: true })
export class SlackNotifierWorkflow {
@node()
Trigger = {
type: 'n8n-nodes-base.webhook',
parameters: { path: '/notify', method: 'POST' },
position: [250, 300],
};
@node()
Slack = {
type: 'n8n-nodes-base.slack',
parameters: {
resource: 'message',
operation: 'post',
channel: '#alerts',
text: '={{ $json.message }}',
},
position: [450, 300],
};
@links([{ from: 'Trigger', to: 'Slack' }])
connections = {};
}
n8nac convert workflow.json --format typescript
n8nac convert-batch workflows/ --format typescript
| Package | What it does | Install |
|---|---|---|
| VS Code Extension | Editor experience with sidebar, canvas, integrated Agent Workbench, and n8n environments | Marketplace |
| n8nac | CLI for workspace environments, sync, validation, AI context, and automation | npx n8nac |
| Agent Skills | Portable AI skills and embedded n8n knowledge for agents | repo skills directory |
| @n8n-as-code/n8nac | OpenClaw plugin with prompt context and portable skills | openclaw plugins install @n8n-as-code/n8nac |
| @n8n-as-code/transformer | JSON to TypeScript workflow converter and back | npm i @n8n-as-code/transformer |
n8nac env: repository-level environment source of truth.n8nac workspace: readiness and unified workspace migration.n8n-manager: local managed instances, Docker lifecycle, tunnels, and machine-local secrets.Contributions welcome.
git checkout -b feature/amazing.npm test.MIT License — free to use, modify, and distribute.
Third-party community workflow metadata and downloadable workflow files remain subject to their respective upstream licenses.
n8n-as-code exists because n8n exists.
Thanks to the n8n team and community for building and maintaining the workflow automation platform this project builds on.
If n8n-as-code saves you time, give us a star.
.claude-plugin/
marketplace.json
.cursor-plugin/
marketplace.json
.env-example
.env.test.example
.gitattributes
.github/
agents/
test.agent.md
dependabot.yml
ISSUE_TEMPLATE/
bug_report.md
feature_request.md
markdown-link-check-config.json
PULL_REQUEST_TEMPLATE.md
workflows/
ci.yml
claude-plugin.yml
docker-mcp.yml
docs.yml
next-skill-adapters.yml
nightly-cloud.yml
release.yml
.gitignore
.release-please-manifest.json
.vscode/
launch.json
tasks.json
architecture/
005-lazy-loading-skills-commands.md
backlog/
checkpoint-restore-delete-investigation.md
current/
feature-324-archive-filter-tabs-search.md
target/
workspace-environments-and-promotion.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
docs/
.gitignore
deployment-guide.md
docs/
community/
index.md
contribution/
architecture.md
claude-skill.md
cli.md
index.md
local-dev-workspace.md
skills.md
sync.md
vscode-extension.md
getting-started/
index.md
home/
index.md
troubleshooting.md
usage/
claude-plugin-privacy.md
claude-plugin.md
cli.md
commands.md
folder-sync.md
index.md
mcp.md
n8n-manager.md
openclaw.md
skills.md
telemetry.md
typescript-workflows.md
vscode-extension.md
docusaurus.config.ts
package.json
README.md
refactoring/
git-like-sync-handover.md
project-organization-cleanup.md
search-setup.md
sidebars.api.ts
sidebars.ts
src/
components/
HomepageFeatures/
index.tsx
styles.module.css
css/
custom.css
pages/
index.module.css
index.tsx
telemetry/
posthog.ts
static/
.nojekyll
api/
.gitkeep
CNAME
img/
favicon.ico
sections/
section-0.png
section-1.png
section-2.png
section-3.png
section-4.png
section-5.png
tsconfig.json
vscode-marketplace-virus-bisect.md
lefthook.yml
LICENSE
MANUAL_TESTING.md
package.json
packages/
.gitignore
cli/
CHANGELOG.md
package.json
README.md
scripts/
postbuild.mjs
src/
bin/
legacy.ts
commands/
base.ts
convert.ts
credential.ts
execution.ts
list.ts
promote.ts
sync.ts
test-plan.ts
test.ts
update-ai.ts
workflow.ts
core/
assets/
n8n-workflows.d.ts
README.md
helpers/
index.ts
project-helpers.ts
README.md
index.ts
services/
cli-api.ts
directory-utils.ts
folder-path-resolver.ts
hash-utils.ts
instance-identifier.ts
n8n-api-client.ts
resolution-manager.ts
state-manager.ts
sync-engine.ts
sync-event-journal.ts
sync-manager.ts
tls-certificates.ts
workflow-dir-name.ts
workflow-path-utils.ts
workflow-sanitizer.ts
workflow-state-tracker.ts
workflow-transformer-adapter.ts
workspace-setup-service.ts
types.ts
index.ts
lib.ts
services/
config-service.ts
utils/
cli-helpers.ts
option-parsers.ts
tests/
fixtures/
sample-config.json
sample-workflow.json
helpers/
test-helpers.ts
v4-workspace-fixture.ts
integration/
config-library.integration.test.ts
instance-cli.integration.test.ts
list-archived.integration.test.ts
pull-refreshstate.test.ts
run-live-sync-tests.mjs
update-ai.integration.test.ts
README.md
scenarios/
sync-scenarios.test.ts
unit/
cli-helpers.test.ts
config-service.test.ts
connection-error.test.ts
credential-command.test.ts
directory-utils.test.ts
execution-command.test.ts
list-command.test.ts
n8n-api-client.test.ts
option-parsers.test.ts
promote-command.test.ts
sync-engine.test.ts
sync-manager.test.ts
test-command.test.ts
test-plan-command.test.ts
tls-certificates.test.ts
update-ai-dev-config.test.ts
workflow-command.test.ts
workflow-dir-name.test.ts
workflow-state-tracker.test.ts
workflow-transformer-adapter.test.ts
workspace-setup-service.test.ts
tsconfig.json
vitest.config.ts
manager-adapter/
CHANGELOG.md
package.json
src/
index.ts
tsconfig.json
mcp/
CHANGELOG.md
docker/
.dockerignore
Dockerfile
Dockerfile.bun
entrypoint.bun.sh
entrypoint.sh
README.md
jest.config.cjs
package.json
src/
cli.ts
index.ts
services/
mcp-server.ts
mcp-service.ts
native-mcp-client.ts
native-mcp-config.ts
native-mcp-tools.ts
tests/
mcp-server-http.test.ts
mcp-server.test.ts
native-mcp-live.integration.test.ts
native-mcp.test.ts
tsconfig.json
tsconfig.json
tsconfig.test.json
skills/
.gitignore
CHANGELOG_NEW.md
CHANGELOG.md
jest.config.cjs
n8n-agent
n8n-agent.cmd
package.json
QUICKSTART.md
README_UPGRADE.md
README.md
scripts/
build-skill-adapters-for-branch.js
build-skill-adapters.js
src/
agent-skills/
n8n-architect/
SKILL.md
cli-entry.ts
cli.ts
commands/
skills-commander.ts
workflows.ts
index.ts
services/
ai-context-generator.ts
cli-command-resolver.ts
custom-nodes-config.ts
docs-provider.ts
knowledge-search.ts
node-schema-provider.ts
typescript-formatter.ts
workflow-registry.ts
workflow-validator.ts
tests/
ai-context-generator.test.ts
docs-provider.test.ts
fixtures/
n8n-docs-complete.json
n8n-knowledge-index.json
n8n-nodes-technical.json
generate-n8n-index.test.ts
knowledge-search.test.ts
node-schema-provider.test.ts
parameter-gating.test.ts
search-intelligence.test.ts
skills-commander.test.ts
workflow-validator.test.ts
tsconfig.json
work-logs/
BUILD_SYSTEM.md
IMPLEMENTATION_COMPLETE.md
telemetry/
CHANGELOG.md
package.json
scripts/
embed-build-config.mjs
src/
index.ts
tsconfig.json
transformer/
CHANGELOG.md
package.json
PHASE3_SUMMARY.md
PHASE4_SUMMARY.md
README.md
src/
compiler/
index.ts
typescript-parser.ts
workflow-builder.ts
decorators/
helpers.ts
index.ts
links.ts
node.ts
types.ts
workflow.ts
index.ts
parser/
ast-to-typescript.ts
index.ts
json-to-ast.ts
types.ts
utils/
formatting.ts
index.ts
naming.ts
tests/
ai-connections.test.ts
cjk-support.test.ts
demo-roundtrip.ts
demo-social-post.ts
demo.ts
fixtures/
simple-workflow.json
integration.test.ts
json-to-typescript.test.ts
naming.test.ts
output/
simple-workflow.ts
typescript-parser-ast-extraction.test.ts
typescript-to-json.test.ts
tsconfig.json
vitest.config.ts
vscode-extension/
CHANGELOG.md
esbuild.config.js
LICENSE.md
package.json
README.md
REFACTORING_SUMMARY.md
res/
spacer.png
scripts/
copy-assets.mjs
prune-package-artifacts.mjs
run-provider-stream-v3-integrations.mjs
runtime-dependency-names.cjs
smoke-vsix-runtime.mjs
verify-runtime-dependency-closure.mjs
src/
constants/
workspace.ts
extension.ts
local-open-bridge-entrypoint.ts
services/
agent-provider-capabilities.ts
agent-provider-runtime/
chat-codex-oauth.ts
copilot-account.ts
create-langchain-model.ts
openai-account.ts
provider-types.ts
tool-schema.ts
utils.ts
agent-provider-service.ts
agent-provider-settings.ts
agent-runtime-controller.ts
n8n-configuration-controller.ts
proxy-service.ts
tls-trust.ts
workflow-store.ts
workflow-webview-context.ts
workflow-webview-registry.ts
workspace-snapshot-service.ts
worktree-service.ts
types.ts
ui/
agent-manager-html.ts
agent-manager-webview.ts
agent-workbench-html.ts
... 181 moreFAQ
n8n-as-code is a Claude Code plugin with 5 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes n8n-architect, n8n-architect, n8n-architect. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.