Documentation Index
Fetch the complete documentation index at: https://mintlify.com/analogdevicesinc/codefusion-studio/llms.txt
Use this file to discover all available pages before exploring further.
The cfsutil workspace commands let you create and configure CodeFusion Studio workspaces entirely from the terminal. This is especially useful for scripted or CI-driven project setup: you can generate a workspace configuration file from command-line options, review or edit it, and then create the actual workspace from that file — or create a workspace directly by supplying all parameters as flags. The two workspace subcommands, configure and create, are designed to work together or independently.
Before you begin
Before configuring a workspace you will need the following information. Use the discovery commands in the table below to find the correct values for your target hardware.
| Information needed | Discovery command |
|---|
| SoC name and available packages | cfsutil socs list |
| Boards, packages, and cores for a specific SoC | cfsutil socs info <SOC> --boards --packages --cores |
| Plugin IDs and template IDs for a SoC | cfsutil cfsplugins list --soc <SOC> |
cfsutil workspace configure --soc <value> --board <value> --core <value> --template-id <value> \
[-w <value>] [--name <value>] [-o <value>] [--package <value>] \
[--template-version <value>] [-s <value>...] [-v]
Generates a .cfsworkspace JSON configuration file from command-line options. The generated file can be reviewed and edited before being passed to cfsutil workspace create -i to create the actual workspace.
--core and --template-id are paired flags. Each --core must be immediately followed by its corresponding --template-id. For multi-core projects, repeat the pair for each core. --template-version is optional and may follow a --template-id.
Flag reference
| Flag | Required | Description |
|---|
--soc=<value> | Yes | SoC name (for example, MAX32690, ADSP-SC835) |
--board=<value> | Yes | Board name (for example, AD-APARD32690-SL) |
--core=<value> | Yes | Core name. Repeat for each core, each immediately followed by --template-id |
--template-id=<value> | Yes | Template (plugin) ID for the preceding --core |
--template-version=<value> | No | Specific template version for the preceding --template-id. Uses latest if omitted |
--name=<value> | Recommended | Name for the new workspace. Must be present here or in the generated file before running workspace create |
-o, --output=<value> | Recommended | Sets the Location field in the generated file — where the workspace will be created |
--package=<value> | No | SoC package variant. Auto-detected from board if omitted |
-w, --workspace-file=<value> | No | Name of the generated workspace config file. Default: cfsworkspace.json |
-s, --search-path=<value>... | No | Additional directory to search for plugins and data models. Can be repeated |
-v, --verbose | No | Enable verbose output |
Examples
Single-core project
Multi-core project
With local plugins
cfsutil workspace configure \
--soc MAX32690 \
--board AD-APARD32690-SL \
--core CM4 \
--template-id com.analog.project.msdk.plugin \
--name myWorkspace \
-o /path/to/output
cfsutil workspace configure \
--soc ADSP-SC835 \
--board ADSPSC835-EV-SOM \
--core FX --template-id com.analog.project.sharcfx.plugin \
--core CM33 --template-id com.analog.project.sharcfx.plugin \
--name myNewWorkspace \
-o /path/to/output \
-w myWorkspaceConfig.json
cfsutil workspace configure \
--soc MAX32690 \
--board AD-APARD32690-SL \
--core CM4 \
--template-id com.analog.project.msdk.plugin \
--name myWorkspace \
-o /path/to/output \
-s /path/to/local/plugins \
-s /path/to/local/data-models
cfsutil workspace create
cfsutil workspace create [-s <value>...] [-i <value>] [-o <value>] [--name <value>] \
[--soc <value>] [--board <value>] [--package <value>] \
[--template-id <value>] [--template-version <value>]
Creates a CFS workspace from either an existing .cfsworkspace file (--input mode) or from command-line parameters (flag-driven mode). The two modes are mutually exclusive.
When using --input, workspace definition flags (--soc, --board, --package, --template-id, --template-version) are not supported and will cause an error. Only --name, --output, and --search-path may be combined with --input.
Create from a .cfsworkspace file
Use this mode after running cfsutil workspace configure, or with a .cfsworkspace file generated by the CFS IDE.
| Flag | Description |
|---|
-i, --input=<path> | Required. Path to the .cfsworkspace file |
--name=<value> | Override or fill in the WorkspaceName field in the file |
-o, --output=<path> | Override or fill in the Location field in the file |
-s, --search-path=<path>... | Additional directories to search for plugins and data models. Can be repeated |
cfsutil workspace create -i path/to/myWorkspaceConfig.json
If Location/WorkspaceName already exists on disk, use --name or --output to redirect to a different path:
cfsutil workspace create -i myWorkspaceConfig.json --name myWorkspace_v2 -o /new/output/path
Sample .cfsworkspace file:
{
"Copyright": "(C) Analog Devices, Inc 2026. Generated by CodeFusion Studio CLI",
"Timestamp": "2026-04-09T10:38:53.862Z",
"Soc": "MAX32690",
"Package": "WLP",
"Board": "AD-APARD32690-SL",
"WorkspaceName": "Apard_ws",
"Location": "C:\\Users\\<username>\\cfs\\2.2.0",
"WorkspacePluginId": "",
"WorkspacePluginVersion": "",
"Projects": [
{
"Core": "CM4",
"Soc": "MAX32690",
"Package": "WLP",
"CoreId": "CM4",
"Name": "Arm Cortex-M4F",
"FirmwarePlatform": "MSDK",
"IsPrimary": true,
"IsEnabled": true,
"PluginId": "com.analog.project.msdk.plugin",
"PluginVersion": "1.2.0",
"PlatformConfig": {
"ProjectName": "CM4",
"MsdkBoardName": "APARD"
}
}
],
"DataModelVersion": "1.3.628",
"DataModelSchemaVersion": "1.2.0"
}
Create from command-line flags
Supply all workspace parameters directly. The generated workspace path is <output>/<name>.
| Flag | Required | Description |
|---|
-o, --output=<path> | Yes | Output directory for the new workspace (excluding workspace name) |
--name=<value> | Yes | Name of the new workspace |
--soc=<value> | Yes | SoC name |
--board=<value> | Yes | Board name |
--template-id=<value> | Yes | Template (plugin) ID |
--package=<value> | No | Package name. Defaults to the value associated with the board if omitted |
--template-version=<value> | No | Template version. Uses latest available if omitted |
cfsutil workspace create \
-o "C:/Users/<username>/cfs/2.2.0" \
--name myNewWorkspace \
--soc MAX32690 \
--board AD-APARD32690-SL \
--template-id com.analog.multicore.msdk.helloworld
cfsutil project create
The project create command regenerates an existing project defined in a .cfsworkspace file. It is typically used after upgrading a plugin or updating workspace templates. It does not create new projects — it only rebuilds projects already listed in the Projects array.
cfsutil project create -w <path/.cfsworkspace> -p <project-name> [-s <plugin/search/directory>]
| Flag | Required | Description |
|---|
-w=<path> | Yes | Path to the .cfsworkspace file |
-p=<name> | Yes | Name of the project to regenerate. Must match the Name field in the Projects array. Wrap in quotes if the name contains spaces |
-s=<path> | No | Additional directory to search for plugins and data models. Can be repeated |
cfsutil project create \
-w /path/to/Apard_ws/.cfs/.cfsworkspace \
-p "Arm Cortex-M4F"
Workspaces created from templates may have an empty Projects array. Because project create only regenerates existing projects, it will fail if the array is empty. To populate it, use the Manually configure the workspace option in the Workspace Creation Wizard, or run cfsutil workspace configure followed by cfsutil workspace create -i.
CI/CD integration patterns
For automated or headless environments, use the flag-driven workspace create mode to avoid interactive prompts. Pass --acceptLicense to cfsutil pkg install when installing dependencies before workspace creation.
# Step 1: Install required packages
cfsutil pkg install /path/to/workspace/.cfs/.cfsdependencies --acceptLicense
# Step 2: Create workspace from flags
cfsutil workspace create \
-o "$CI_OUTPUT_DIR" \
--name "ci_workspace" \
--soc MAX32690 \
--board AD-APARD32690-SL \
--template-id com.analog.project.msdk.plugin
# Step 3: Build
cfsutil tasks run build -w "$CI_OUTPUT_DIR/ci_workspace" -p CM4