Features Install Why Plain Text? Tolerance Reports Integrations Tutorial GitHub
Open Source • MIT License

Tessera
Design Toolkit

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

Built for Engineering Teams

Everything you need to manage complex product development in plain text.

Tolerance Stackup Analysis

Run worst-case, RSS, and Monte Carlo simulations on your tolerance chains. Calculate Cpk and predict yield.

FMEA Risk Analysis

Quantify design and process risks with severity, occurrence, and detection ratings. Auto-calculate RPN scores.

BOM & Cost Management

Build hierarchical assemblies, track component costs, manage suppliers, and generate accurate cost rollups.

Design Verification Traceability

Link requirements to test protocols, track verification status, and generate coverage matrices for design reviews.

Manufacturing Quality Loop

Define processes, control plans, and work instructions. Track NCRs and CAPAs for continuous improvement.

Plain-Text Files You Own

All data stored as human-readable YAML. No databases, no proprietary formats, no vendor lock-in. Learn more

Design History & Baselines

Track every change with git-powered history. Create release baselines, compare revisions, and review design evolution.

Design Structure Matrix

Visualize component interactions with clustering, weighted analysis, coupling metrics, and cycle detection. Export to CSV, JSON, or Graphviz.

Domain Mapping Matrix

Analyze cross-entity relationships: components vs requirements, processes vs components. Track allocation coverage and identify gaps.

Complete Coverage

Every artifact type you need for professional product development.

Engineering Analysis at a Glance

Complex analyses rendered as clear, actionable terminal output.

Tolerance Stackup Analysis

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%

Distribution Histogram

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)

Process Flow Diagram

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

BOM Cost Rollup

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

Requirements Verification Matrix

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)

Design Structure Matrix

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

Built for the Command Line

TDT follows Unix philosophy. Compose commands, pipe outputs, and integrate with your existing tools.

Pipeable Output Formats

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

Short ID Aliases

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 {}

Shell Completions

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

Powerful Filters

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

Bulk Operations

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

Up and Running in Minutes

Install TDT with a single command and initialize your first project. Works on macOS, Linux, and Windows.

1

Install TDT

Download a pre-built binary or use Cargo

2

Initialize a Project

Creates directory structure and config

3

Start Creating

Add requirements, risks, tests, and more

Terminal
# 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

See It in Action

A glimpse of TDT's powerful command-line interface.

tdt -- ~/my-product
tdt status
Tessera Project Status ════════════════════════════════════════════════════════════════════ REQUIREMENTS RISKS -------------------------------- -------------------------------- Total: 24 Total: 8 Verified: 22 (92%) High: 2 Unverified: 2 Medium: 4 Avg RPN: 106 TESTS TOLERANCE ANALYSIS -------------------------------- -------------------------------- Protocols: 18 Features: 12 Executed: 16 Stackups: 4 Pass Rate: 94% Passing: 3 Marginal: 1 ⚠ ════════════════════════════════════════════════════════════════════ Project Health: Healthy
tdt tol analyze TOL@1
⚙ Analyzing stackup TOL@1... Analysis complete Worst-Case Analysis: Range: 0.030 to 0.076mm Result: pass RSS (Statistical) Analysis: Mean: 0.053 | ±3σ: 0.016 Cpk: 1.45 | Yield: 99.99% Monte Carlo (10000 iterations): Mean: 0.053 | Std Dev: 0.005 Yield: 99.87%
tdt asm bom ASM@1
ASM@1 Linear Actuator Assembly ├─ CMP@1 Housing qty: 1 $45.00 ├─ CMP@2 Actuator Shaft qty: 1 $28.00 ├─ CMP@3 Guide Bushing qty: 2 $12.50 └─ CMP@4 Motor Assembly qty: 1 $156.00 ──────────────────────────────────────── Total: $254.00 Mass: 1.85 kg
tdt trace matrix --rvm
Verification Coverage Report ════════════════════════════════════════════════════════════ Total requirements: 24 With verification: 22 Without verification: 2 Coverage: 91.7%
tdt validate
All files passed validation!
tdt history REQ@1
a3f7c21 Update acceptance criteria (2 days ago) 8b2e4d9 Add temperature specification (1 week ago) c1a9f38 Initial requirement (2 weeks ago)
tdt baseline create v1.0
All files passed validation! Validation passed. Created baseline: tdt-v1.0
_

Built for Speed

Native Rust performance with SQLite caching means TDT handles large projects effortlessly.

50,000

Entities Tested

Enterprise-scale benchmarks with 50K requirements in a single project.

1.0s

List 50K Entities

Query, filter, and display 50,000 requirements in about one second.

16K/s

Validation Rate

Schema validation at ~16,000 entities per second at enterprise scale.

0.12s

Entity Lookup

SQLite-cached single entity lookup via short ID - instant results at any scale.

Enterprise Benchmark (50,000 entities)
# 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

Native Rust

Zero-cost abstractions, no garbage collection, no runtime overhead. Direct syscalls for maximum efficiency.

SQLite Cache

O(1) entity lookups via SQLite cache. Single-entity queries stay fast at any project scale.

Type Safety

Compile-time guarantees prevent runtime errors. Strong typing throughout the codebase.