Quickstart#

Get up and running with jamb in five minutes.

1. Initialize a Project#

mkdir my-project && cd my-project
git init
jamb init

This creates a reqs/ folder with the standard IEC 62304 document hierarchy:

PRJ (Project Requirements) - root
├── UN (User Needs)
│   └── SYS (System Requirements)
│       └── SRS (Software Requirements Specification)
└── HAZ (Hazards)
    └── RC (Risk Controls)
        └── SRS (also traces to RC)

2. Add Requirements#

# Add a user need
jamb item add UN
jamb item edit UN001

# Add a system requirement and link it
jamb item add SYS
jamb item edit SYS001
jamb link add SYS001 UN001

# Add a software requirement and link it
jamb item add SRS
jamb item edit SRS001
jamb link add SRS001 SYS001

3. Write a Test#

Create tests/test_example.py:

import pytest

@pytest.mark.requirement("SRS001")
def test_my_requirement():
    # Your test logic here
    assert True

4. Check Coverage#

# Static check (no test execution)
jamb check

# Run tests with traceability
pytest --jamb

5. Generate a Traceability Matrix#

pytest --jamb --jamb-trace-matrix matrix.html

Open matrix.html in a browser to see which requirements have passing tests.

For IEC 62304 compliant test records, include tester and version metadata:

pytest --jamb --jamb-trace-matrix matrix.html \
    --jamb-tester-id "CI Pipeline" \
    --jamb-software-version "1.0.0"

The matrix includes software version, tester ID, execution timestamp, and test environment details.

6. Validate the Requirements Tree#

jamb validate

This checks for broken links, cycles, suspect links, and missing reviews.

Next Steps#