Welcome to reqtrace Documentation
reqtrace is a GitOps-friendly requirements tracing tool designed for modern CI/CD pipelines.
It allows you to map system requirements strictly to source code implementation logic via block-style comment tags and prove that the requirements are both implemented and tested.
Core Concepts
Requirements (The What)
Requirements are defined in .rqtr files, which use YAML syntax.
- id: REQ-001
title: Authentication
description: The system shall authenticate users.
Traceability Tags (The How)
Inside your source code (Python, Go, TS, C++, etc.), you wrap implementation logic with start and end tags.
def login_user():
# @trace-start: REQ-001
do_login()
# @trace-end: REQ-001
pass
Partial Coverage
If a requirement is implemented across multiple locations, you can specify the percentage of the requirement covered by a specific block:
# @trace-start: REQ-001 (50%)
def auth_helper():
pass
# @trace-end: REQ-001
Running a Scan
Run the reqtrace CLI tool pointing to your requirements directory and your source code directory:
reqtrace --reqs reqs/ --src src/ --html report/
The tool will calculate a coverage matrix, generate an interactive HTML report, and fail your CI pipeline if any coverage thresholds are missed!
🛠️ Additional Tools
reqtrace-validate: Validate your.rqtrfiles against the requirement schema.reqtrace-exchange: Import from or export to ReqIF format for interoperability with other tools.
Live Traceability Report
You can explore the traceability data and implementation history for this project! 👉 View the Interactive HTML Report