用途:面向 NeMo Platform CLI 的开发,涵盖新增命令、修改生成器、模板与配置。CLI 使用 Typer 实现,位于 packages/nemo_platform_ext/src/nemo_platform_ext/cli/。命令分四类:API(commands/api/,由 SDK 自动生成,禁止手改)、Configuration(config.py、configure.py,可改)、Use-case(commands/use_cases/,可改)、Quickstart(commands/quickstart/,可改)。
主要能力:手动命令、生成器、模板与配置协同工作。开发时可用 uv run _nemo --help 直接从 packages/nemo_platform_ext 运行,无需先 vendoring。完整构建用 make update-cli,也可分步执行 make generate-cli-commands、make vendor-nemo-platform-ext、make generate-cli-reference-docs。
用法要点:手动命令放在 commands/use_cases/ 或 commands/ 下,使用 Typer 参数、CLIContext 与 @handle_errors,并在 app.py 注册。生成器通过 SDK introspection 在 commands/api/ 生成命令,相关文件位于 tools/nemo-platform-sdk-tools/src/nemo_platform_sdk_tools/sdk/cli_generator/,配置在 cli_config.yaml,可设置 list 命令列、skip 方法、operation_type 或 override 自定义实现。模板为 Jinja2,可用变量包括 command_name、method_name、resource_path、params、docstring。请求体可用 build_kwargs 构建。测试命令:uv run pytest packages/nemo_platform_ext/tests/cli/ -v;生成器测试:uv run --package nemo-platform-sdk-tools pytest tools/nemo-platform-sdk-tools/tests/sdk/cli_generator/ -v。
适用场景:需要为 NeMo Platform CLI 扩展命令、调整生成逻辑或排查更新后 Typer 报错的开发者。
限制:该资料未提供面向最终用户的安装方式、收费与平台信息,亦未给出更完整的使用限制。