Files
AGENTS/rules/frameworks/n8n.md
m3tm3re 8910413315 feat(rules): add initial rule files for concerns, languages, and frameworks
Concerns (6 files):
- coding-style.md (163 lines): patterns, anti-patterns, error handling, SOLID
- naming.md (105 lines): naming conventions table per language
- documentation.md (149 lines): docstrings, WHY vs WHAT, README standards
- testing.md (134 lines): AAA pattern, mocking philosophy, TDD
- git-workflow.md (118 lines): conventional commits, branch naming, PR format
- project-structure.md (82 lines): directory layout, entry points, config placement

Languages (4 files):
- python.md (224 lines): uv, ruff, pyright, pytest, pydantic, idioms, anti-patterns
- typescript.md (150 lines): strict mode, discriminated unions, satisfies, as const
- nix.md (129 lines): flake structure, module patterns, alejandra, anti-patterns
- shell.md (100 lines): set -euo pipefail, shellcheck, quoting, POSIX

Frameworks (1 file):
- n8n.md (42 lines): workflow design, node patterns, Error Trigger, security

Context budget: 975 lines (concerns + python) < 1500 limit

Refs: T6-T16 of rules-system plan
2026-02-17 19:05:45 +01:00

1.5 KiB

n8n Workflow Automation Rules

Workflow Design

  • Start with a clear trigger: Webhook, Schedule, or Event source
  • Keep workflows under 20 nodes for maintainability
  • Group related logic with sub-workflows
  • Use the "Switch" node for conditional branching
  • Add "Wait" nodes between rate-limited API calls

Node Naming

  • Use verb-based names: Fetch Users, Transform Data, Send Email
  • Prefix data nodes: Get_, Set_, Update_
  • Prefix conditionals: Check_, If_, When_
  • Prefix actions: Send_, Create_, Delete_
  • Add version suffix to API nodes: API_v1_Users

Error Handling

  • Always add an Error Trigger node
  • Route errors to a "Notify Failure" branch
  • Log error details: $json.error.message, $json.node.name
  • Send alerts on critical failures
  • Add "Continue On Fail" for non-essential nodes

Data Flow

  • Use "Set" nodes to normalize output structure
  • Reference previous nodes: {{ $json.field }}
  • Use "Merge" node to combine multiple data sources
  • Apply "Code" node for complex transformations
  • Clean data before sending to external APIs

Credential Security

  • Store all secrets in n8n credentials manager
  • Never hardcode API keys or tokens
  • Use environment-specific credential sets
  • Rotate credentials regularly
  • Limit credential scope to minimum required permissions

Testing

  • Test each node independently with "Execute Node"
  • Verify data structure at each step
  • Mock external dependencies during development
  • Log workflow execution for debugging