Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Editions and licenses

Editions

SpecForge runs as one of three editions:

EditionIntended useLimits
CommunityNon-commercial useNone
EssentialCommercial evaluation without a valid licenseAt most 3 systems and 20 specifications
EnterpriseLicensed commercial useNone

The edition is determined at startup from the selected usage tier and any license file SpecForge finds:

  • The community tier runs the Community Edition, even if a valid license is present.
  • The commercial tier runs the Essential Edition without a valid license and the Enterprise Edition with one.
  • With no selected tier, SpecForge runs the Community Edition by default or the Enterprise Edition when it finds a valid license.

Restart any running SpecForge processes after changing the usage tier or license files.

Setting the usage tier

The usage tier records whether SpecForge will be used commercially. Its selectable values are community and commercial; the running edition is derived from the tier and license state.

You can set the tier using any one of the following:

  • The CLI (recommended)
  • The VS Code Command Palette
  • The global SpecForge configuration file

CLI

Run one of:

specforge set-tier community
specforge set-tier commercial

VS Code

Open the Command Palette, run SpecForge: Set License Tier, and select Community Edition or Commercial Edition.

If the extension manages the server itself (specforge.spawnServer is enabled), SpecForge restarts automatically. Otherwise, restart the server for the change to take effect.

While a Lilo file is open, the status bar shows the current edition. Click it to change the tier.

Global configuration file

The CLI and VS Code commands update the global SpecForge configuration. You can also edit it directly:

PlatformGlobal configuration
Linux and macOS$XDG_CONFIG_HOME/specforge/config.toml, or ~/.config/specforge/config.toml by default
Windows%APPDATA%\specforge\config.toml

This is not the project’s specforge.toml. Set the top-level tier field to one of:

tier = "community"
tier = "commercial"

License files

Set the environment variable SPECFORGE_LICENSE_FILE to use one specific license file. Otherwise, SpecForge checks these locations in order and uses the first valid license:

  1. *-license.json in the global configuration directory.
  2. *-license.json in the current directory.
  3. license.json in the global configuration directory.
  4. license.json in the current directory.

A license is valid when its signature, expiry, revocation status, and version compatibility all pass verification. Verification does not require a network connection.