Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>RQMT - Requirements LanguageNew to Visual Studio Code? Get it now.
RQMT - Requirements Language

RQMT - Requirements Language

jtu-hub

| (0) | Free
Language support for the RQMT requirements engineering language, including syntax highlighting, diagnostics, validation, and language server features.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

RQMT-icon

Structure is not a guideline; it is an agreement. The value of a language lies not in the freedom it provides, but in the ambiguity it removes.

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:

  • Written in a formal syntax
  • Parsed into an Abstract Syntax Tree (AST)
  • Validated automatically
  • Version controlled with Git
  • Supported by IDE tooling
  • Traceable across development artifacts

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:

  • Ambiguity
  • Inconsistent structure
  • Difficult traceability
  • Limited automation
  • Poor integration with development workflows

Modern software development benefits from compilers, static analysis, IDEs, and automated tooling.

RQMT applies similar principles to requirements engineering.


Development Setup

Prerequisites

  • Node.js
  • CMake
  • A C++ compiler
  • VS Code (recommended)

Installation

npm install
npm run compile

Build

Use the VS Code CMake extension or:

cmake -S server/src -B build
cmake --build build

Example

req-1 User Authentication:
    [to_implement]
    The system shall authenticate users before granting access.

    fr{login}-2 Login:
        The system shall provide a login interface.

    @draft
    nfr-3 Security:
        Authentication credentials shall be stored securely.

The document can be parsed into a structured representation:

Document
└─ req-1 User Authentication
   ├─ fr-2 Login
   └─ nfr-3 Security

Core Concepts

Structured Requirements

Requirements are written using a simple hierarchical syntax.

req-10 Navigation:
    The robot shall navigate autonomously.

    fr-11 Localization:
        The robot shall estimate its position.

Abstract Syntax Tree (AST)

RQMT documents are parsed into an AST that can be analyzed and processed automatically.

Requirements as Code

Requirements become machine-processable artifacts that can participate in development workflows.

Traceability

RQMT is designed with traceability in mind.

Requirements can be uniquely identified, referenced, validated, and linked to:

  • Requirements
  • Design artifacts
  • Source code
  • Test cases
  • Documentation

Architecture

RQMT Document
        │
        ▼
     Lexer
        │
        ▼
     Parser
        │
        ▼
       AST
        │
        ├── Diagnostics
        ├── Validation
        ├── Traceability
        └── Tooling

Motivation

RQMT was originally motivated by the challenges of systems engineering in multidisciplinary domains such as robotics, where requirements often serve as the primary interface between:

  • Stakeholders
  • Systems engineers
  • Software engineers
  • Mechanical engineers
  • Electrical engineers
  • Verification and validation teams

RQMT provides a common, easy to learn, structured representation that can be understood by humans and processed by tools.


Status

RQMT 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 Concept

Version: 0.1.0.x

A rudimentary implementation of the LSP can be run as VSC extension: RQMT LSP running in Visual Studio Code

Implemented:

  • Lexer
  • Parser
  • AST generation
  • Incremental parsing
  • Syntax diagnostics
  • Semantic tokens and syntax high-lighting
  • Go-to-definition reference → alias

In progress:

  • Semantic diagnostics
  • Auto-completion
  • Automatic ID generation

Roadmap

v0.2: Core Semantics

  • Reference resolution
  • Semantic diagnostics
  • Alias validation
  • Tag syntax
  • Decorators syntax
  • Link tests and implementations

v0.3: Modularity and Usability

  • Cross-file references
  • Workspace indexing
  • Auto-ID workflow
  • Hover information
  • Formatting

v0.4: Advanced Tooling

  • Workspace indexing (optimized)
  • Rename symbol
  • Traceability views
  • Export to Markdown/HTML
  • Configuration files (.rqmtconfig.json)

v0.5: Automation and CI/CD

  • CI/CD Integration
  • Static Analysis (CLI: rqmt lint)
  • Flags: blocking releases, draft
  • Basic AI-assisted analysis (ambiguity, completeness)

v0.6: AI for Content

  • AI-assisted analysis (conflicts, standards compliance)
  • Collaborative review tools (GitHub/GitLab integration)

v0.7: Advanced AI and Collaboration

  • AI for domain-specific checks (e.g., ISO 26262 compliance)
  • Plugin system (custom rules/checks)

v1.0: Stability and Production

  • Stable language specification
  • Complete LSP support
  • Production-ready tooling

Documentation

  • language.md
  • specification.rqmt
  • grammar.md

Contributing

Contributions, feedback, discussions, and feature requests are welcome.


License

MIT License

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft