systemlink-cli 1.27.1__tar.gz → 1.27.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/PKG-INFO +1 -1
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/pyproject.toml +1 -1
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/_version.py +1 -1
- systemlink_cli-1.27.2/slcli/skills/slcli/SKILL.md +204 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/analysis-recipes.md +87 -2
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/commands.md +38 -6
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/troubleshooting.md +19 -0
- systemlink_cli-1.27.2/slcli/skills/slcli/references/webapp/deployment.md +332 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/overview.md +5 -1
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_click.py +1 -0
- systemlink_cli-1.27.1/slcli/skills/slcli/SKILL.md +0 -91
- systemlink_cli-1.27.1/slcli/skills/slcli/references/webapp/deployment.md +0 -147
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/LICENSE +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/dff-editor/editor.js +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/dff-editor/index.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/__init__.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/__main__.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/alarm_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/asset_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/cli_formatters.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/cli_utils.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/comment_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/completion_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/config.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/config_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/dataframe_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/dff_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/dff_decorators.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/example_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/example_loader.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/example_provisioner.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/_schema/schema-v1.0.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-1/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-1/config.yaml +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-2/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-2/config.yaml +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/config.yaml +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/leakage-current-results.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/overvoltage-results.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/product-xyz-compliance-report.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/product-xyz-specification.csv +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/demo-data-3/thermal-response-results.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/exercise-5-1-parametric-insights/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/exercise-5-1-parametric-insights/config.yaml +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/exercise-7-1-test-plans/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/exercise-7-1-test-plans/config.yaml +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/config.yaml +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/notebooks/SpecAnalysis_ComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/notebooks/SpecComplianceCalculation.ipynb +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/notebooks/SpecfileExtractionAndIngestion.ipynb +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/examples/spec-compliance-notebooks/spec_template.xlsx +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/feed_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/file_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/function_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/function_templates.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/main.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/mcp_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/mcp_reachability.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/mcp_server.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/notebook_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/pkce.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/platform.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/policy_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/policy_utils.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/profiles.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/response_handlers.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/rich_output.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/routine_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skill_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/datasheet-workflow.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/example-authoring.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/filtering.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/import-specs.min.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/job-debugging/overview.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/nipkg/overview.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/notebook/interfaces.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/notebook/notebook-patterns.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/notebook/overview.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/python-test/overview.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/routine-examples.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/angular-ui-packages.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/layout-patterns.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/nimble-angular.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/systemlink-services.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/webapp/troubleshooting.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/scripts/spec_import_helper.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/spec_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/ssl_trust.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/state_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/system_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/system_query_utils.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/systemlink-logo.svg +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/table_utils.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/tag_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/templates_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/testmonitor_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/universal_handlers.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/user_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/utils.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/web_editor.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_bootstrap.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/.gitignore +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/angular.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/package.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/scripts/filter-sbom.js +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app-routing.module.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/app.module.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/layout/app-shell.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/state/app-view-state.service.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/systemlink-context.service.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/theme-sync.service.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/core/systemlink/webapp-home-data.service.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/assets/assets-page.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/datasets/datasets-page.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/home/home-page.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/master-detail/master-detail-page.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/operations/operations-page.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/features/settings/settings-page.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/empty-state.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/error-banner.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/components/loading-state.component.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/app/shared/states/view-state.model.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/assets/README.md +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/index.html +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/main.ts +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/src/styles.scss +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/tsconfig.app.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/webapp_templates/angular/blank/tsconfig.json +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/workflow_preview.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/workflows_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/workitem_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/workspace_click.py +0 -0
- {systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/workspace_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "systemlink-cli"
|
|
3
|
-
version = "1.27.
|
|
3
|
+
version = "1.27.2"
|
|
4
4
|
description = "SystemLink Integrator CLI - cross-platform CLI for SystemLink workflows and templates."
|
|
5
5
|
authors = ["Fred Visser <fred.visser@emerson.com>"]
|
|
6
6
|
packages = [{ include = "slcli" }]
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: slcli
|
|
3
|
+
description: >-
|
|
4
|
+
Query and manage NI SystemLink resources using the slcli command-line interface.
|
|
5
|
+
Use when the user asks about test results, assets, systems, work items,
|
|
6
|
+
specifications, webapps, notebooks, dataframes, files, feeds, tags,
|
|
7
|
+
authorization, users, example fixture authoring, example config.yaml files,
|
|
8
|
+
or other SystemLink resource workflows. Use it when the user asks to create,
|
|
9
|
+
validate, review, install, or troubleshoot a SystemLink example fixture.
|
|
10
|
+
argument-hint: >-
|
|
11
|
+
Describe the SystemLink workflow you want to inspect, automate, scaffold, or
|
|
12
|
+
troubleshoot.
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# SystemLink CLI
|
|
16
|
+
|
|
17
|
+
Use this skill when the task is primarily about `slcli` commands or a
|
|
18
|
+
SystemLink resource workflow that should be driven from the CLI.
|
|
19
|
+
|
|
20
|
+
## When to use it
|
|
21
|
+
|
|
22
|
+
- Querying or managing SystemLink resources through `slcli`
|
|
23
|
+
- Looking up exact command syntax, flags, or JSON output patterns
|
|
24
|
+
- Building command sequences for analysis, provisioning, packaging, or cleanup
|
|
25
|
+
- Creating, validating, or reviewing `slcli example` fixture YAML
|
|
26
|
+
- Troubleshooting CLI behavior, platform gating, or command selection
|
|
27
|
+
|
|
28
|
+
## Reference docs
|
|
29
|
+
|
|
30
|
+
Load only what the current task needs.
|
|
31
|
+
|
|
32
|
+
| Topic | File | When to load |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
| CLI command reference | [commands.md](./references/commands.md) | Looking up command syntax, options, or examples |
|
|
35
|
+
| Example fixture authoring | [example-authoring.md](./references/example-authoring.md) | Creating or reviewing `config.yaml`, resource references, file-backed fixtures, or validation behavior |
|
|
36
|
+
| Datasheet-to-spec workflow | [datasheet-workflow.md](./references/datasheet-workflow.md) | Importing specifications from PDF, CSV, or structured text |
|
|
37
|
+
| Minimal spec import payload | [import-specs.min.json](./references/import-specs.min.json) | Need a bundled create-compatible starter payload or conditions |
|
|
38
|
+
| Spec import helper | [spec_import_helper.py](./scripts/spec_import_helper.py) | Scaffold or validate a datasheet spec import payload |
|
|
39
|
+
| Filtering guide | [filtering.md](./references/filtering.md) | Advanced filters, LINQ syntax, and query composition |
|
|
40
|
+
| Analysis recipes | [analysis-recipes.md](./references/analysis-recipes.md) | Multi-step analysis workflows and reporting patterns |
|
|
41
|
+
| Troubleshooting | [troubleshooting.md](./references/troubleshooting.md) | SSL, workspace IDs, encoding, or scripting pitfalls |
|
|
42
|
+
| Notebook workflow | [notebook/overview.md](./references/notebook/overview.md) | Creating notebooks for SystemLink |
|
|
43
|
+
| Webapp workflow | [webapp/overview.md](./references/webapp/overview.md) | Hosted Angular webapp scaffolding and deployment |
|
|
44
|
+
| Python test workflow | [python-test/overview.md](./references/python-test/overview.md) | Python test app structure and deployment |
|
|
45
|
+
| Job debugging | [job-debugging/overview.md](./references/job-debugging/overview.md) | Salt job triage and recovery |
|
|
46
|
+
| NI package files | [nipkg/overview.md](./references/nipkg/overview.md) | File-package assembly and `nipkg pack` guidance |
|
|
47
|
+
|
|
48
|
+
## Default approach
|
|
49
|
+
|
|
50
|
+
1. Prefer long-form flags in generated commands.
|
|
51
|
+
2. Use `--format json` when the result will be filtered, transformed, or piped
|
|
52
|
+
into other tools.
|
|
53
|
+
3. Use `--summary --group-by` for aggregation before fetching large raw result sets.
|
|
54
|
+
4. Use convenience filters first, then fall back to `--filter` with `--substitution` for complex queries.
|
|
55
|
+
5. Stay scoped to the user’s requested resource or workflow.
|
|
56
|
+
6. Load deeper references only when the command surface alone is not enough.
|
|
57
|
+
7. For example authoring or review, load `example-authoring.md` before proposing YAML.
|
|
58
|
+
8. Prefer workspace IDs over names in scripted workflows when an endpoint is strict about identity.
|
|
59
|
+
9. Use `make_api_request` from `slcli.utils` for helper scripts so auth, SSL, and error handling stay consistent.
|
|
60
|
+
10. For datasheet imports, default to autonomy when the product or workspace can be resolved unambiguously.
|
|
61
|
+
|
|
62
|
+
## Common command groups
|
|
63
|
+
|
|
64
|
+
| Group | Purpose | Key subcommands |
|
|
65
|
+
| --- | --- | --- |
|
|
66
|
+
| `testmonitor` | Test results and products | `result list/get`, `product list/create/update` |
|
|
67
|
+
| `alarm` | Alarm monitoring and lifecycle actions | `list`, `get`, `acknowledge`, `force-clear`, `delete`, `transition`, `monitor` |
|
|
68
|
+
| `spec` | Specifications | `list`, `query`, `get`, `create`, `import`, `export` |
|
|
69
|
+
| `asset` | Assets and calibration | `list`, `get`, `summary`, `calibration` |
|
|
70
|
+
| `system` | System fleet | `list`, `get`, `compare`, `summary`, `job` |
|
|
71
|
+
| `tag` | Tag read/write | `list`, `get-value`, `set-value`, `create` |
|
|
72
|
+
| `routine` | Event-action routines | `list`, `create`, `enable/disable` |
|
|
73
|
+
| `comment` | Resource comments | `list`, `add`, `update`, `delete` |
|
|
74
|
+
| `workitem` | Work items and workflows | `list`, `create`, `schedule`, `template`, `workflow` |
|
|
75
|
+
| `file` | File management | `list`, `upload`, `download`, `query`, `watch` |
|
|
76
|
+
| `notebook` | Jupyter notebooks | `manage list/create`, `execute start/sync` |
|
|
77
|
+
| `feed` | Package feeds | `list`, `create`, `package upload` |
|
|
78
|
+
| `customfield` | Dynamic form fields | `list`, `create`, `export`, `edit` |
|
|
79
|
+
| `template` | Test plan templates | `list`, `import`, `export` |
|
|
80
|
+
| `webapp` | Web applications | `new`, `pack`, `publish`, `list` |
|
|
81
|
+
| `config` | Connection profiles | `list`, `use`, `add`, `delete` |
|
|
82
|
+
| `user` | User management | `list`, `get`, `create`, `update` |
|
|
83
|
+
| `auth` | Authorization policies | `policy list/create`, `template list` |
|
|
84
|
+
| `workspace` | Workspaces | `list`, `get` |
|
|
85
|
+
| `skill` | AI skill installation | `install` |
|
|
86
|
+
| `example` | Demo provisioning | `list`, `install`, `delete` |
|
|
87
|
+
|
|
88
|
+
Example package fixtures are declared as `package` resources after a `feed`
|
|
89
|
+
resource. Use `source.type: dummy` for deterministic packages, `file` for a
|
|
90
|
+
fixture-relative `.nipkg`, or `repository` for an explicit HTTPS package URL.
|
|
91
|
+
The repository catalog can identify packages and feeds, but package bytes must
|
|
92
|
+
come from a direct package URL or an existing feed download path.
|
|
93
|
+
|
|
94
|
+
## Mandatory scope resolution
|
|
95
|
+
|
|
96
|
+
Before the first resource query, resolve the profile and workspace separately.
|
|
97
|
+
Treat a workspace supplied by the user as a workspace identifier, never as a
|
|
98
|
+
profile name. Match it exactly against either the workspace name or UUID.
|
|
99
|
+
|
|
100
|
+
1. Run `slcli config list --format json` and select profiles whose `workspace`
|
|
101
|
+
field matches the requested workspace name. If the user supplied a UUID,
|
|
102
|
+
probe configured profiles sequentially instead. Do not infer a profile from
|
|
103
|
+
a similar name such as `demo-fred` or `fred-roaster`.
|
|
104
|
+
2. Use the global `--profile NAME` override on every command. The option goes
|
|
105
|
+
before the command group, for example:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
slcli --profile PROFILE_NAME workspace list --format json
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
This preserves the user's global active profile.
|
|
112
|
+
3. If several profiles match, probe them sequentially with
|
|
113
|
+
`slcli --profile NAME info --skip-health --format json`. Continue past a
|
|
114
|
+
missing credential, unavailable endpoint, or permission error. Confirm the
|
|
115
|
+
selected candidate with one read-only workspace query before issuing the
|
|
116
|
+
actual resource query. Do not fan out the same query across candidates.
|
|
117
|
+
4. Use the first authorized candidate. Ask the user only when several
|
|
118
|
+
candidates are authorized and the choice could change the answer.
|
|
119
|
+
5. With the selected profile, run `workspace list --format json` and resolve
|
|
120
|
+
the requested workspace by exact name or UUID. Carry both the display name
|
|
121
|
+
and UUID, but use the UUID for subsequent queries when the command accepts
|
|
122
|
+
it.
|
|
123
|
+
|
|
124
|
+
When reading `slcli info --format json`, use `active_profile_name` as the
|
|
125
|
+
effective profile after CLI or environment overrides. `current_profile` is the
|
|
126
|
+
persisted config pointer and may differ. Use `api_url_source` to confirm where
|
|
127
|
+
the effective endpoint came from; never use `current_profile` alone to decide
|
|
128
|
+
which profile served a query.
|
|
129
|
+
|
|
130
|
+
## Mandatory non-interactive webapp deployment protocol
|
|
131
|
+
|
|
132
|
+
For every webapp creation, publish, redeploy, or update task, load
|
|
133
|
+
[deployment.md](./references/webapp/deployment.md) and follow its ordered
|
|
134
|
+
protocol. Do not build or upload an artifact until the deployment target has
|
|
135
|
+
been resolved. The protocol is non-interactive: use JSON output and bounded
|
|
136
|
+
inventory commands, and do not rely on table pagination or terminal prompts.
|
|
137
|
+
|
|
138
|
+
1. Discover the installed command surface before composing commands:
|
|
139
|
+
```bash
|
|
140
|
+
slcli config list --format json
|
|
141
|
+
slcli webapp publish -h
|
|
142
|
+
slcli webapp list -h
|
|
143
|
+
```
|
|
144
|
+
Installed `--help` wins over this skill and its references. Confirm every
|
|
145
|
+
option on the installed CLI; `webapp publish` currently has `--id`, `--name`,
|
|
146
|
+
and `--workspace`, while `webapp list` has bounded JSON output and `-f`.
|
|
147
|
+
Prefer long options in generated commands after confirming they exist.
|
|
148
|
+
2. Resolve the effective profile and target workspace separately. Probe a
|
|
149
|
+
candidate with `info --skip-health --format json`, resolve the workspace
|
|
150
|
+
display name to its UUID with `workspace list --format json`, and carry the
|
|
151
|
+
UUID into every later command. Never use a similar profile name as a
|
|
152
|
+
substitute for workspace identity.
|
|
153
|
+
3. Resolve the exact webapp target before building or uploading. Use a
|
|
154
|
+
bounded, filtered, non-interactive inventory, for example:
|
|
155
|
+
```bash
|
|
156
|
+
slcli --profile PROFILE webapp list \
|
|
157
|
+
--workspace WORKSPACE_ID --filter "Coffee Tasting" \
|
|
158
|
+
--take 10 --format json
|
|
159
|
+
```
|
|
160
|
+
The server-side `--filter` is a substring filter, so compare returned names
|
|
161
|
+
locally. One exact name match means update that webapp with its returned ID
|
|
162
|
+
by default. Multiple exact matches are ambiguous and require a selected ID.
|
|
163
|
+
No exact match means report that a new resource would be created and obtain
|
|
164
|
+
explicit confirmation or an explicit create instruction before using
|
|
165
|
+
`--name`; never create a duplicate as an implicit fallback.
|
|
166
|
+
4. Inspect the project contract before running its dev server or production
|
|
167
|
+
build. Read `package.json` and `angular.json`; do not append `--host` when
|
|
168
|
+
the package script already supplies it. Remove or correct legacy Angular
|
|
169
|
+
options such as `buildOptimizer` and `vendorChunk` when they make `ng serve`
|
|
170
|
+
reject the configuration. Run the production build, detect its actual
|
|
171
|
+
output directory, and verify the hosted routing, CSP, authentication, and
|
|
172
|
+
service/workspace contract. The Test Monitor results service prefix is
|
|
173
|
+
`/nitest/v2/query-results`, not `/nitestmonitor/v2/query-results`; do not
|
|
174
|
+
hardcode `workspace=Default` when the target workspace was resolved.
|
|
175
|
+
5. Publish only after steps 1-4 pass. Pass the resolved workspace for a new
|
|
176
|
+
webapp, or the exact existing webapp ID for an update. Capture the returned
|
|
177
|
+
webapp ID, published URL, and publish timestamp in the task record.
|
|
178
|
+
6. Validate at three levels: deployment metadata with `webapp get`, an
|
|
179
|
+
authenticated CLI query for the target workspace and required resources,
|
|
180
|
+
and an authenticated browser check of the hosted URL. A reachable URL is
|
|
181
|
+
not proof of an authenticated app. If the browser redirects to login or
|
|
182
|
+
returns 401, report exactly: `deployment reachable, interactive hosted
|
|
183
|
+
validation pending.`
|
|
184
|
+
|
|
185
|
+
## Product lookup and overview defaults
|
|
186
|
+
|
|
187
|
+
For product discovery, use this order:
|
|
188
|
+
|
|
189
|
+
1. Try an exact or likely part number with `testmonitor product list
|
|
190
|
+
--part-number`.
|
|
191
|
+
2. Try the name and family convenience filters.
|
|
192
|
+
3. If a convenience filter returns `[]`, treat that as inconclusive. Scan the
|
|
193
|
+
resolved workspace catalog with a bounded JSON query and match name or part
|
|
194
|
+
number locally with `jq`.
|
|
195
|
+
4. Fetch the selected product with `testmonitor product get <PRODUCT_ID>`.
|
|
196
|
+
|
|
197
|
+
For a product overview, fetch the product record and directly linked metadata
|
|
198
|
+
only. Use `--summary` for counts and statuses, and grouped summaries for
|
|
199
|
+
profiles, programs, or other supported dimensions. For result data, use only
|
|
200
|
+
dimensions exposed by the command, such as `status` and `programName`. Fetch
|
|
201
|
+
only the latest 5 to 10 results, projecting relevant fields with `jq`. Fetch
|
|
202
|
+
full result details only for a specific run or failure. Record an explicit UTC
|
|
203
|
+
`as of` time and treat counts from separate live queries as separate
|
|
204
|
+
observations.
|
{systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/analysis-recipes.md
RENAMED
|
@@ -17,10 +17,94 @@ Each recipe maps to a real-world scenario and shows the exact commands needed.
|
|
|
17
17
|
- [Recipe 9: Product family workload distribution](#recipe-9-product-family-workload-distribution)
|
|
18
18
|
- [Recipe 10: Environmental condition failure patterns](#recipe-10-environmental-condition-failure-patterns)
|
|
19
19
|
- [Recipe 11: Create and schedule a work item on a specific fixture/slot and system](#recipe-11-create-and-schedule-a-work-item-on-a-specific-fixtureslot-and-system)
|
|
20
|
+
- [Product discovery and overview](#product-discovery-and-overview)
|
|
20
21
|
- [General tips](#general-tips)
|
|
21
22
|
|
|
22
23
|
---
|
|
23
24
|
|
|
25
|
+
## Product discovery and overview
|
|
26
|
+
|
|
27
|
+
**Question:** Tell me about a product in a specific workspace without
|
|
28
|
+
producing an oversized, inconsistent report.
|
|
29
|
+
|
|
30
|
+
**Prerequisite:** Complete the mandatory profile and workspace resolution in
|
|
31
|
+
the main `slcli` skill. Set `PROFILE` to the selected profile and
|
|
32
|
+
`WORKSPACE_ID` to the resolved workspace UUID. Capture the observation time
|
|
33
|
+
before querying live data:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
PROFILE="<PROFILE_NAME>"
|
|
37
|
+
WORKSPACE_ID="<WORKSPACE_UUID>"
|
|
38
|
+
AS_OF="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
|
39
|
+
printf 'As of %s\n' "$AS_OF"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Lookup order:**
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# 1. Exact or likely part number
|
|
46
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
47
|
+
--workspace "$WORKSPACE_ID" --part-number "<PART_NUMBER>" \
|
|
48
|
+
--format json --take 25
|
|
49
|
+
|
|
50
|
+
# 2. Name or family convenience filters, when the part-number lookup is empty
|
|
51
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
52
|
+
--workspace "$WORKSPACE_ID" --name "<PRODUCT_NAME>" \
|
|
53
|
+
--format json --take 25
|
|
54
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
55
|
+
--workspace "$WORKSPACE_ID" --family "<FAMILY>" \
|
|
56
|
+
--format json --take 25
|
|
57
|
+
|
|
58
|
+
# 3. Bounded workspace catalog fallback when convenience filters are empty
|
|
59
|
+
slcli --profile "$PROFILE" testmonitor product list \
|
|
60
|
+
--workspace "$WORKSPACE_ID" --format json --take 100 |
|
|
61
|
+
jq --arg name "<PRODUCT_NAME>" --arg part "<PART_NUMBER>" '
|
|
62
|
+
[ .[] | select(
|
|
63
|
+
(($name != "") and ((.name // "" | ascii_downcase) | contains($name | ascii_downcase)))
|
|
64
|
+
or (($part != "") and ((.partNumber // "" | ascii_downcase) | contains($part | ascii_downcase)))
|
|
65
|
+
) | {id, name, partNumber, family, workspace} ]'
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
An empty result from a name or family filter does not prove that the product is
|
|
69
|
+
absent. Increase the bounded catalog limit only deliberately, and project the
|
|
70
|
+
candidate fields in `jq` before displaying them. Fetch the selected record only
|
|
71
|
+
after identifying its ID:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
slcli --profile "$PROFILE" testmonitor product get <PRODUCT_ID> --format json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
**Overview budget:**
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
# Directly linked metadata, only when relevant to the question
|
|
81
|
+
slcli --profile "$PROFILE" spec list --product <PRODUCT_ID> --format json
|
|
82
|
+
|
|
83
|
+
# Compact counts and status breakdown
|
|
84
|
+
slcli --profile "$PROFILE" testmonitor result list \
|
|
85
|
+
--part-number "<PART_NUMBER>" --summary --group-by status \
|
|
86
|
+
--format json
|
|
87
|
+
|
|
88
|
+
# Grouped program summary
|
|
89
|
+
slcli --profile "$PROFILE" testmonitor result list \
|
|
90
|
+
--part-number "<PART_NUMBER>" --summary --group-by programName \
|
|
91
|
+
--format json
|
|
92
|
+
|
|
93
|
+
# Latest 5 to 10 results, projected to relevant fields
|
|
94
|
+
slcli --profile "$PROFILE" testmonitor result list \
|
|
95
|
+
--part-number "<PART_NUMBER>" --order-by STARTED_AT --descending \
|
|
96
|
+
--take 10 --format json |
|
|
97
|
+
jq '[.[] | {id, status: .status.statusType, startedAt, programName,
|
|
98
|
+
partNumber, serialNumber}]'
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Use `testmonitor result get <RESULT_ID> --include-steps --format json` only
|
|
102
|
+
when the user asks about a particular run or failure. Counts from separate
|
|
103
|
+
commands are not one atomic snapshot; report the `as of` time and call out
|
|
104
|
+
live-data changes when totals do not agree.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
24
108
|
## Recipe 1: Operator failure rate analysis
|
|
25
109
|
|
|
26
110
|
**Question:** Which operators have the highest failure rates and what should they
|
|
@@ -482,8 +566,9 @@ slcli workitem schedule wi-12345 \
|
|
|
482
566
|
- **Start with `--summary`** to understand data shape before fetching raw records.
|
|
483
567
|
- **Use `--group-by`** with `--summary` for aggregation: `status`, `programName`,
|
|
484
568
|
`serialNumber`, `operator`, `hostName`, `systemId`.
|
|
485
|
-
- **Chain with `jq`** for complex transformations — always use
|
|
486
|
-
- **Use `--take` wisely** — start
|
|
569
|
+
- **Chain with `jq`** for complex transformations — always use `--format json`.
|
|
570
|
+
- **Use `--take` wisely** — start with 5-10 for recent detail and a bounded
|
|
571
|
+
catalog query for discovery; increase only when the question requires it.
|
|
487
572
|
- **For rate calculations**, query total count and filtered count separately, then divide.
|
|
488
573
|
- **Use `--order-by TOTAL_TIME_IN_SECONDS --descending`** to find slowest tests quickly.
|
|
489
574
|
- **Asset `--connected` flag** limits to assets in currently connected systems.
|
|
@@ -28,6 +28,31 @@ Complete option reference for all `slcli` command groups.
|
|
|
28
28
|
- [webapp — Web application management](#webapp--web-application-management)
|
|
29
29
|
- [skill — AI skill installation](#skill--ai-skill-installation)
|
|
30
30
|
- [example — Built-in example resource provisioning](#example--built-in-example-resource-provisioning)
|
|
31
|
+
- [Scope and capability discovery](#scope-and-capability-discovery)
|
|
32
|
+
|
|
33
|
+
## Scope and capability discovery
|
|
34
|
+
|
|
35
|
+
Resolve a requested workspace before querying its resources. `--profile` is a
|
|
36
|
+
global option and must precede the command group:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Find profiles mapped to the requested workspace
|
|
40
|
+
slcli config list --format json | \
|
|
41
|
+
jq -r --arg workspace "Fred" '.[] | select((.workspace // "") == $workspace) | .name'
|
|
42
|
+
|
|
43
|
+
# Probe candidates one at a time without changing the active profile
|
|
44
|
+
slcli --profile <PROFILE_NAME> info --skip-health --format json
|
|
45
|
+
slcli --profile <PROFILE_NAME> workspace list --format json
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
In `info` JSON, `active_profile_name` is the effective profile for the command,
|
|
49
|
+
while `current_profile` is the persisted config pointer. `api_url_source`
|
|
50
|
+
identifies the source of the effective API URL. Use the effective fields when
|
|
51
|
+
they disagree; `current_profile` alone is not a reliable query-scope signal.
|
|
52
|
+
|
|
53
|
+
Consult `<command> --help` whenever a flag or alias is uncertain. Format aliases
|
|
54
|
+
are command-specific, and the installed CLI help is authoritative. Generated
|
|
55
|
+
commands should prefer the long form `--format json`.
|
|
31
56
|
|
|
32
57
|
## testmonitor — Test data analysis
|
|
33
58
|
|
|
@@ -78,7 +103,7 @@ slcli testmonitor product list [OPTIONS]
|
|
|
78
103
|
--workspace, -w TEXT # Filter by workspace name or ID
|
|
79
104
|
--summary # Show summary statistics
|
|
80
105
|
--take, -t INTEGER # Items per page (default 25)
|
|
81
|
-
-f [table|json]
|
|
106
|
+
--format, -f [table|json]
|
|
82
107
|
|
|
83
108
|
# Get a single product
|
|
84
109
|
slcli testmonitor product get <PRODUCT_ID> [-f json]
|
|
@@ -665,8 +690,8 @@ slcli comment delete <ID1> <ID2> <ID3>
|
|
|
665
690
|
## workspace — Workspace management
|
|
666
691
|
|
|
667
692
|
```bash
|
|
668
|
-
slcli workspace list [
|
|
669
|
-
slcli workspace get --workspace WORKSPACE_ID [
|
|
693
|
+
slcli workspace list [--format json]
|
|
694
|
+
slcli workspace get --workspace WORKSPACE_ID [--format json]
|
|
670
695
|
slcli workspace disable --id WORKSPACE_ID [--yes]
|
|
671
696
|
```
|
|
672
697
|
|
|
@@ -681,7 +706,7 @@ slcli logout [--profile NAME] [--all] [--force]
|
|
|
681
706
|
slcli info [-f json] [--skip-health] # Show active profile and service health
|
|
682
707
|
slcli completion [--shell SHELL] [--install] # Generate or install shell tab completion
|
|
683
708
|
|
|
684
|
-
slcli config list [
|
|
709
|
+
slcli config list [--format json] # List all profiles
|
|
685
710
|
slcli config current # Show the active profile name
|
|
686
711
|
slcli config use <PROFILE> # Switch the active profile
|
|
687
712
|
slcli config view [-f json] [--show-secrets] # Show stored profile details
|
|
@@ -896,13 +921,20 @@ is intentionally omitted from the recommended command sequence.
|
|
|
896
921
|
slcli webapp new <APP_NAME> [OPTIONS] # Generate a hosted Angular webapp
|
|
897
922
|
slcli webapp manifest init <DIRECTORY> [OPTIONS] # Create nipkg.config.json for packaging
|
|
898
923
|
slcli webapp pack [FOLDER] [--config FILE] [--output OUTPUT_FILE] # Package a webapp into a .nipkg
|
|
899
|
-
slcli webapp list [-w WORKSPACE] [--filter TEXT] [--take INT] [--format
|
|
924
|
+
slcli webapp list [-w WORKSPACE] [--filter TEXT] [--take INT] [--format FORMAT] [-f FORMAT]
|
|
900
925
|
slcli webapp get --id WEBAPP_ID [--format json]
|
|
901
|
-
slcli webapp publish PATH
|
|
926
|
+
slcli webapp publish PATH --id WEBAPP_ID # Update an existing webapp
|
|
927
|
+
slcli webapp publish PATH --name NAME --workspace NAME # Create metadata and upload
|
|
902
928
|
slcli webapp delete --id WEBAPP_ID [--yes]
|
|
903
929
|
slcli webapp open --id WEBAPP_ID # Open webapp URL in browser
|
|
904
930
|
```
|
|
905
931
|
|
|
932
|
+
`webapp list` supports both `--format` and `-f` in the current CLI. Older
|
|
933
|
+
installed versions may expose only the long form, so use `slcli webapp list
|
|
934
|
+
--help` to verify the local command surface before scripting against it.
|
|
935
|
+
`webapp publish` has no output-format option; use `webapp get --format json`
|
|
936
|
+
after publishing when structured deployment metadata is needed.
|
|
937
|
+
|
|
906
938
|
For an existing Angular project, work in that project directly and load the
|
|
907
939
|
webapp references as needed. Do not introduce the legacy `webapp init` step
|
|
908
940
|
into a new project workflow.
|
{systemlink_cli-1.27.1 → systemlink_cli-1.27.2}/slcli/skills/slcli/references/troubleshooting.md
RENAMED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Common issues and workarounds when using `slcli` or scripting against SystemLink APIs.
|
|
4
4
|
|
|
5
|
+
## Effective profile and workspace scope
|
|
6
|
+
|
|
7
|
+
Resolve the workspace and profile independently before querying resources. A
|
|
8
|
+
workspace name is not a profile name. Use `slcli config list --format json` to
|
|
9
|
+
find profiles mapped to the workspace, then pass the selected profile before
|
|
10
|
+
each command with `slcli --profile NAME ...`.
|
|
11
|
+
|
|
12
|
+
When `slcli info --format json` shows different values, use
|
|
13
|
+
`active_profile_name` for the effective profile and `api_url_source` for the
|
|
14
|
+
effective endpoint. `current_profile` is only the persisted config pointer and
|
|
15
|
+
may be stale relative to a CLI or environment override.
|
|
16
|
+
|
|
17
|
+
## Live-data snapshots
|
|
18
|
+
|
|
19
|
+
Queries are live and may change between commands. Record the query time and
|
|
20
|
+
avoid presenting counts from separate commands as one atomic snapshot. If
|
|
21
|
+
multiple aggregations must agree exactly, fetch one bounded JSON result set and
|
|
22
|
+
derive all aggregations locally.
|
|
23
|
+
|
|
5
24
|
## Workspace IDs vs names
|
|
6
25
|
|
|
7
26
|
Some API endpoints (notably **file upload**) require the workspace **UUID**, not
|