Skip to content

Work with Parts

How to list, inspect, create, and update hardware part definitions in the Product Management System.

List parts

tlm-cli pms parts list

Navigate with Enter (next page), D (toggle detail view), Esc / Q (quit).

Filter by part family code (fuzzy match — partial values are accepted):

tlm-cli pms parts list --family "SENSOR"

Inspect a part

tlm-cli pms parts show PART-XYZ-001

Press D to expand the view with internal info: Status, Validation SW, Production SW, Notes, Reference Document, Internal Validation, and Test Bench Release.

Create a part

Creating a part requires a part number, a family code, and a customer code. An interactive editor opens to fill in additional attributes (name, description, PCB version, BOM version, config ID):

tlm-cli pms parts create PART-XYZ-001 --family "SENSOR" --customer ACME

Preview the request without saving:

tlm-cli pms parts create PART-XYZ-001 --family "SENSOR" --customer ACME --dry-run

Update a part

Update part attributes via an interactive editor. Any values passed as CLI flags are pre-populated in the editor:

tlm-cli pms parts update PART-XYZ-001

Pass flags to pre-fill specific fields:

tlm-cli pms parts update PART-XYZ-001 --name "New Name" --pcb-ver "v2.0"

Preview the change without applying it:

tlm-cli pms parts update PART-XYZ-001 --name "New Name" --dry-run

Available fields: --name, --description, --pcb-ver, --bom-ver, --config-id.

Set internal info

Internal info tracks engineering and manufacturing metadata for a part. An interactive editor opens pre-populated with any CLI flags provided:

# Set production software version
tlm-cli pms parts set-internal-info PART-XYZ-001 --production-sw "v1.2.0"

# Update multiple fields at once
tlm-cli pms parts set-internal-info PART-XYZ-001 --status approved --notes "Ready for production"

# Preview before applying
tlm-cli pms parts set-internal-info PART-XYZ-001 --status approved --dry-run

Available fields: --status, --validation-sw, --production-sw, --notes, --ref-doc, --internal-validation, --tb-release.

Assign a model to a part

tlm-cli pms parts set-model PART-XYZ-001 --model "gateway-v2"

Preview first:

tlm-cli pms parts set-model PART-XYZ-001 --model "gateway-v2" --dry-run

Use tlm-cli pms models list to find available model names.

Manage part families

Part families group related hardware parts under a shared code. Each family belongs to a customer tenant.

List families

tlm-cli pms parts family list

Navigate with Enter (next page), Esc / Q (quit).

Inspect a family

tlm-cli pms parts family show SENSOR

Create a family

Creating a family requires a unique code, a display name, and a customer code. An interactive editor opens to confirm the name before saving:

tlm-cli pms parts family create SENSOR "Sensor Family" --customer ACME

Preview the request without saving:

tlm-cli pms parts family create SENSOR "Sensor Family" --customer ACME --dry-run

Update a family

Update the family display name via an interactive editor. Pass --name to pre-fill the field:

tlm-cli pms parts family update SENSOR --name "Updated Sensor Family"

Preview the change without applying it:

tlm-cli pms parts family update SENSOR --name "Updated Sensor Family" --dry-run

Manage sub-parts

Sub-parts are the component parts linked to a parent part. Each sub-part is itself a part, identified by its part number.

List sub-parts

tlm-cli pms parts subparts list PART-XYZ-001

The output is a table with columns: PN, Name, Family.

Add sub-parts

Add one or more sub-parts to a part. The target part and each sub-part must already exist, no part number may be repeated, and a part already linked is rejected:

tlm-cli pms parts subparts add CHILD-1 CHILD-2 --to PART-XYZ-001

Preview the change without applying it:

tlm-cli pms parts subparts add CHILD-1 --to PART-XYZ-001 --dry-run

Remove sub-parts

Remove one or more sub-parts from a part. Each part number must currently be a sub-part of the target:

tlm-cli pms parts subparts remove CHILD-1 CHILD-2 --from PART-XYZ-001

Preview the change without applying it:

tlm-cli pms parts subparts remove CHILD-1 --from PART-XYZ-001 --dry-run