nodos CLI¶
nodos (built from Toolchain/nosman) is the Nodos workspace and package manager. It installs
packages, scaffolds modules, drives builds, launches the engine, and publishes to the Nodos Store.
Describes nosman 0.17.
Global options¶
-w, --workspace <workspace>- Directory of the workspace to operate on. Default
.. --silently-agree-eula- Agree to the Nodos EULA without prompting. Agrees for every installed engine.
-h, --help [<help>]- Print help, optionally for a named command.
-V, --version- Print the version.
Workspace¶
nodos init¶
Initialise the current directory as a Nodos workspace.
--allow-nested- Allow creating a workspace inside another workspace.
--reinit- Reinitialise if a workspace already exists here.
nodos deinit¶
Deinitialise a Nodos workspace.
nodos rescan¶
Rescan packages and update caches. Run after changing modules on disk by hand — commands that resolve packages or node classes read this index.
Packages¶
nodos install <package> [version]¶
Install a package.
--exact- Treat
versionas exact. Without it,versionis a minimum within its minor line: fora.b, the newest installedxwitha.b <= x < a.(b+1)is used, or the latest such version is fetched. Fails ifversionislatestor has no minor component. --without-deps- Do not install the package's dependencies.
--prefix <prefix>- Folder path relative to
--out-dir. Default<package_name>/<version>. --out-dir <out_dir>- Installation directory. Default
<package_type>/Downloaded.
nodos remove <package> <version>¶
Remove a package. The version must be exact.
nodos list¶
List packages.
--local- List local packages.
--store- List packages from the Nodos Store.
-p, --package-name <package_name>- List versions of one package.
nodos info [package] [version]¶
Print information about an installed package as JSON. Errors if not installed.
--relaxed- Interpret
versionas a minimum within its minor line rather than an exact match. --manifest <manifest>- Read from a manifest path instead of a package name.
nodos sdk-info <version> [sdk-type]¶
Print information about an installed SDK. Errors if the version is not present.
sdk-type- One of
engine,plugin,subsystem,process. Defaultengine.
nodos get¶
Bring a Nodos release into the workspace, or update an existing one. Aliased as nodos update.
Warning
Updating removes all installed Nodos engines in the workspace.
--name <name>- Release name —
nodos, or a bundle. Defaultnodos.bundle.standard. -v, --version <version>- Release version. Defaults to
1.3, an older line — pass1.4for the current one. -y- Do not prompt; take the default action.
--clean-modules- Remove Nodos modules before installing.
Authoring¶
nodos create <name> [type]¶
Create a Nodos plugin.
typepluginorsubsystem. Required only for Nodos versions before 1.4 — from 1.4 the.nospluginmanifest covers both.-l, --language-tool <language/tool>- Default and only current value
cpp/cmake. -o, --output-dir <output_dir>- Where to create the plugin folder. Default
./Module. --prefix <prefix>- Folder path relative to the output directory. Default
<plugin_name>. -y, --yes-to-all- Do not prompt; use defaults for missing parameters.
--description <description>- Plugin description.
-d, --dependency <dependency>- Add a dependency as
<plugin_name>-<version>. Repeatable. -n, --nodos-version <VERSION>- Nodos version to target. Defaults to the latest.
nodos node <plugin> <node_class_name>¶
Add or remove a node definition in a plugin.
--remove- Remove the node class. Removes the file too if it held only that node.
--display-name <display_name>- Display name.
--description <description>- Description.
--category <category>- Menu category.
--hide- Set
hide_in_context_menuso editors omit it from the right-click menu. -n, --nodos-version <VERSION>- Nodos version to write the definition for. Defaults to the line the plugin's own manifest targets.
nodos pin <node_class_name> <pin_name>¶
Add or remove a pin on a node definition. Omitted parameters are prompted for interactively.
--remove- Remove the pin.
--show-as <show_as>INPUT_PIN,OUTPUT_PINorPROPERTY.--can-show-as <can_show_as>PROPERTY_ONLY,INPUT_PIN_ONLY,INPUT_PIN_OR_PROPERTY,OUTPUT_PIN_OR_PROPERTY,OUTPUT_PIN_ONLY,INPUT_OUTPUT,INPUT_OUTPUT_PROPERTY.--type-name <type_name>- Pin data type.
Defaults and ranges are not exposed as flags; set those by editing the definition file. See Add nodes and pins.
nodos depend <package> [dependency]...¶
Add dependencies to a package. Format <package_name>-<version>; the version is optional.
Repeatable.
nodos get-sample <name> --output-dir <output_dir>¶
Fetch a sample implementation. name is vk_app or dx12_app.
Development¶
nodos dev gen [extra_args]...¶
Generate project files for plugin development. Extra arguments are forwarded to the underlying tool.
-l, --language-tool <language/tool>- Default
cpp/cmake. -p, --project-folder <project_folder>- Output folder. Default
Project. --rm-cache- CMake only. Remove
CMakeCache.txtbefore generating. --clean- CMake only. Delete the output directory before generating.
--plugin-dirs [<plugin_dirs>]- Generate only for these plugin directories. Use for plugins outside the workspace.
nodos dev build [extra_args]...¶
Build generated project files. Extra arguments are forwarded to the build tool.
-l, --language-tool <language/tool>- Default
cpp/cmake. -p, --project-folder <project_folder>- Project folder to build. Default
Project. --config <config>- CMake only. Build configuration, e.g.
Debug,Release. --target <target>- CMake only. Build a single target.
--clean-first- CMake only. Clean before building.
--verbose- CMake only. Verbose output.
-j, --jobs <job_count>- Parallel jobs. Default
auto.
nodos dev setup¶
Clone Nodos repositories from the nodos-dev organisation recursively into the workspace, skipping
any already present. Only repositories your account can access are cloned.
-m, --directory <dir>- Directories to scan. Default
. Engine Module. --ssh- Clone over SSH rather than HTTPS.
-a, --all- Clone all missing repositories without prompting.
nodos dev pull¶
Scan for git repositories under the workspace and pull their current branches.
nodos dev status¶
Show the status of git repositories under the workspace.
nodos dev init¶
Initialise development toolchain files under the workspace.
nodos test¶
Enumerate plugins in a folder, look under each plugin's Tests/ folder, and run nosLauncher
--load-graph for every graph file found (.nos and .nosa).
-p, --plugins-folder <plugins_folder>- Folder containing plugins. Default: workspace root.
-e, --engine-dir <engine_dir>- Engine directory to use. Default: auto-detected from the workspace.
-t, --timeout <timeout>- Timeout in seconds per test. Default
30.
Running¶
nodos launch [engine]¶
Launch Nodos. Alias of nodos engine launch.
engine- Name or version of the engine. If omitted and several are installed, you are asked to pick.
nodos engine <COMMAND>¶
Manage the local engine.
| Command | Effect |
|---|---|
launch |
Launch Nodos. |
list |
List engines installed in this workspace. |
stop |
Stop the running engine and editor for this workspace. |
status |
Show whether the engine and editor are running. |
restart |
Stop the running instance if any, then launch again. |
nodos installer¶
nosman 0.23 and later.
Open the installer window that lists the bundles on the store. Running nodos with no arguments
opens the same window when the current folder holds no installed engine; when it does, nodos
launches that engine instead.
On a machine with no display, both print the equivalent nodos get command instead of opening
the window, and exit 1.
Store¶
nodos auth <COMMAND>¶
| Command | Effect |
|---|---|
login |
Log in to the Nodos Store via device flow. |
logout |
Remove the stored access token. |
nodos publish¶
Publish a package to the Nodos Store.
-p, --path <path>- Root folder (or file) of the package. Default
.. Without a.nospubfile in the folder, all files are added to the release. -n, --name <name>- Package name. Overridden by a manifest under
--path. Required when there is none. --version <version>- Package version. Overridden by a manifest. Required when there is none.
--version-suffix <version_suffix>- Suffix appended to the version.
-t, --type <type>plugin,subsystem,nodos,engineorgeneric. Overridden by a manifest.--dry-run- Show what would be done without publishing.
--verbose- Print more detail.
--tag <tag>- Add a release tag. Repeatable.
--target-platform <target_platform>- Target architecture and OS. Defaults to the current platform.
--changelog <changelog>- Release notes. Falls back to
CHANGELOG.mdin the package directory, then to a store-generated changelog from the artifact diff. --visibility <visibility>public(default) orprivate, applied on first publish only. Ignored if the package already exists — change visibility from the Store dashboard.--no-tag- Do not create a
release-<name>-<version>-<target>git tag after publishing. --no-push-tag- Create the tag locally but do not push it.
--no-fetch-tags- Do not fetch tags or unshallow the repository before generating the changelog. By default nosman does, so changelog generation works under CI's shallow checkouts.
nodos publish-batch¶
Publish all — or only changed — packages under the git repository.
nodos unpublish¶
Unpublish a package version from the Nodos Store. Consumers pinned to that version can no longer resolve it.
A version that a bundle pins is yanked rather than deleted: it leaves the listings and no longer resolves for new installs, but the bundles that pin it keep installing. The command prints which bundles those are.