Export and report commands
Turn the threat model into reports, diagrams, SARIF, and diffs, and join models across repositories.
guardlink report
Section titled “guardlink report”Generate a threat model report with Mermaid diagram
guardlink report [options] [dir]Arguments
| Argument | Description |
|---|---|
dir |
Project directory to scan (default: “.”) |
Options
| Option | Description |
|---|---|
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
-o, --output <file> |
Write report to file |
-f, --format <fmt> |
Output format: md, json, or both (default: md) (default: “md”) |
--diagram-only |
Output only the Mermaid diagram, no report wrapper |
--json |
Also output threat-model.json alongside the report (legacy; prefer –format) |
--feature <names> |
Filter report to specific feature(s) (comma-separated) |
-h, --help |
display help for command |
guardlink artifacts
Section titled “guardlink artifacts”Emit .guardlink/model.json and .guardlink/graph/ — diagrams and the model as plain files
guardlink artifacts [options] [dir]Arguments
| Argument | Description |
|---|---|
dir |
Project directory to scan (default: “.”) |
Options
| Option | Description |
|---|---|
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
--dry-run |
Show what would be written without writing |
-h, --help |
display help for command |
guardlink sarif
Section titled “guardlink sarif”Export findings as SARIF 2.1.0 for GitHub Advanced Security, VS Code, etc.
guardlink sarif [options] [dir]Arguments
| Argument | Description |
|---|---|
dir |
Project directory to scan (default: “.”) |
Options
| Option | Description |
|---|---|
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
-o, --output <file> |
Write SARIF to file (default: stdout) |
--min-severity <sev> |
Only include exposures at or above this severity (critical|high|medium|low) |
--no-diagnostics |
Exclude parse errors from SARIF output |
-h, --help |
display help for command |
guardlink diff
Section titled “guardlink diff”Compare threat model against a git ref — find what changed
guardlink diff [options] [ref]Arguments
| Argument | Description |
|---|---|
ref |
Git ref to compare against (commit, branch, tag, HEAD |
Options
| Option | Description |
|---|---|
-d, --dir <dir> |
Project directory (default: “.”) |
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
--markdown |
Output as markdown (for PR comments) |
--json |
Output as JSON |
--fail-on-new |
Exit 1 if new unmitigated exposures found (CI mode) |
-h, --help |
display help for command |
guardlink dashboard
Section titled “guardlink dashboard”Generate an interactive HTML threat model dashboard with diagrams
guardlink dashboard [options] [dir]Arguments
| Argument | Description |
|---|---|
dir |
Project directory to scan (default: “.”) |
Options
| Option | Description |
|---|---|
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
-o, --output <file> |
Output file (default: threat-dashboard.html) |
--light |
Default to light theme instead of dark |
--feature <names> |
Filter dashboard to specific feature(s) (comma-separated) |
-h, --help |
display help for command |
guardlink translate
Section titled “guardlink translate”Translate GuardLink threats into CERT-X-GEN pentest templates (generation only, no execution)
guardlink translate [options] [prompt...]Arguments
| Argument | Description |
|---|---|
prompt |
Optional translation instructions |
Options
| Option | Description |
|---|---|
-d, --dir <dir> |
Project directory (default: “.”) |
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
--claude-code |
Launch Claude Code in foreground |
--codex |
Launch Codex CLI in foreground |
--gemini |
Launch Gemini CLI in foreground |
--cursor |
Open Cursor IDE with prompt on clipboard |
--windsurf |
Open Windsurf IDE with prompt on clipboard |
--clipboard |
Copy translation prompt to clipboard only |
--feature <names> |
Filter to specific feature(s) (comma-separated) |
-h, --help |
display help for command |
guardlink merge
Section titled “guardlink merge”Merge multiple repo report JSONs into a unified workspace threat model
guardlink merge [options] <files...>Arguments
| Argument | Description |
|---|---|
files |
Report JSON file paths (glob supported) |
Options
| Option | Description |
|---|---|
-o, --output <file> |
Output file for merged dashboard HTML (default: workspace-dashboard.html) |
--json <file> |
Also write merged report JSON to this file |
--diff-against <file> |
Compare against a previous merged JSON for weekly summary |
-w, --workspace <name> |
Workspace name (auto-detected from reports if not set) |
--summary-only |
Print only the text summary, skip dashboard generation |
-h, --help |
display help for command |
guardlink link-project
Section titled “guardlink link-project”Link repos into a shared workspace for cross-repo threat modeling
guardlink link-project [options] [repos...]Arguments
| Argument | Description |
|---|---|
repos |
Repo directories to link (fresh setup: 2+ paths) |
Options
| Option | Description |
|---|---|
-w, --workspace <n> |
Workspace name (fresh link only) (default: “workspace”) |
-r, --registry <url> |
GitHub/GitLab org base URL (e.g. github.com/unstructured) |
--add <path> |
Add a new repo to an existing workspace (provide path to new repo) |
--remove <name> |
Remove a repo from the workspace by name |
--from <path> |
Existing workspace repo to read config from (used with –add or –remove) |
-h, --help |
display help for command |
guardlink feature
Section titled “guardlink feature”Manage and inspect feature tags across the threat model
guardlink feature [options] [command]Subcommands
| Subcommand | Summary |
|---|---|
list |
List all features found in annotations |
show |
Show detailed threat model for a specific feature |
Options
| Option | Description |
|---|---|
-h, --help |
display help for command |
guardlink feature list
Section titled “guardlink feature list”List all features found in annotations
guardlink feature list [options] [dir]Arguments
| Argument | Description |
|---|---|
dir |
Project directory to scan (default: “.”) |
Options
| Option | Description |
|---|---|
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
--json |
Output as JSON |
-h, --help |
display help for command |
guardlink feature show
Section titled “guardlink feature show”Show detailed threat model for a specific feature
guardlink feature show [options] <name>Arguments
| Argument | Description |
|---|---|
name |
Feature name (case-insensitive) |
Options
| Option | Description |
|---|---|
-d, --dir <dir> |
Project directory (default: “.”) |
-p, --project <n> |
Project name (default: the name in .guardlink/config.json) |
--json |
Output as JSON |
-h, --help |
display help for command |

