The OpenFastTrace IntelliJ Plugin adds editor and navigation support for OpenFastTrace (OFT) artifacts directly in JetBrains IDEs based on the IntelliJ Platform.
It helps users work with OFT specification items and trace links in the same environment where they already edit code and documentation.
This repository contains the plugin implementation, tests, and OpenFastTrace-based product documentation.
SonarCloud status:
User Guides
News and Discussions
Information for Contributors
Use an IntelliJ Platform IDE and install/build this plugin to get OFT support while editing project files.
The plugin currently focuses on:
- syntax highlighting for OFT items in supported files
- navigation support (
Go To Declaration, symbol search, and related navigation paths) - completion for existing specification item IDs while editing
Covers:entries in supported specification documents and coverage-tag targets in files supported by the OpenFastTrace Tag Importer - bundled OFT live templates for common specification items, including a scenario template
- project-wide or selected-resource OFT tracing from
Tools | OpenFastTrace | Trace Project - clickable specification item IDs directly from the trace output window, including generated IDs created from coverage tags
- quick access to the OpenFastTrace user guide from the IDE help menu
For expected behavior and scope details, see:
Clone this repository and build the plugin with Gradle:
./gradlew buildFor manual IDE testing, launch a sandbox IDE with the plugin:
./gradlew manualTestIdeAfter the sandbox IDE opens a project, configure trace scope under Settings | Tools | OpenFastTrace. By default, Trace Project scans the whole opened project. If you switch to selected-resource tracing, the plugin includes IntelliJ source roots, IntelliJ test roots, and one default additional project-relative path entry, doc/, until you change it. Additional files or directories are entered one per line.
Run an OFT trace from Tools | OpenFastTrace | Trace Project or use the default shortcut Ctrl+Alt+Shift+O. The plugin traces the configured inputs in the background and shows the plain text result in an IDE output tab with ANSI colors preserved. You can click specification item IDs in the report to jump to their declarations, including source-side items generated from coverage tags.
The plugin also bundles an OpenFastTrace live-template group under Settings | Editor | Live Templates. Use abbreviations such as feat, req, dsn, and scn in a supported editing context, then press Tab to insert an OFT item skeleton. The scn template inserts a scenario stub with placeholders for Given, When, Then, and the covered requirement. While the caret is still in a template's covered-item field, use basic completion to select an existing specification item ID from the project index.
When editing a Covers: section in a supported specification document, invoke basic completion on a partial specification item ID to get existing declarations from the project index. The same completion is available on the target side of likely coverage tags in files supported by the OpenFastTrace Tag Importer after the left-hand artifact type and arrow, for example // [impl->dsn~partial]. Suggestions prefer full-ID prefix matches first, then name-prefix matches, then name-substring matches, and finally artifact-type prefix matches.
You need a JetBrains IDE based on the IntelliJ Platform (for example, IntelliJ IDEA Community Edition) to run the plugin.
To build and test from source, use the project’s configured Gradle wrapper and a compatible JDK.
To understand product intent and implementation scope, start with:
To run the automated checks for the trace action and the project trace itself:
./gradlew check verifyPluginExample OFT files for manual testing are available under examples/ in this project.
For a guided live demonstration, use the script in doc/demo/plugin-demo.md with the isolated example project in doc/demo/example.
This project is licensed under the Apache 2.0 license.