Skip to content

Latest commit

 

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenFastTrace Language Server

CI Quality Gate Open VSX License

Feature guide · Demo walkthrough · Releases

The language server at work

What it does

OpenFastTrace (OFT) is a requirement tracing suite. It keeps track of whether you actually implemented everything you planned to in your specifications.

This project brings that into the editor through the Language Server Protocol. One server process understands OFT specification items and coverage tags, and any LSP-capable editor can connect to it. Two clients ship here: an IntelliJ IDEA plugin and a VS Code extension.

New to the OFT format? The OFT user guide explains items, coverage and artifact types.

Features

Feature What it gives you
Syntax highlighting Item IDs, section keywords and coverage tags in their own colors
Hover documentation Title and description of the item an ID refers to
Go to definition From a tag to the item, from an item to everything covering it
Find references Every coverage tag in the workspace that covers an item
Symbol search Items through the editor's workspace symbol search
Trace diagnostics Defects of every file, by severity, in the problems view
Quick fix Outdated references lifted to the current revision, one or all
Coverage code lens What an item still needs, shown above its ID
Coverage hierarchy The full chain from feature down to the tags in source
Code completion Item IDs in Covers: and tags, plus tag skeletons
Rename An item and every reference to it, in one step
Trace report The full OFT report as HTML or plain text
Ignore file Glob patterns in .oftignore keep paths out of the trace
Trace decisions An architecture decision record traced like any other item

The feature guide shows each of them with a screenshot and the shortcut for both editors.

Install

Both clients start the server automatically when a supported file is opened. No configuration needed.

IntelliJ IDEA

Requires IntelliJ IDEA Ultimate 2026.1 or later.

  1. Download the plugin ZIP from the releases page.
  2. Settings → Plugins → ⚙ → Install Plugin from Disk…, pick the ZIP.
  3. Restart when prompted.

VS Code

Requires VS Code 1.82 or later.

Install from the Open VSX Registry, or from a downloaded package:

  1. Download the .vsix for your platform from the releases page.
  2. Open the Extensions view, click the ··· menu and choose Install from VSIX…, pick the file.

Each package carries its own Java runtime, so the file name ends in the platform, for example -win32-x64 or -darwin-arm64.

Try it

doc/demo/ holds a small coffee maker project that visits every feature in order. Open doc/demo/example as the project and follow the demo walkthrough. A few defects in it are intentional, so the diagnostics, the quick fix and the report have something to show.

Survey

This language server is the subject of a bachelor's thesis. Taking part is two steps: first work through the demo walkthrough, then answer the survey right afterwards. The survey builds on the walkthrough, so please do that one first. Answers are evaluated pseudonymously and used only for the thesis.

Project information

Topic Details
Status Bachelor thesis project, work in progress
Built on Java 17, LSP4J 1.0.0 (LSP 3.18), OFT 4.9.0
License GPL-3.0-or-later
Specification requirements · features
Decisions architecture decision records

Building from source

Server, plugin and extension

Prerequisites

  • Java 17 or later, Maven 3.6 or later
  • Node.js and npm for the VS Code extension
  • Gradle comes as a wrapper in intellij-plugin/

Server

git clone https://github.com/fgorke/openfasttrace-language-server.git
cd openfasttrace-language-server
mvn verify

The build produces a standalone fat JAR at target/openfasttrace-language-server-*-standalone.jar. It speaks LSP over stdio, so any editor with an LSP client can launch it directly:

java -jar target/openfasttrace-language-server-*-standalone.jar

IntelliJ plugin

mvn package
cd intellij-plugin
./gradlew runIde        # sandbox IDE with the plugin
./gradlew buildPlugin   # installable ZIP in build/distributions/

VS Code extension

mvn package
cd vscode-extension
npm install
npm run watch     # then press F5 in VS Code to launch an extension host
npm run package   # .vsix for the current platform

jlink only builds a runtime for the platform it runs on, so a package built here carries a runtime for this machine only. The releases are built per platform in CI.

Related projects

License

GPL-3.0-or-later. OpenFastTrace is licensed under GPL-3.0 without a classpath exception and this project links against it, so the license propagates.

About

Requirement tracing from OpenFastTrace in your editor: a language server with a JetBrains IDE plugin and a VS Code extension

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages