tlm-cli pms parts¶
Commands for browsing and managing parts (hardware definitions) in the Product Management System (PMS).
list¶
List parts sorted by part number with interactive pagination.
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.
| 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
create¶
Create a new part for a customer.
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.
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.
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.
| 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.
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.
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
family show¶
Show attributes for a single part family.
| Argument | Description |
|---|---|
FAMILY_CODE |
Family code to display. |
Press Q, Esc, or Enter to quit.
Example
family create¶
Create a new part family for a customer.
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.
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.
| 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.
| 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.
| 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