Skip to content

itsallcode/openfasttrace-intellij-plugin

Repository files navigation

OpenFastTrace IntelliJ Plugin

What is OpenFastTrace IntelliJ Plugin?

The OpenFastTrace IntelliJ Plugin adds editor and navigation support for OpenFastTrace (OFT) artifacts directly in JetBrains IDEs based on the IntelliJ Platform.

IDE Window With the Plugin

It helps users work with OFT specification items and trace links in the same environment where they already edit code and documentation.

OFT Logo

Project Information

This repository contains the plugin implementation, tests, and OpenFastTrace-based product documentation.

Build

SonarCloud status:

Quality Gate Bugs Code Smells Coverage Duplicated Lines Lines of Code Maintainability Rating Reliability Rating Security Rating Technical Debt Vulnerabilities

User Guides

News and Discussions

Information for Contributors

Using the Plugin

Use an IntelliJ Platform IDE and install/build this plugin to get OFT support while editing project files.

For installation and workflow instructions, see the OpenFastTrace IntelliJ Plugin User Guide.

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 or through custom OpenFastTrace run configurations
  • clickable specification item IDs directly from the trace output window, including generated IDs created from coverage tags
  • IntelliJ Test Runner UI output for OpenFastTrace traces by default, grouped by source file, specification item, and trace link
  • quick access to the OpenFastTrace user guide from the IDE help menu

For expected behavior and scope details, see:

Getting the Project

Clone this repository and build the plugin with Gradle:

./gradlew build

For manual IDE testing, launch a sandbox IDE with the plugin:

./gradlew manualTestIde

Trace Settings

After 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 Configurations

You can create and run a dedicated OpenFastTrace run configuration from the IDE's run/debug toolbar. The plugin traces the configured inputs in the background and shows the result in IntelliJ's Test Runner UI by default. The result tree groups source files, specification items, and trace links with pass/fail status and navigation back to source.

Run configurations can select plain text output instead. In that mode, the plugin shows the text report 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.

Live-Templates Bundled With the Plugin

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.

Installation

Runtime Dependencies

You need a JetBrains IDE based on the IntelliJ Platform (for example, IntelliJ IDEA Community Edition) to run the plugin.

Development Dependencies

To build and test from source, use the project’s configured Gradle wrapper and a compatible JDK. To package the plugin with generated Marketplace change notes, install Pandoc on PATH or set PANDOC to the executable path.

Icon Assets

The plugin logo asset src/main/resources/META-INF/pluginIcon.svg and the run-configuration icon asset src/main/resources/icons/openfasttrace.svg are derived from the OpenFastTrace logo artwork in this repository and use the same Apache 2.0 license as the project.

Development

To understand product intent and implementation scope, start with:

To run the local pre-release checks, including automated tests and IntelliJ Plugin Verifier compatibility checks:

./gradlew check verifyPlugin

To check for newer dependency, Gradle plugin, and Gradle wrapper versions:

./gradlew --no-configuration-cache --no-parallel dependencyUpdates -Drevision=release

After intentionally changing dependency or Gradle plugin versions, refresh the committed Gradle lock file:

./gradlew --write-locks dependencies

Marketplace-facing descriptor metadata is maintained in doc/marketplace, with Pandoc generating change-note HTML from the active Markdown entry under doc/changes.

Example 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.

License

This project is licensed under the Apache 2.0 license.

About

Editor support for writing and maintaining OpenFastTrace documents

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages