Dev log (2025-12-10): Unifying the core across CLI and Chrome, plus a sharper R7 error-handler rule
I focused on consistency and signal-to-noise today. Two tracks: get every surface using the same core logic, and reduce false positives around error handling in real-world n8n flows.
What changed
- Integrated flowlint-core across the codebase - the CLI and Chrome extension now consume the same public package and unified Finding structure, so results match regardless of where you run FlowLint.
- Shipped an R7 rule update - explicit failure paths are now treated as handled. If your error branch ends with a Stop and Error or routes into an Error handler, R7 will not nag you, cutting down on noisy warnings.
- Published new CLI builds with the R7 fix - upgrade to the latest 0.5.x to pick it up and get consistent output with the extension.
- Stabilized the extension build - removed a lingering flatMap usage, deduped imports, and cleaned up the migration to core so the popup builds cleanly and loads faster.
- Wired in automated dependency updates - Renovate is now keeping Tailwind and Node types fresh, which reduces surprise build breaks and security drift.
Deeper dive
I went back and forth on what “handled” means for R7. Some teams prefer a global error workflow; others intentionally fail fast. The rule now considers explicit failure nodes and error handlers as valid endpoints because they communicate intent: either stop loudly or route errors somewhere deliberate. We still flag branches that swallow errors without logging or termination. This is a first pass and might evolve as we see more patterns in the wild.
Why this matters
If you run serious n8n workflows, you should get the same answers from FlowLint everywhere, with fewer false alarms around error branches. That means fewer silent failures, clearer reviews, and more confidence to change existing automations.
What’s next + invite discussion
Next up: expose more rule context in the extension UI and experiment with quick-fix suggestions in the CLI. What error-handling patterns do you rely on in n8n that FlowLint should understand out of the box?
Posted Dec 11, 2025, 9:52 AM UTC