reqstool

What is reqstool?

reqstool is an open-source toolchain for managing software requirements with full traceability to implementation and test results.

  • Define requirements in YAML files with references between systems and microservices

  • Annotate code to link implementations and tests to requirements (Java, Python, TypeScript)

  • Verify that every requirement is implemented, tested, and passing

  • Report with generated AsciiDoc/PDF reports for auditors and stakeholders

  • Export data in JSON format for custom tooling and integrations

How it works

Diagram

Ecosystem

reqstool provides components for multiple languages and build systems:

Component Description Language

Command Line Client

Core CLI for status checks, reports, and JSON export

Python

Java Annotations

@Requirements and @SVCs annotations for Java

Java

Maven Plugin

Maven build plugin for assembling reqstool artifacts

Java

Gradle Plugin

Gradle build plugin for assembling reqstool artifacts

Java

Python Decorators

@Requirements and @SVCs decorators for Python

Python

Hatch Plugin

Hatch build hook for Python projects

Python

Poetry Plugin

Poetry build plugin for Python projects

Python

VS Code Extension

Hover info and file watching for VS Code

TypeScript

TypeScript Tags

Annotation support for TypeScript/JavaScript projects

TypeScript

AI Integration

AI-assisted requirements management with Claude Code

Shell

Demo Project

Full working example with Maven and Gradle

Java

Quick start

  1. Install the CLI: pipx install reqstool

  2. Define requirements in docs/reqstool/requirements.yml

  3. Annotate your code with @Requirements and @SVCs

  4. Add a build plugin for your ecosystem (Maven, Gradle, Hatch, or Poetry)

  5. Run reqstool status local -p docs/reqstool

See Getting Started for detailed instructions per language.

License

All reqstool components are licensed under the MIT License unless otherwise noted.