Integrations
Integrate TDT into your development workflow. GitHub Actions, pre-commit hooks, automated validation, and seamless tool integration.
Why Automate?
Plain-text files + Git + CI/CD = automatic quality gates for your engineering data. Catch issues before they become problems.
GitHub Actions
Add validation to your CI/CD pipeline. This workflow validates all TDT files, checks traceability, and generates reports on every push.
name: TDT Validation on: push: branches: [main, develop] pull_request: branches: [main] jobs: validate: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-action@stable - name: Install TDT run: cargo install tessera-design-toolkit - name: Validate all entities run: tdt validate --strict - name: Check traceability coverage run: | coverage=$(tdt trace matrix --rvm -f json | jq '.coverage') if (( $(echo "$coverage < 80" | bc -l) )); then echo "::error::Traceability coverage below 80%: $coverage%" exit 1 fi - name: Check for high-risk items run: | high_risk=$(tdt risk list --min-rpn 100 --count) if [ "$high_risk" -gt 0 ]; then echo "::warning::$high_risk unmitigated high-risk items" fi
name: Generate Reports on: release: types: [published] jobs: reports: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install Rust uses: dtolnay/rust-action@stable - name: Install TDT run: cargo install tessera-design-toolkit - name: Generate all reports run: | mkdir -p reports tdt report bom -f md > reports/bom.md tdt report fmea -f md > reports/fmea.md tdt report rvm -f md > reports/rvm.md tdt dsm -o dot > reports/architecture.dot - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: tdt-reports path: reports/
Pre-commit Hooks
Catch issues before they're committed. These hooks validate TDT files locally, ensuring only valid data enters your repository.
repos: - repo: local hooks: - id: tdt-validate name: Validate TDT files entry: tdt validate language: system files: '\.tdt\.yaml$' pass_filenames: false - id: tdt-check-links name: Check entity links entry: tdt validate --check-links language: system files: '\.tdt\.yaml$' pass_filenames: false
# Install pre-commit $ pip install pre-commit # Install the hooks $ pre-commit install # Now validation runs automatically on commit $ git commit -m "Update motor requirements" Validate TDT files....................................................Passed Check entity links....................................................Passed [main 3a5bc12] Update motor requirements
Manual Git Hooks
For teams not using pre-commit, you can set up hooks directly in your repository.
#!/bin/bash # TDT validation pre-commit hook echo "Validating TDT files..." if ! tdt validate; then echo "TDT validation failed. Fix errors before committing." exit 1 fi # Check for orphaned requirements orphans=$(tdt trace orphans --count) if [ "$orphans" -gt 0 ]; then echo "Warning: $orphans orphaned requirements found" tdt trace orphans fi exit 0
External Tool Integration
TDT's JSON and CSV exports integrate with any tool in your workflow.
Excel / Sheets
Export CSV for spreadsheet analysis, cost modeling, or stakeholder review.
Python / Pandas
Load JSON directly into DataFrames for custom analysis and visualization.
Graphviz
Generate architecture diagrams from DSM DOT output.
AI Assistants
Plain text works perfectly with Claude, ChatGPT, and Copilot.
# Import into Python $ python3 << 'EOF' import json import subprocess result = subprocess.run(['tdt', 'risk', 'list', '-f', 'json'], capture_output=True) risks = json.loads(result.stdout) high_risk = [r for r in risks if r.get('rpn', 0) > 100] print(f"High-risk items: {len(high_risk)}") EOF High-risk items: 2 # Generate architecture diagram $ tdt dsm -o dot | dot -Tsvg -o architecture.svg # Query with jq $ tdt cmp list -f json | jq '[.[] | select(.category=="mechanical")] | length' 12 # Send to AI assistant $ cat requirements/inputs/*.yaml | claude "Review these requirements for completeness"
Design Baselines
Create tagged baselines at design milestones and compare changes between versions. See the workflow documentation for complete git integration details.
# Create a baseline at design freeze $ tdt baseline create v1.0-design-freeze ✓ Created baseline: tdt-v1.0-design-freeze # Continue development... $ tdt req new --title "Add thermal monitoring" -t input --no-edit $ tdt risk new --title "Overheating risk" -t design --no-edit # Create another baseline $ tdt baseline create v2.0-release ✓ Created baseline: tdt-v2.0-release # Compare changes between baselines $ tdt baseline compare tdt-v1.0-design-freeze tdt-v2.0-release Changes between v1.0-design-freeze and v2.0-release: ────────────────────────────────────────────────────── Added: + REQ-01KC5D... "Add thermal monitoring" + RISK-01KC5E... "Overheating risk" + TEST-01KC5F... "Thermal test protocol" Modified: ~ CMP-01HC2J... "Motor Assembly" (revision 2 → 3) Deleted: (none) Summary: +3 added, 1 modified, 0 deleted