Requirements as Code for Systems Engineering RQMT is an open-source framework for writing, validating, and managing requirements using a structured language designed for both humans and machines. The project is built around the idea that requirements should be treated similarly to source code:
RQMT aims to bridge the gap between stakeholders, systems engineers, and developers through a common, machine-processable representation of requirements. Why RQMT?Requirements are often written as free-form documents. While this approach is flexible, it introduces several challenges:
Modern software development benefits from compilers, static analysis, IDEs, and automated tooling. RQMT applies similar principles to requirements engineering. Development SetupPrerequisites
Installation
BuildUse the VS Code CMake extension or:
Example
The document can be parsed into a structured representation:
Core ConceptsStructured RequirementsRequirements are written using a simple hierarchical syntax.
Abstract Syntax Tree (AST)RQMT documents are parsed into an AST that can be analyzed and processed automatically. Requirements as CodeRequirements become machine-processable artifacts that can participate in development workflows. TraceabilityRQMT is designed with traceability in mind. Requirements can be uniquely identified, referenced, validated, and linked to:
Architecture
MotivationRQMT was originally motivated by the challenges of systems engineering in multidisciplinary domains such as robotics, where requirements often serve as the primary interface between:
RQMT provides a common, easy to learn, structured representation that can be understood by humans and processed by tools. StatusRQMT is currently in active development, in an early stage. The language specification and tooling are evolving and may change significantly before the first stable release. Proof of ConceptVersion: 0.1.0.x A rudimentary implementation of the LSP can be run as VSC extension:
Implemented:
In progress:
Roadmapv0.2: Core Semantics
v0.3: Modularity and Usability
v0.4: Advanced Tooling
v0.5: Automation and CI/CD
v0.6: AI for Content
v0.7: Advanced AI and Collaboration
v1.0: Stability and Production
DocumentationContributingContributions, feedback, discussions, and feature requests are welcome. LicenseMIT License |

