Skip to main content

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 CFS Package Manager, accessed through cfsutil pkg, lets you retrieve, install, and manage the SDKs, toolchains, and plugins that power CodeFusion Studio — independently of full IDE releases. You can install specific versions of components, use semantic version ranges to allow compatible updates, install from a manifest file, or work entirely offline from a local cache. Remote package servers are fully configurable, with support for username/password, token, and myAnalog session authentication.

cfsutil pkg install

cfsutil pkg install <reference> [-l|--local] [--acceptLicense]
Installs a CFS package and all its dependencies. The <reference> argument is either a name/version package reference or a path to a .cfsdependencies manifest file.
Argument / FlagDescription
<reference>Package reference (name/version) or path to a manifest file (for example, .cfs/.cfsdependencies)
-l, --localInstall from local cache only — no network access
--acceptLicenseAccept all package licenses without prompting. Required in CI/non-interactive environments
# Install a specific version
cfsutil pkg install zephyr/4.3.0

# Install from a workspace manifest file
cfsutil pkg install /path/to/workspace/.cfs/.cfsdependencies

# Install and accept any license prompts automatically
cfsutil pkg install msdk/2.2.0 --acceptLicense

Semantic version range syntax

Version ranges let you specify a constraint rather than a fixed version. The package manager selects the newest available stable version satisfying the constraint.
When using the name/version format, only a single version token is supported (an exact version, or a single operator/range prefix such as ^, ~, or >=). Compound constraints (for example, >=2.0.0 <3.0.0) and wildcards (2.1.*) require a manifest file.
Range typeExampleBehavior
Exactzephyr/4.3.0Installs exactly version 4.3.0
Caret (^)cfs_base_plugins/^2.0.0Installs highest 2.x.x (does not change major)
Tilde (~)cfs_base_data_models/~2.0.0Installs highest 2.0.x (patch only)
Greater than or equalcfs_base_plugins/>=2.0.0Installs highest version ≥ 2.0.0
Less thancfs_base_plugins/<2.1.0Installs highest version < 2.1.0
Greater thancfs_base_data_models/>2.0.1Installs highest version > 2.0.1
Wrap version range expressions in quotes to prevent the shell from interpreting special characters such as ^, >, or <.
cfsutil pkg install "cfs_base_plugins/^2.0.0"
cfsutil pkg install "cfs_base_data_models/~2.0.0"
cfsutil pkg install "cfs_base_plugins/>=2.0.0"

Installing from a manifest file

Manifest files (.cfsdependencies) specify multiple packages and their versions. They also support compound version constraints not available in the name/version format.
{
  "version": 1,
  "packages": [
    { "name": "msdk", "version": "2.2.0" },
    { "name": "cfs_base_data_models", "version": "2.2.0" },
    { "name": "cfs_base_plugins", "version": ">=2.0.0 <3.0.0" }
  ]
}
cfsutil pkg install /path/to/workspace/.cfs/.cfsdependencies

Offline install from local cache

Use --local to install from cached packages only, without accessing remote repositories. If no cached version satisfies the constraint, the install fails.
# Install exactly version 2.0.0 from cache
cfsutil pkg install cfs_base_plugins/2.0.0 --local

# Install the newest cached version in the ^2.0.0 range
cfsutil pkg install "cfs_base_plugins/^2.0.0" --local

# Install all workspace dependencies from cache
cfsutil pkg install /path/to/workspace/.cfs/.cfsdependencies --local

cfsutil pkg list

cfsutil pkg list [<pattern>] [-f KEY=VALUE]
Lists installed packages. Optionally filter by pattern or metadata.
Argument / FlagDescription
<pattern>Optional pattern with wildcard * support (for example, cfs_base*)
-f, --filter=KEY=VALUEFilter by metadata key/value pair. Can be repeated (all conditions must match)
# List all installed packages
cfsutil pkg list

# Filter by SoC support
cfsutil pkg list -f soc=MAX32690

# Filter by CFS version range and type
cfsutil pkg list -f cfsVersion=^2.0 -f type=sdk
cfsutil pkg search <pattern>
Search packages available for installation from all registered remotes.
cfsutil pkg search "zephyr*"
Wrap patterns in quotes to prevent wildcard expansion by the shell.

cfsutil pkg info

cfsutil pkg info <package-reference> [-f json]
Retrieves metadata for a package. The package does not need to be installed.
cfsutil pkg info zephyr/4.3.0 -f=json

cfsutil pkg uninstall

cfsutil pkg uninstall <name>
Uninstalls a package. The package remains in the local cache and can be reinstalled without re-downloading.
A package cannot be uninstalled if another installed package depends on it. Use cfsutil pkg local-consumers <name> to identify dependent packages that must be removed first.
cfsutil pkg uninstall zephyr

cfsutil pkg delete

cfsutil pkg delete <pattern>
Permanently removes packages from the local cache. Wildcards are supported.
Deleting a package from the cache permanently removes the cached download. You must re-download it from a remote to use it again.
# Delete all cached packages
cfsutil pkg delete "*"

cfsutil pkg list-cache

cfsutil pkg list-cache [<pattern>] [--format text|json]
Lists all packages in the local cache, including those not currently installed.
cfsutil pkg list-cache
cfsutil pkg list-cache "cfs_base*"
cfsutil pkg list-cache "zephyr/4.*"
cfsutil pkg list-cache --format json

cfsutil pkg dependencies

cfsutil pkg dependencies <package-reference>
Lists all dependencies of a package, including transitive dependencies. The package does not need to be installed.
cfsutil pkg dependencies zephyr/4.3.0

cfsutil pkg local-consumers

cfsutil pkg local-consumers <name>
Lists all installed packages that depend on the specified package (including transitive consumers). Useful before attempting an uninstall.
cfsutil pkg local-consumers zephyr

Remote server management

Add a remote

cfsutil pkg add-remote <remote-name> <url>
Registers a new package server.
cfsutil pkg add-remote myserver https://my.server.url

Authenticate a remote

cfsutil pkg auth-remote <remote-name> [--user <username>] [--password <password>] [--myanalog] [--none]
Configures authentication for a remote.
FlagDescription
--user <username>Authenticate with a username. Prompts for password if not provided
--password <password>Password, API key, or token
--myanalogUse your active myAnalog session for authentication
--noneDisable authentication for the remote
cfsutil pkg auth-remote myserver --user USERNAME --password PASSWORD
cfsutil pkg auth-remote myserver --myanalog
cfsutil pkg auth-remote myserver --none
When using --myanalog, you must be logged in. Check your session with cfsutil myanalog status and log in with cfsutil myanalog login if needed.

List remotes

cfsutil pkg list-remotes
Shows all registered remote servers with their URLs, authentication method, and whether they are a default (pre-configured) remote.

Delete a remote

cfsutil pkg delete-remote <remote-name>
Unregisters a remote package server.
cfsutil pkg delete-remote myserver

Common workflows

cfsutil pkg install msdk/2.2.0

Build docs developers (and LLMs) love