diff --git a/CLAUDE.md b/CLAUDE.md index ba9a6d8..53f61f2 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -21,3 +21,28 @@ Key points for this node: - Stack same-level siblings vertically. - Parent/children sit on adjacent lanes (children one lane left, parent one lane right). - Wrap in a Node-RED group box coloured `#50a8d9` (Unit). + +## Folder & File Layout + +Every per-node file MUST use the folder name (`machineGroupControl`) **exactly**, case-sensitive. Full rule: [`.claude/rules/node-architecture.md`](https://gitea.wbd-rd.nl/RnD/EVOLV/src/branch/development/.claude/rules/node-architecture.md) in the EVOLV superproject. + +| Path | Required name | +|---|---| +| Entry file | `machineGroupControl.js` | +| Editor HTML | `machineGroupControl.html` | +| Node adapter | `src/nodeClass.js` | +| Domain logic | `src/specificClass.js` | +| Editor JS modules | `src/editor/*.js` (extract when inline editor JS exceeds ~50 lines) | +| Tests | `test/{basic,integration,edge}/*.test.js` | +| Example flows | `examples/*.flow.json` | + +> ⚠️ **Legacy naming drift in this repo** — to be renamed when the file is next touched: +> +> | Path | Currently | Should be | +> |---|---|---| +> | Entry file | `mgc.js` | `machineGroupControl.js` | +> | Editor HTML | `mgc.html` | `machineGroupControl.html` | +> +> Renames require updating: the file itself, `package.json#node-red.nodes`, any `require()` / `import` paths, and superproject submodule references in one commit. + +When adding new files, read the rule above first to avoid drift.