1. Project Setup
Initialize Your Project
Create a new directory and initialize TDT:
mkdir led-flashlight
cd led-flashlight
tdt init
This creates:
- A
.tdt/directory with configuration - A
.gitignorefile (excludes local short ID mappings) - A git repository
- Standard directory structure for all entity types
Configure Your Project
Use the tdt config command to set your default author and editor:
# Set author for this project
tdt config set author "Your Name"
# Set your preferred editor
tdt config set editor "code --wait" # or vim, nano, etc.
# View current configuration
tdt config show
You can also set these globally (applies to all projects):
tdt config set author "Your Name" --global
tdt config set editor "code --wait" --global
Configuration priority: environment variables > project config > global config. TDT will also fall back to your git user name if no author is configured.
CLI Tips
TDT commands support both long flags (readable) and short flags (efficient):
| Long Form | Short | Description |
|---|---|---|
--title | -T | Entity title |
--no-edit | -n | Skip editor, create immediately |
--verifies | -R | Requirements a test verifies |
--mitigates | -M | Risks a test mitigates |
--bom | -b | BOM items for assembly (ID:QTY pairs) |
--breaks | -B | Price breaks for quote (QTY:PRICE:LEAD) |
Some commands also accept positional arguments for common operations:
tdt mate new FEAT@1 FEAT@2- Features as positional argstdt link add SRC DST link_type- Link type as 3rd argtdt asm add ASM@1 CMP@1:2 CMP@2:1- Multiple ID:QTY pairs
2. Requirements
Requirements define what your product must do. TDT supports input requirements (from customers/stakeholders) and output requirements (derived/allocated).
Create Input Requirements
You can create requirements in several ways:
Option 1: Interactive Wizard (Recommended for New Users)
The interactive wizard guides you through each field:
tdt req new -i
The wizard will prompt you for title, type, priority, category, and other fields with helpful defaults.
Option 2: Command Line Flags (Efficient for Bulk Creation)
# Brightness requirement
tdt req new --title "Light Output" --type input --priority critical \
--category performance --status approved --no-edit
# Battery life requirement
tdt req new --title "Battery Life" --type input --priority high \
--category performance --status approved --no-edit
# Water resistance requirement
tdt req new --title "Water Resistance" --type input --priority medium \
--category environmental --status approved --no-edit
# Drop resistance requirement
tdt req new --title "Drop Resistance" --type input --priority high \
--category durability --status approved --no-edit
--no-edit (or -n) to create entities without opening the editor. Omit it to open your configured editor for adding detailed content.
View Your Requirements
tdt req list
Edit Requirements with Full Details
Open a requirement in your editor to add detailed information:
tdt req edit REQ@1
Add acceptance criteria, rationale, and source information:
id: REQ-01KCA...
type: input
title: Light Output
source:
document: PRD-2024-001
section: "3.1"
revision: A
category: performance
text: |
The flashlight shall produce a minimum of 500 lumens
at maximum brightness setting.
rationale: |
500 lumens provides adequate illumination for outdoor use
at distances up to 50 meters.
acceptance_criteria:
- Light output >= 500 lumens measured at LED surface
- Beam angle between 15-20 degrees
priority: critical
status: approved
tags:
- optical
- performance
links: {}
Create Output Requirements (Derived/Allocated)
Output requirements are derived from input requirements or allocated to components. Use --type output and link them to their parent:
# Create an output requirement (derived from input)
tdt req new --title "LED Selection" --type output --priority high \
--category electrical --status approved --no-edit
Then link it to the parent requirement using derives_from:
# Positional syntax (link type as 3rd argument)
tdt link add REQ@5 REQ@1 derives_from
# Long form - equivalent
tdt link add REQ@5 REQ@1 --link-type derives_from
This creates a traceability chain from customer needs (input) → design specifications (output).
3. Components & Bill of Materials
Components are the parts that make up your product. They can be make (manufactured) or buy (purchased).
Create Components
# Housing (make part)
tdt cmp new --title "Flashlight Housing" --part-number "FL-HSG-001" \
--make-buy make --category mechanical --no-edit
# LED module (buy part)
tdt cmp new --title "LED Module" --part-number "LED-500LM" \
--make-buy buy --category electrical --no-edit
# Battery holder (buy part)
tdt cmp new --title "Battery Holder" --part-number "BH-2xAA" \
--make-buy buy --category electrical --no-edit
# Lens (buy part)
tdt cmp new --title "Optical Lens" --part-number "LENS-20DEG" \
--make-buy buy --category mechanical --no-edit
# O-ring seal (buy part)
tdt cmp new --title "Housing O-Ring" --part-number "OR-25x2" \
--make-buy buy --category mechanical --no-edit
# End cap (make part)
tdt cmp new --title "End Cap" --part-number "FL-CAP-001" \
--make-buy make --category mechanical --no-edit
Add Component Details
Edit a component to add specifications:
tdt cmp edit CMP@1
id: CMP-01KCA...
part_number: FL-HSG-001
title: Flashlight Housing
description: |
Main housing body, CNC machined from 6061-T6 aluminum.
Provides structural support and heat dissipation for LED.
make_buy: make
category: mechanical
material: "6061-T6 Aluminum"
mass_kg: 0.085
unit_cost: 12.50
specifications:
finish: "Type III Hard Anodize, Black"
wall_thickness: "2.0mm minimum"
status: draft
4. Suppliers & Quotes
For buy parts, track suppliers and quotes.
Create Suppliers
tdt sup new --name "BrightLED Inc" --short-name "BrightLED" \
--contact-email "sales@brightled.example" --no-edit
tdt sup new --name "PowerCell Supply" --short-name "PowerCell" \
--contact-email "orders@powercell.example" --no-edit
Create Quotes
# Simple quote with single price
tdt quote new -T "LED Module Quote" -s SUP@1 -c CMP@2 \
-p 3.50 --moq 100 -l 14 -n
# Quote with multiple price breaks (QTY:PRICE:LEAD_TIME)
tdt quote new -T "Battery Holder Quote" -s SUP@2 -c CMP@3 \
--breaks "100:0.95:14,500:0.85:10,1000:0.75:7" -n
--breaks with comma-separated QTY:PRICE:LEAD_TIME triplets for volume pricing.
View Quotes
tdt quote list
5. Features & Tolerances
Features are the geometric characteristics of components that matter for fit and function.
Create Features
# Housing bore (where LED mounts) - internal feature
tdt feat new --title "LED Mounting Bore" --component CMP@1 \
--feature-type internal --no-edit
# Housing thread (for end cap) - internal feature
tdt feat new --title "End Cap Thread" --component CMP@1 \
--feature-type internal --no-edit
# LED module OD - external feature
tdt feat new --title "LED Module OD" --component CMP@2 \
--feature-type external --no-edit
# End cap thread - external feature
tdt feat new --title "Cap Thread" --component CMP@6 \
--feature-type external --no-edit
# O-ring groove - internal feature
tdt feat new --title "O-Ring Groove" --component CMP@6 \
--feature-type internal --no-edit
Add Tolerances to Features
Edit a feature to add dimensional tolerances:
tdt feat edit FEAT@1
id: FEAT-01KCA...
title: LED Mounting Bore
component: CMP-01KCA... # Housing
feature_type: internal # internal = holes/bores, external = shafts/bosses
description: |
Bore in housing front face for LED module press-fit.
Critical for thermal contact and alignment.
nominal: 20.00
plus_tolerance: 0.021
minus_tolerance: 0.000
unit: mm
notes: |
H7 tolerance class for transition/light interference fit.
Surface finish Ra 1.6 or better for thermal contact.
critical: true
status: approved
View Features
# All features
tdt feat list
# Features for a specific component
tdt feat list -c CMP@1
# With descriptions
tdt feat list --columns title,description,component
6. Mates & Fit Analysis
Mates define how features from different components interact.
Create Mates
# LED to Housing fit (positional syntax)
tdt mate new FEAT@1 FEAT@3 -t interference -T "LED-Housing Press Fit" -n
# End cap clearance fit (long form - equivalent)
tdt mate new --feature-a FEAT@2 --feature-b FEAT@4 \
--mate-type clearance --title "End Cap Thread Clearance" --no-edit
clearance (gap between parts), transition (may be either), interference (press fit). Use --help to see all options.
Analyze Fit
tdt mate list
The fit analysis shows:
- Worst-case clearance/interference calculated from tolerances
- Fit result: clearance, interference, or transition
- Match indicator: ✓ if result matches intended type, ⚠ if mismatch
7. Tolerance Stackups
Stackups analyze how tolerances accumulate across multiple features.
Create a Stackup
tdt tol new --title "LED to Lens Air Gap" --no-edit
Add Features as Contributors (CLI Method - Recommended)
The fastest way to build a stackup is using tdt tol add to pull feature dimensions directly:
# Add features with direction: + for positive, ~ for negative
tdt tol add TOL@1 +FEAT@1 ~FEAT@3
# Add multiple features at once
tdt tol add TOL@1 +FEAT@1 ~FEAT@3 +FEAT@5
# Add features and run analysis immediately
tdt tol add TOL@1 +FEAT@1 ~FEAT@3 --analyze
Direction prefixes:
+FEAT@N— Positive direction (adds to the stackup)~FEAT@N— Negative direction (subtracts from the stackup)
Why use ~ instead of -?
The tilde (~) is used for negative direction instead of minus (-) to avoid conflicts with CLI flags.
This automatically pulls the feature's nominal value and tolerances into the stackup contributor list.
Remove Contributors
tdt tol rm TOL@1 FEAT@1 FEAT@3
Edit Stackup Details
For advanced configuration (target limits, descriptions, distribution settings), edit the file directly:
tdt tol edit TOL@1
id: TOL-01KCA...
title: LED to Lens Air Gap
description: |
Critical air gap between LED emitter surface and lens.
Affects beam focus and light output efficiency.
target:
nominal: 2.5
lower_limit: 2.0
upper_limit: 3.0
unit: mm
contributors:
- feature_id: FEAT-01KCA... # LED Mounting Bore
description: "Housing bore depth"
direction: positive
nominal: 15.0
tolerance: 0.1
distribution: normal
sigma: 3.0
- feature_id: FEAT-01KCA... # LED Module
description: "LED module height"
direction: negative
nominal: 12.5
tolerance: 0.15
distribution: normal
sigma: 3.0
analysis_results: {}
status: draft
Run Analysis
tdt tol analyze TOL@1
This calculates:
- Worst-case min/max values
- RSS (Root Sum Square) statistical analysis
- Monte Carlo simulation with yield prediction
- Cpk process capability index
View Results
tdt tol list
8. Risk Management
Identify and mitigate risks to your design and manufacturing processes.
Create Design Risks
tdt risk new --title "LED Overheating" --type design \
--category thermal --no-edit
Edit to add FMEA details:
tdt risk edit RISK@1
id: RISK-01KCA...
type: design
title: LED Overheating
category: thermal
failure_mode: |
LED junction temperature exceeds maximum rating during
continuous operation at maximum brightness.
cause: |
Insufficient thermal path from LED to housing.
Inadequate heat sink mass.
effect: |
Reduced LED life, color shift, potential thermal shutdown.
severity: 8
occurrence: 4
detection: 6
# RPN = 8 x 4 x 6 = 192
mitigations:
- action: "Add thermal interface material between LED and housing"
owner: "Thermal Engineer"
status: planned
- action: "Increase housing wall thickness at LED mount"
owner: "Mechanical Engineer"
status: completed
status: draft
Create Process Risks
tdt risk new --title "Housing Machining Defects" --type process \
--category manufacturing --no-edit
View Risks
tdt risk list
Shows risk level (Critical/High/Medium/Low) and RPN scores.
9. Manufacturing Processes
Define how components are manufactured.
Create Process Steps
# Housing machining
tdt proc new --title "Housing CNC Machining" --type machining \
--op-number "OP-010" --no-edit
# Housing anodizing
tdt proc new --title "Housing Anodizing" --type finishing \
--op-number "OP-020" --no-edit
# Final assembly
tdt proc new --title "Final Assembly" --type assembly \
--op-number "OP-030" --no-edit
Link Processes to Components and Risks
tdt link add PROC@1 CMP@1 --link-type produces
tdt link add PROC@1 RISK@2 --link-type risks
Define Manufacturing Routing
Set up the sequence of manufacturing processes for a product:
# Define routing on the assembly
tdt asm routing set ASM@1 PROC@1 PROC@2 PROC@3
# Or add processes one at a time
tdt asm routing add ASM@1 PROC@1
tdt asm routing add ASM@1 PROC@2
# View current routing
tdt asm routing list ASM@1
Production Lots with DHR Workflow
Create production lots from routing with automated git branch workflow:
# Create lot from product routing
tdt lot new --product ASM@1 --from-routing --title "Lot 2024-001" \
--lot-number "2024-001" --quantity 25 --branch
# Complete steps with operator signature
tdt lot step LOT@1 --process 0 --status completed --sign
# View work instructions for a step
tdt lot step LOT@1 --process 1 --show-wi
# Complete lot (merges branch to main)
tdt lot complete LOT@1 --sign
10. Process Controls
Controls ensure processes produce conforming product.
Create Controls
# Bore diameter inspection
tdt ctrl new --title "LED Bore Diameter Check" --type inspection \
--process PROC@1 --feature FEAT@1 --no-edit
Edit to add control details:
tdt ctrl edit CTRL@1
id: CTRL-01KCA...
title: LED Bore Diameter Check
control_type: inspection
process: PROC-01KCA...
feature: FEAT-01KCA...
description: |
100% inspection of LED mounting bore diameter.
characteristic: "Bore diameter 20.000 - 20.021 mm"
measurement_method: "Bore gauge, calibrated"
frequency: "Every part"
acceptance_criteria: "20.000 - 20.021 mm"
reaction_plan: |
Out of tolerance: Quarantine part, notify quality.
Trend toward limit: Adjust tool offset.
critical: true
status: draft
11. Test Protocols
Define how requirements will be verified.
Create Test Protocols
# Light output test (short flags)
tdt test new -T "Light Output Verification" -t verification -l system \
-m test -p critical -R REQ@1 -n
# Battery life test
tdt test new -T "Battery Life Test" -t verification -l system -m test \
-p high -R REQ@2 -n
# Water resistance test (long form - equivalent)
tdt test new --title "Water Resistance Test" \
--type verification --level system --method test \
--priority medium --verifies REQ@3 --no-edit
# Drop test (with risk mitigation)
tdt test new -T "Drop Test" -t verification -l system -m test \
-p high -R REQ@4 -M RISK@1 -n
-T title, -t type, -l level, -m method, -p priority, -R verifies, -M mitigates, -n no-edit
Add Test Procedure Details
tdt test edit TEST@1
id: TEST-01KCA...
type: verification
test_level: system
test_method: test
title: Light Output Verification
objective: |
Verify flashlight meets minimum 500 lumen output requirement.
preconditions:
- Fresh batteries installed
- Unit at room temperature (23C +/- 2C)
- Integrating sphere calibrated
equipment:
- name: "Integrating Sphere"
specification: "12-inch diameter, calibrated"
calibration_required: true
procedure:
- step: 1
action: "Install fresh AA batteries"
expected: "Power indicator lights"
- step: 2
action: "Place flashlight in integrating sphere"
expected: "Centered in sphere aperture"
- step: 3
action: "Turn on at maximum brightness"
expected: "Stable light output"
- step: 4
action: "Record lumen reading after 30 second stabilization"
expected: ">= 500 lumens"
acceptance: "Pass if >= 500 lumens"
acceptance_criteria:
- "Light output >= 500 lumens"
- "No visible flicker"
priority: critical
status: approved
links:
verifies:
- REQ-01KCA...
12. Test Results
Record the outcomes of test execution.
Create Test Results
# Passing result
tdt rslt new --test TEST@1 --verdict pass \
--title "Light Output Test - Unit SN001" --no-edit
# Another passing result
tdt rslt new --test TEST@2 --verdict pass \
--title "Battery Life Test - Unit SN001" --no-edit
# Failing result (for demonstration)
tdt rslt new --test TEST@3 --verdict fail \
--title "Water Resistance Test - Unit SN001" --no-edit
Add Result Details
tdt rslt edit RSLT@1
id: RSLT-01KCA...
test_id: TEST-01KCA...
title: Light Output Test - Unit SN001
verdict: pass
executed_by: "Test Engineer"
executed_date: "2024-01-15T10:30:00Z"
measurements:
- parameter: "Light Output"
value: 523
unit: "lumens"
pass: true
- parameter: "Color Temperature"
value: 5800
unit: "K"
pass: true
notes: |
Unit exceeded minimum requirement by 4.6%.
Consistent with expected LED module performance.
status: approved
View Results
tdt rslt list
13. Assemblies
Define how components come together.
Create Assembly with BOM
# Create assembly with BOM items in one command
tdt asm new -p "FL-ASM-001" -T "LED Flashlight Assembly" \
--bom "CMP@1:1,CMP@2:1,CMP@3:1,CMP@4:1,CMP@5:1,CMP@6:1" -n
# Or create empty and add components later
tdt asm new -p "FL-ASM-001" -T "LED Flashlight Assembly" -n
Add Components to BOM
# Add multiple components at once (ID:QTY format)
tdt asm add ASM@1 CMP@1:1 CMP@2:1 CMP@3:2 CMP@4:1
# Add single component with details
tdt asm add ASM@1 CMP@5 --qty 2 -r "U1,U2" --notes "Apply thread locker"
ID:QTY pairs for quick bulk additions, or flags for detailed single-component entries.
Edit BOM Details
tdt asm edit ASM@1
id: ASM-01KCA...
part_number: FL-ASM-001
title: LED Flashlight Assembly
description: |
Complete LED flashlight assembly, ready for packaging.
bom:
- component_id: CMP-01KCA... # Housing
quantity: 1
reference_designators: ["1"]
- component_id: CMP-01KCA... # O-Ring
quantity: 2
reference_designators: ["5A", "5B"]
notes: "Lubricate with silicone grease"
revision: "A"
status: draft
View BOM
tdt asm bom ASM@1
Calculate Assembly Cost/Mass
# Basic cost calculation
tdt asm cost ASM@1
# Cost with breakdown by component
tdt asm cost ASM@1 --breakdown
# Cost at production quantity (uses quote price breaks)
tdt asm cost ASM@1 --qty 1000
# Include NRE/tooling costs amortized over production run
tdt asm cost ASM@1 --qty 500 --amortize 2000 --breakdown
# Mass calculation
tdt asm mass ASM@1
The cost command uses prices from selected quotes when set on components. Use tdt cmp set-quote CMP@1 QUOT@1 to select a quote for a component. NRE/tooling costs from quotes are tracked and can be amortized over a production run with --amortize N.
Filter by Assembly
List only components or sub-assemblies within a specific assembly's BOM (recursive):
# Components in this assembly's BOM
tdt cmp list --assembly ASM@1
# Sub-assemblies within this assembly
tdt asm list --assembly ASM@1
This is useful for scoping queries to a specific product or subassembly.
14. Handling Issues (NCRs & CAPAs)
When things go wrong, track nonconformances and corrective actions.
Create an NCR
When the water resistance test failed:
tdt ncr new --title "Water Ingress at O-Ring Seal" \
--type internal --severity major --no-edit
Edit to add details:
tdt ncr edit NCR@1
id: NCR-01KCA...
title: Water Ingress at O-Ring Seal
type: internal
severity: major
description: |
During water resistance testing (TEST@3), water ingress
observed at end cap O-ring seal after 30 minutes
submersion at 1 meter depth.
immediate_action: |
Quarantined test unit SN001.
Halted further water resistance testing.
root_cause: |
O-ring groove depth undersized by 0.15mm, preventing
proper O-ring compression. Caused by tool wear on
CNC lathe.
disposition: rework
status: open
links:
from_result:
- RSLT-01KCA... # The failing test result
component:
- CMP-01KCA... # End Cap
Link NCR to Test Result
tdt link add NCR@1 RSLT@3 --link-type from_result
Create a CAPA
tdt capa new --title "O-Ring Groove Tool Wear Control" \
--type corrective --no-edit
Edit to add action plan:
tdt capa edit CAPA@1
id: CAPA-01KCA...
title: O-Ring Groove Tool Wear Control
type: corrective
description: |
Implement controls to prevent O-ring groove dimension
drift due to tool wear.
root_cause_analysis: |
5-Why Analysis:
1. Why water ingress? O-ring didn't seal.
2. Why didn't O-ring seal? Groove too shallow.
3. Why groove too shallow? Tool worn beyond limit.
4. Why tool worn? No scheduled replacement.
5. Why no schedule? Tool life not characterized.
actions:
- description: "Characterize groove tool life"
owner: "Manufacturing Engineer"
due_date: "2024-02-01"
status: completed
- description: "Add tool change to PM schedule at 500 parts"
owner: "Production Supervisor"
due_date: "2024-02-15"
status: in_progress
- description: "Add groove depth to in-process inspection"
owner: "Quality Engineer"
due_date: "2024-02-15"
status: planned
effectiveness_criteria: |
Zero O-ring seal failures in next 100 units.
capa_status: in_progress
links:
ncrs:
- NCR-01KCA...
Link CAPA to NCR
tdt link add CAPA@1 NCR@1 --link-type ncrs
15. Project Status & Validation
Check Project Status
tdt status
Shows a dashboard with:
- Requirements coverage (verified vs unverified)
- Risk summary (by level, average RPN)
- Test status (pass rate, pending tests)
- Quality metrics (open NCRs, CAPAs)
- BOM summary
- Tolerance analysis results
Validate Project
tdt validate
Checks:
- YAML syntax validity
- Schema compliance
- Required field presence
- Link integrity (referenced entities exist)
Check Verification Coverage
tdt report rvm
16. Traceability
TDT maintains full traceability across all entities.
View Traceability Matrix
# Full matrix (uses short IDs by default)
tdt trace matrix
# Show full ULIDs instead of short aliases
tdt trace matrix --ids
# Filter by entity type
tdt trace matrix --source-type TEST --target-type REQ
# Requirements Verification Matrix view
tdt trace matrix --rvm
Trace From an Entity
See what depends on a specific entity:
tdt trace from REQ@1
Shows all tests, components, and other entities linked to this requirement.
Trace To an Entity
See what an entity depends on:
tdt trace to TEST@1
Find Orphaned Entities
Entities with no links (potential gaps):
tdt trace orphans
17. Reports
TDT generates engineering reports that consolidate data across entities for reviews and documentation.
Requirements Verification Matrix (RVM)
Shows which requirements have been verified by tests:
# Full RVM report
tdt report rvm
# Show only unverified requirements
tdt report rvm --unverified-only
# Output to file
tdt report rvm -o rvm-report.md
The RVM includes coverage statistics by priority and category.
FMEA Report
Failure Mode and Effects Analysis report sorted by RPN:
# Full FMEA report
tdt report fmea
# Filter by minimum RPN
tdt report fmea --min-rpn 100
# Design risks only
tdt report fmea --design-only
# Process risks only
tdt report fmea --process-only
Includes risk reduction tracking, mitigation status, and overdue action alerts.
Bill of Materials (BOM)
Hierarchical BOM with cost and mass rollup:
# BOM for an assembly
tdt report bom ASM@1
# Include cost rollup
tdt report bom ASM@1 --with-cost
# Include mass rollup
tdt report bom ASM@1 --with-mass
# Both cost and mass
tdt report bom ASM@1 --with-cost --with-mass
The BOM report includes supply chain risk analysis identifying single-source components, long lead times, and missing pricing.
Test Status Report
Test execution summary with pass/fail statistics:
tdt report test-status
Shows breakdown by test type (verification/validation), level (unit/integration/system/acceptance), and category.
Open Issues Report
All open quality issues in one view:
tdt report open-issues
Includes NCR aging analysis, cost impact summary, overdue CAPA actions, and failed tests.
Tolerance Report
Tolerance analysis summary by component:
# All tolerance data
tdt report tolerance
# For a specific component
tdt report tolerance --component CMP@1
Summary
You've now created a complete TDT project with:
| Entity Type | Purpose | Commands |
|---|---|---|
| Requirements | What the product must do | tdt req |
| Components | Parts (make/buy) | tdt cmp |
| Suppliers | Vendor information | tdt sup |
| Quotes | Pricing and lead times | tdt quote |
| Features | Geometric characteristics | tdt feat |
| Mates | Feature interactions | tdt mate |
| Stackups | Tolerance accumulation | tdt tol |
| Risks | FMEA (design/process) | tdt risk |
| Processes | Manufacturing steps | tdt proc |
| Controls | Process controls | tdt ctrl |
| Tests | Verification protocols | tdt test |
| Results | Test outcomes | tdt rslt |
| Assemblies | BOM structure | tdt asm |
| NCRs | Nonconformances | tdt ncr |
| CAPAs | Corrective actions | tdt capa |
Key Workflows
- Requirements → Tests → Results: Verify requirements are met
- Components → Features → Mates → Stackups: Ensure parts fit
- Risks → Mitigations → Controls: Manage product/process risks
- NCRs → CAPAs: Handle quality issues systematically
Tips
- Use
--no-editfor scripted creation, omit it to open editor immediately - Use short IDs (
REQ@1,CMP@2) for quick reference - Use
tdt link addto create traceability between entities - Run
tdt validateregularly to catch errors early - Use
tdt statusfor a project health overview
Next Steps
- Explore individual entity documentation on GitHub
- Set up your own project structure
- Integrate with your existing PLM/QMS systems via JSON/YAML export
- Use
tdt reportcommands for generating documentation
Get Help
For more information, visit the TDT GitHub repository or run tdt --help for command-line help.