A powerful CLI toolkit for managing product development artifacts as plain-text YAML files. Version control your requirements, risks, tests, BOMs, and more with full traceability.
# Initialize a new TDT project $ tdt init ✓ Initialized TDT project # Create your first requirement $ tdt req new -t input --title "Temp" ✓ Created requirement REQ@1 # List all requirements $ tdt req list
Everything you need to manage complex product development in plain text.
Run worst-case, RSS, and Monte Carlo simulations on your tolerance chains. Calculate Cpk and predict yield.
Quantify design and process risks with severity, occurrence, and detection ratings. Auto-calculate RPN scores.
Build hierarchical assemblies, track component costs, manage suppliers, and generate accurate cost rollups.
Link requirements to test protocols, track verification status, and generate coverage matrices for design reviews.
Define processes, control plans, and work instructions. Track NCRs and CAPAs for continuous improvement.
All data stored as human-readable YAML. No databases, no proprietary formats, no vendor lock-in. Learn more
Track every change with git-powered history. Create release baselines, compare revisions, and review design evolution.
Visualize component interactions with clustering, weighted analysis, coupling metrics, and cycle detection. Export to CSV, JSON, or Graphviz.
Analyze cross-entity relationships: components vs requirements, processes vs components. Track allocation coverage and identify gaps.
Every artifact type you need for professional product development.
Complex analyses rendered as clear, actionable terminal output.
tdt tol analyze TOL@1
⚙ Analyzing stackup TOL@1 with 2 contributors... ✓ Analysis complete Target: Clearance = 0.05 (LSL: 0.02, USL: 0.08) Worst-Case Analysis: Range: 0.03 to 0.076 Margin: 0.004 Result: marginal RSS (Statistical) Analysis: Mean: 0.053 ±3σ: 0.0163 Cpk: 1.65 Yield: 99.99% Monte Carlo (10000 iterations): Mean: 0.053 Std Dev: 0.0055 95% CI: 0.042 to 0.064 Yield: 100.00%
tdt tol analyze TOL@1 --histogram
Distribution Histogram (10000 samples, 15 bins): 0.025 │░░░ │ 89 ◄LSL 0.030 │██████ │ 156 0.035 │████████████ │ 312 0.040 │██████████████████████ │ 589 0.045 │██████████████████████████████████ │ 891 0.050 │██████████████████████████████████████████████│ 1247 0.055 │████████████████████████████████████████████ │ 1156 0.060 │██████████████████████████████████ │ 923 0.065 │██████████████████████ │ 612 0.070 │███████████ │ 298 0.075 │████ │ 112 ◄USL └──────────────────────────────────────────────┘ Legend: LSL=0.020 USL=0.080 (█ in-spec, ░ out-of-spec)
tdt proc flow --controls
Process Flow ──────────────────────────────────────────────── [OP-010] Material Prep (PROC@1) │ Type: machining | Cycle: 5 min | Setup: 15 min │ Equipment: CNC Mill │ Controls: CTRL@1 "Tool Calibration" ▼ [OP-020] Rough Machining (PROC@2) │ Type: machining | Cycle: 30 min │ Equipment: 5-Axis CNC │ Controls: CTRL@2 "Dimensional Check" ▼ [OP-030] Finish Machining (PROC@3) │ Type: machining | Cycle: 20 min │ Equipment: 5-Axis CNC ▼ [OP-040] Final Inspection (PROC@4) │ Type: inspection | Cycle: 10 min │ Equipment: CMM 4 processes in flow
tdt asm bom ASM@1 --cost
Assembly BOM: Linear Actuator (ASM@1) ID COMPONENT QTY UNIT $ TOTAL ──────────────────────────────────────────────────────── CMP@1 Housing 1 $45.00 $45.00 CMP@2 Lead Screw 1 $32.50 $32.50 CMP@3 Nut Assembly 1 $18.75 $18.75 CMP@4 Bearing (deep groove) 2 $8.25 $16.50 CMP@5 End Cap 2 $6.00 $12.00 CMP@6 Fasteners (M4x12) 8 $0.15 $1.20 ──────────────────────────────────────────────────────── TOTAL (15 items) $125.95
tdt trace matrix --rvm
Requirements Verification Matrix ════════════════════════════════════════════════════════════════════════════ REQ TITLE STATUS VERIFIED BY ──────────────────────────────────────────────────────────────────────────── REQ@1 Operating Temperature Range verified TEST@1, TEST@4 REQ@2 Stroke Length ≥100mm verified TEST@2 REQ@3 Positioning Accuracy ±0.01mm verified TEST@3 REQ@4 Load Capacity 50N unverified - REQ@5 MTBF ≥10000 hours verified TEST@5 REQ@6 IP54 Ingress Protection unverified - ──────────────────────────────────────────────────────────────────────────── Coverage: 67% (4/6)
tdt dsm --cluster
Design Structure Matrix (Clustered) CMP@1 CMP@2 CMP@3 CMP@4 CMP@5 CMP@6 ------- ------- ------- ------- ------- ------- CMP@1 ■ M M · · · CMP@2 M ■ M,T T · · CMP@3 M M,T ■ M · · CMP@4 · T M ■ P P CMP@5 · · · P ■ R CMP@6 · · · P R ■ Legend: M = Mate T = Tolerance P = Process R = Requirement Summary: 6 components, 5 mate, 3 tolerance, 3 process, 1 requirement
TDT follows Unix philosophy. Compose commands, pipe outputs, and integrate with your existing tools.
Every list command supports multiple output formats for scripting and automation.
# Get IDs for piping to other commands $ tdt req list --format id REQ-01KCA9X3JQFT8BHK2VCN5M9A REQ-01KCA9X3JQFT8BHK2VCN5M9B ... # Export to JSON for other tools $ tdt risk list --format json | jq '.[] | select(.rpn > 100)' # Export to CSV for spreadsheets $ tdt cmp list --format csv > parts.csv
Use memorable short IDs instead of 26-character ULIDs. Local to your machine, so they won't conflict across team members.
# Short IDs work everywhere $ tdt req show REQ@1 $ tdt link add REQ@1 TEST@3 $ tdt risk edit RISK@2 # Chain commands with short-id output $ tdt req list --orphans -f short-id | xargs -I{} tdt req show {}
Tab completion for bash, zsh, fish, and PowerShell. Completes commands, flags, and entity IDs.
# Generate completions for your shell $ tdt completions bash > ~/.local/share/bash-completion/completions/tdt $ tdt completions zsh > ~/.zfunc/_tdt $ tdt completions fish > ~/.config/fish/completions/tdt.fish
Filter entities by any field, find orphans, search text, and combine with sorting.
# Find critical requirements not yet verified $ tdt req list --priority critical --orphans # Components in a specific assembly $ tdt cmp list --assembly ASM@1 # High RPN risks by category $ tdt risk list --by-rpn --category thermal # Quick counts $ tdt test list --count
Process multiple entities at once with CSV import, bulk status changes, and pipeline operations.
# Import from CSV $ tdt import requirements.csv --type req # Bulk status update via pipeline $ tdt req list --status draft -f id | xargs -I{} tdt req edit {} --status approved # Generate all RPN values $ tdt validate --fix
Install TDT with a single command and initialize your first project. Works on macOS, Linux, and Windows.
Download a pre-built binary or use Cargo
Creates directory structure and config
Add requirements, risks, tests, and more
# Install from crates.io $ cargo install tessera-design-toolkit # Initialize your project $ tdt init ✓ Initialized TDT project # Create requirement $ tdt req new -t input --title "Temp" ✓ Created REQ@1 # Validate $ tdt validate ✓ All files passed validation
A glimpse of TDT's powerful command-line interface.
Native Rust performance with SQLite caching means TDT handles large projects effortlessly.
Enterprise-scale benchmarks with 50K requirements in a single project.
Query, filter, and display 50,000 requirements in about one second.
Schema validation at ~16,000 entities per second at enterprise scale.
SQLite-cached single entity lookup via short ID - instant results at any scale.
# List all 50,000 requirements $ tdt req list 1.0s # Filter by priority $ tdt req list --priority critical 1.0s # Single entity lookup (SQLite-cached) $ tdt req show REQ@1 0.12s # Project status $ tdt status 1.5s $ tdt validate 3.1s (16,129 entities/s) # Export to JSON $ tdt req list --format json 2.2s
Zero-cost abstractions, no garbage collection, no runtime overhead. Direct syscalls for maximum efficiency.
O(1) entity lookups via SQLite cache. Single-entity queries stay fast at any project scale.
Compile-time guarantees prevent runtime errors. Strong typing throughout the codebase.