The System Modeler developer experience is an extension for Visual Studio Code (or Cursor). Its name is Fusion Automation API. It connects your IDE to a running Fusion session. You can use it to author graphs and nodes in the IDE instead of, or alongside, the System Modeler add-in.
With the extension connected to Fusion, you can:
.graph.json files as System Modeler graphs in the IDE.node.ts files to define custom nodesFusion must be running. The System Modeler add-in must be enabled in Scripts & Add-Ins. You also need Visual Studio Code (or Cursor) installed as a desktop app. Web and remote environments are not supported.
A user package is a folder on disk. When you open it in Visual Studio Code (or Cursor), the Fusion Automation API extension reads the folder layout to locate graphs, nodes, and icons.
your-package/
├── .vscode/
├── graphs/
├── icons/
│ └── CategoryName/
│ ├── CategoryName-dark.svg
│ └── CategoryName-light.svg
├── nodes/
│ ├── CategoryName/
│ │ └── MyNode.node.ts
│ └── sharedFunctions.ts
├── AGENTS.md
├── package.manifest
├── README.md
└── tsconfig.jsonREADME.md file in the starter package first. It explains how to turn the starter package into your own package and lists the node signatures of the public packages..vscode/: A hidden folder generated and maintained by the extension. It contains workspace settings that point to your installed Fusion instance and to the TypeScript definition files for the Fusion Automation API. The extension updates this folder automatically whenever you connect to a different Fusion installation, for example after a Fusion update, so that the API definitions and paths stay in sync. You do not edit this folder manually.
graphs/: Contains your graphs as .graph.json files. Click any file in this folder to open it in the System Modeler graph editor inside the IDE.
icons/: Contains the icons shown in the Library panel for each node category. Create one subfolder per category, named to match the category name exactly. Each subfolder contains two SVG files: one for light mode (CategoryName-light.svg) and one for dark mode (CategoryName-dark.svg).
nodes/: Contains your custom node definitions as .node.ts files. Organize nodes into subfolders named after their categories, for example nodes/Document/GetResourceFilePath.node.ts. The subfolder name becomes the category name in the Library panel.
nodes/sharedFunctions.ts: Optional, but recommended for any package with more than one node. Use it for TypeScript utility functions that multiple nodes use. Define the function once here and import it into each .node.ts file that needs it. Keeping shared logic in one place makes the package easier to maintain; a change to a shared function updates every node that references it at once.
AGENTS.md: Instructions for AI coding agents that work in the package. It tells an agent how the package is structured, where to find the public packages and their built-in nodes, and which conventions to follow when it creates graphs and nodes. The file ships with the starter package, in the package root next to README.md.
package.manifest: The package metadata file. Records the package name, version, and dependencies on other packages. The extension and Fusion read this file to identify and load the package correctly. The extension updates this file automatically. Do not rename or delete it.
README.md: Documentation about the package for both you and AI coding agents. It explains how to turn the starter package into your own package and contains a table of all nodes in the public packages. Agents use this table as an overview of the available nodes and their IDs, so keep it in the file when you add your own notes. The extension does not process this file.
tsconfig.json: The TypeScript configuration file for the package. Controls how .node.ts files are compiled. The extension generates a default tsconfig.json when you create a package; modify it only if you have specific TypeScript requirements.
The topics in this section cover installing the extension, working with graphs and nodes, and keeping TypeScript definitions up to date.