β—ˆ reqtool Documentation

reqtool Complete User Guide & Operations Manual

This guide provides end-to-end instructions for installing, configuring, and operating reqtool via the Command Line Interface (CLI), REST API, and React Web Workstation.


1. Installation & Environment Setup

1.1 Requirements

1.2 Installation Commands

Standard Package Installation:

pip install reqtool

Local Wheel Installation:

pip install dist/reqtool-0.3.20-py3-none-any.whl

Editable Development Installation:

git clone https://github.com/markbac/reqtool.git
cd reqtool
pip install -e ".[test]"

Verify the installation:

reqtool --help

2. Command Line Interface (CLI) Reference

reqtool (or alias req) provides comprehensive sub-commands:

reqtool init β€” Initialise a Repository

Initialises a .reqtool/ directory and creates configuration files:

reqtool init              # Blank repository
reqtool init agile        # Agile planning hierarchy (Theme/Initiative/Epic/Feature/Story)
reqtool init systems      # Systems engineering hierarchy (Stakeholder Need/Functional/Performance)
reqtool init defaults     # Combined Agile + Systems types with pre-populated principles
reqtool init demo         # Full IoT sensor demo dataset

reqtool serve β€” Start API & Web Workstation

Launches the FastAPI backend and serves the embedded React UI workstation:

reqtool serve                     # Starts on http://localhost:8765
reqtool serve --port 8000         # Custom port
reqtool serve --host 0.0.0.0      # Bind all network interfaces

reqtool validate β€” Run Validation & Prose Linter

Runs full schema, enum, hierarchy, safety, and INCOSE prose quality validation:

reqtool validate                  # Pretty console output (exits 1 on errors)
reqtool validate --json           # Machine-readable JSON output
reqtool validate --strict         # Treat warnings as blocking errors

reqtool export β€” Export Artefacts

Exports requirements to various standard formats:

reqtool export --format csv       # Export to CSV
reqtool export --format reqif     # Export to standard ReqIF XML
reqtool export --format markdown  # Export to Markdown document
reqtool export --format jsx       # Export to React JSX component

reqtool diff β€” Inspect Git Changes

Shows requirement modifications since a specified Git commit or tag:

reqtool diff HEAD~1               # Changes in last commit
reqtool diff v1.0.0               # Changes since tag v1.0.0

reqtool new-agile β€” Create Agile Items

Interactively creates new agile planning items:

reqtool new-agile story "User Login"
reqtool new-agile epic "Authentication Subsystem"

3. React Web Workstation User Guide

Launching reqtool serve opens the interactive web workstation in your browser (http://localhost:8765).

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ reqtool Workstation               [ Product: IoT Sensor ]  [Ctrl+K Search] β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ TREE EXPLORERβ”‚ EDITOR & PROSE LINTER                        β”‚ INSPECTOR     β”‚
β”‚ β”œβ”€ TH-001    β”‚ Title: Battery Management System             β”‚ Status: draft β”‚
β”‚ β”‚  β”œβ”€ EP-01  β”‚ Description: The Battery Controller shall... β”‚ ASIL: ASIL_D  β”‚
β”‚ β”‚  β”‚  └─ US-1β”‚ Rationale: Prevents thermal runaway...       β”‚ Traceability: β”‚
β”‚ β”‚            β”‚ Acceptance Criteria:                         β”‚ └─ SN-002     β”‚
β”‚ [Drag & Drop]β”‚  - AC-01: Given battery voltage < 3.0V...   β”‚ [Suspect Link]β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

3.1 Multi-Level Tree Explorer View

3.2 High-Density Bulk Grid View (Spreadsheet Mode)

3.3 Interactive D3/Cytoscape Network Graph

3.4 Side-by-Side Version Diff Inspector & Command Palette (Ctrl+K)

3.5 Release Roadmap & Kanban Board


4. Workflows, State Transitions & Checklists

Requirements follow configurable workflow state transitions:

stateDiagram-v2
    [*] --> draft
    draft --> in_review: Submit for Review (DoR Check)
    in_review --> approved: Approve (AC & Rationale Required)
    in_review --> draft: Request Changes
    approved --> in_progress: Start Work
    in_progress --> done: Complete Work (DoD Check)
    done --> [*]

5. Modules, Variant Overlays & Parameter Substitution

5.1 Reusable Modules

Store shared requirements in modules/<module-id>/_module.yaml. Import external git repository modules using:

reqtool import <module-id>

5.2 Parameter Substitution & Overlays

Product manifests (products/<product-id>/_product.yaml) can parameterize shared module requirements using template variables:

id: iot-sensor-v2
title: "IoT Sensor Variant 2"
variables:
  max_voltage: "12V"
  sampling_rate: "100Hz"
modules:
  - id: power-management-module
    overrides:
      REQ-010:
        priority: critical

Requirements containing {{max_voltage}} will automatically substitute "12V" during tree building and API export.