Skip to content

tlm-cli pms parts

Commands for browsing and managing parts (hardware definitions) in the Product Management System (PMS).

tlm-cli pms parts [COMMAND] [OPTIONS]

list

List parts sorted by part number with interactive pagination.

tlm-cli pms parts list [OPTIONS]

Fetches parts in batches of 200 and displays 25 at a time.

Option Type Description
--family TEXT string Filter by part family code (fuzzy match).

Keyboard shortcuts

Key Action
Enter Next page
d Toggle detail view (adds PCB Ver, BOM Ver, Config ID, Status)
q or Esc Quit

Example

# List all parts
tlm-cli pms parts list

# Filter by family code
tlm-cli pms parts list --family "SENSOR"

show

Show full attributes and internal info for a single part.

tlm-cli pms parts show PART_NUMBER
Argument Description
PART_NUMBER Part number (PN) to display.

Keyboard shortcuts

Key Action
d Toggle internal info detail (adds Status, Validation SW, Production SW, Notes, Ref Doc, etc.)
q, Esc, Enter Quit

Example

tlm-cli pms parts show PART-XYZ-001

create

Create a new part for a customer.

tlm-cli pms parts create PART_NUMBER --family FAMILY --customer CUSTOMER [OPTIONS]

Checks that no part with the given part number already exists, then opens an interactive editor to fill in additional attributes (name, description, PCB version, BOM version, config ID).

Argument / Option Type Required Description
PART_NUMBER string yes Part number (PN) — must not already exist.
--family TEXT string yes Part family code to assign.
--customer TEXT string yes Customer code whose tenant will be assigned.
--dry-run flag no Show the request without saving.

Example

# Create a part (opens interactive editor)
tlm-cli pms parts create PART-XYZ-001 --family "SENSOR" --customer ACME

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

update

Update part attributes via an interactive editor.

tlm-cli pms parts update PART_NUMBER [OPTIONS]

Any values passed as CLI flags are pre-populated in the editor. Exit the editor without changes to abort.

Argument / Option Type Required Description
PART_NUMBER string yes Part number (PN) to update.
--name TEXT string no Part display name.
--description TEXT string no Part description.
--pcb-ver TEXT string no PCB version.
--bom-ver TEXT string no BOM version.
--config-id TEXT string no Config ID.
--dry-run flag no Show the change without applying it.

Example

# Open editor (no pre-filled values)
tlm-cli pms parts update PART-XYZ-001

# Pre-fill specific fields
tlm-cli pms parts update PART-XYZ-001 --name "New Name" --pcb-ver "v2.0"

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

set-internal-info

Create or update the internal info record for a part.

tlm-cli pms parts set-internal-info PART_NUMBER [OPTIONS]

At least one field option is required.

Argument / Option Type Description
PART_NUMBER string Part number (PN) to update.
--status TEXT enum Part status (see valid values below).
--validation-sw TEXT string Validation software version.
--production-sw TEXT string Production software version.
--notes TEXT string Internal notes.
--ref-doc TEXT string Reference documentation identifier.
--internal-validation TEXT string Internal validation signature.
--tb-release TEXT string Test bench release identifier.
--dry-run flag Show the change without applying it.

Example

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

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

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

set-model

Assign an IoT model to a part by model name.

tlm-cli pms parts set-model PART_NUMBER --model TEXT [OPTIONS]
Argument / Option Type Required Description
PART_NUMBER string yes Part number (PN) to update.
--model TEXT string yes Model name to assign (exact match).
--dry-run flag no Show the change without applying it.

Example

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

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

family

Commands for managing part families.

tlm-cli pms parts family [COMMAND] [OPTIONS]

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


family list

List all part families sorted by code with interactive pagination.

tlm-cli pms parts family list

Fetches families in batches of 200 and displays 25 at a time. Press Enter to advance pages, Esc or Q to quit. Output columns: Code, Name.

Example

tlm-cli pms parts family list

family show

Show attributes for a single part family.

tlm-cli pms parts family show FAMILY_CODE
Argument Description
FAMILY_CODE Family code to display.

Press Q, Esc, or Enter to quit.

Example

tlm-cli pms parts family show SENSOR

family create

Create a new part family for a customer.

tlm-cli pms parts family create FAMILY_CODE FAMILY_NAME --customer CUSTOMER_CODE [OPTIONS]

Checks that no family with the given code already exists, then opens an interactive editor to confirm the name.

Argument / Option Type Required Description
FAMILY_CODE string yes Unique family code — must not already exist.
FAMILY_NAME string yes Family display name.
--customer TEXT string yes Customer code whose tenant will be assigned.
--dry-run flag no Show what would be created without saving.

Example

# Create a family (opens interactive editor to confirm name)
tlm-cli pms parts family create SENSOR "Sensor Family" --customer ACME

# Preview without saving
tlm-cli pms parts family create SENSOR "Sensor Family" --customer ACME --dry-run

family update

Update the display name of an existing part family.

tlm-cli pms parts family update FAMILY_CODE [OPTIONS]

Opens an interactive editor pre-populated with any CLI flags provided. Exit without changes to abort.

Argument / Option Type Required Description
FAMILY_CODE string yes Family code of the family to update.
--name TEXT string no New family display name.
--dry-run flag no Show the change without applying it.

Example

# Open editor pre-filled with new name
tlm-cli pms parts family update SENSOR --name "Updated Sensor Family"

# Preview without applying
tlm-cli pms parts family update SENSOR --name "Updated Sensor Family" --dry-run

subparts

Manage the sub-parts of a part: list, add, or remove sub-part links.

subparts list

List the sub-parts of a given part.

tlm-cli pms parts subparts list PART_NUMBER
Argument Description
PART_NUMBER Part number whose sub-parts to list.

Output is a table with columns: PN, Name, Family.

subparts add

Add one or more sub-parts to a part. Every check runs before any write: the target and each sub-part must exist, no PN may be repeated, and a PN already linked is rejected.

tlm-cli pms parts subparts add SUBPART [SUBPART ...] --to PART_NUMBER
Argument / Option Description
SUBPART ... One or more sub-part numbers to add.
--to Target parent part number. Required.
--dry-run Preview the change without saving.

Example

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

subparts remove

Remove one or more sub-parts from a part. The target must exist, no PN may be repeated, and each PN must currently be a sub-part of the target.

tlm-cli pms parts subparts remove SUBPART [SUBPART ...] --from PART_NUMBER
Argument / Option Description
SUBPART ... One or more sub-part numbers to remove.
--from Parent part number. Required.
--dry-run Preview the change without saving.

Example

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