STIG Help

STIG documentation

STIG logo

STIG is a Kotlin DSL and toolchain for authoring complete system specifications—from product Context and Requirements to Design, Analysis, and Tests. Models stay close to engineering source, while typed links, live IDEA inspections, automated checks, source-code analysis, and generated reports keep the whole description connected.

Use STIG when plain documents are too fragile and a heavyweight lifecycle platform is too distant from daily engineering work.

Quick setup

Clone and run the template locally. Set YOUR_PROJECT_NAME to your new folder name.

# Choose a local folder name YOUR_PROJECT_NAME="stig-aeb" # Clone the project template git clone git@gitlab.com:safetygence-oss/stig/stig-project.git "$YOUR_PROJECT_NAME" cd "$YOUR_PROJECT_NAME" # Install the version-matched Codex skill ./gradlew stigInstallSkill # Check the model and generate the HTML report ./gradlew stigGenerateHtml # Open the URL printed by Gradle in your browser

To import the template into an existing repository, follow Fresh clone and put into your own repo.

The template uses the Zero-Clause BSD (0BSD) license. You may use, copy, modify, distribute, and relicense it for any purpose, including private or commercial projects, without attribution or retaining the original license notice. You may remove or replace the template's LICENSE when adopting it, and choose your own license or keep your project proprietary.

Then complete the IDE integration:

  1. Install IntelliJ IDEA.

  2. Install STIG from JetBrains Marketplace.

  3. Open the directory named by YOUR_PROJECT_NAME in IDEA and let Gradle synchronize it.

Installation explains platform support, including the additional Linux requirements for automated source analysis.

One specification, five viewpoints

Viewpoint

Engineering question

Context

What is this element, where is its boundary, and how does it interact?

Requirements

What shall the element do at that boundary?

Design

How is the element decomposed and realized?

Analysis

What can fail, propagate, or violate an engineering constraint?

Tests

What verifies the linked requirements and behavior?

Every product is an element tree. Every element can use the same CREATE viewpoints. Kotlin references connect the tree, its specifications, analyses, tests, and implementation evidence without copying identifiers between documents.

Why engineers notice the difference

  • Author with the IDE: navigate definitions and usages, refactor safely, and see rule findings while typing.

  • Check continuously: compile the model and run engineering rules before a review or CI merge.

  • Trace directly: follow typed links across hierarchy, requirements, design, failures, safety measures, and tests.

  • Connect implementation: reverse-engineer Context and run cascading/data-flow analysis over selected C/C++ code.

  • Review one report: publish the model, checks, diagrams, metrics, and build provenance as navigable HTML.

  • Collaborate with Codex: $stig:specification, $stig:source-analysis, and $stig:project receive the same versioned workflows, task API, metamodel, and rules as the human manual.

A 55-second IntelliJ IDEA tour

See how STIG exposes executable engineering rules as selectable IDEA inspections, explains findings beside the model, and keeps requirements, allocation, and verification intent connected. Open the tour and screenshot gallery.

Choose your next step

The complete public site is the user manual. Development covers architecture, toolchains, release engineering, and contribution policy for STIG maintainers.

Choose a workflow in STIG workflows.

23 October 2026