Traceability Macros Reference
Namespace alias
Every macro on this page is also available under the shorter tracer: prefix.
The two namespaces are equivalent and may be used side-by-side as a migration path:
tracer:outgoing[]
tracer:incoming[]
tracer:links[]
tracer:graph[]
tracer:graph-coverage[]
tracer: remains fully supported and is not deprecated.
New content may use either prefix.
Relationship Link Macros
When :traceability-links: resolves to true, every item automatically renders its outgoing and incoming relationship lists using the configured display options.
An explicit tracer:outgoing[], tracer:incoming[], or tracer:links[] macro overrides automatic rendering for that item and controls its direction and placement.
|
A relationship whose target item lives only in an excluded component (the |
tracer:outgoing[]
Lists items that this item points to (outgoing relationships). Place inside an item block:
[#REQ-001, item, role=requirement]
--
Requirement description...
tracer:outgoing[]
--
tracer:incoming[]
Lists items that point to this item (incoming relationships).
Uses the reverse relation’s display label (e.g., an incoming addresses edge displays as "Addressed by"):
tracer:incoming[]
Enabling
Enable automatic relationship rendering for every item on a page with the document attribute:
= Architecture
:traceability-links: true
For a component-wide default, set the attribute in the component descriptor’s antora.yml:
asciidoc:
attributes:
traceability-links: true
or in the playbook:
asciidoc:
attributes:
traceability-links: true
A page-level :traceability-links: header overrides the component or playbook setting for items authored in that page.
Items defined in partials use their own component’s setting; the including page’s header does not override it, and partials need no local setting.
When the resolved setting is absent or false, explicit relationship rendering macros are stripped from output and automatic links are not added.
Display options
| Attribute | Values | Effect |
|---|---|---|
|
|
Renders automatic outgoing and incoming relationship lists and enables explicit rendering macros |
|
|
Display format: bulleted list, AsciiDoc table, or comma-separated inline |
|
|
Sort order |
|
|
In list style, wrap all relation-type groups in one |
Visualization Macros
These macros render diagrams.
They are gated by the :traceability-graph: document attribute.
tracer:graph[]
Renders a relationship graph diagram.
= Dashboard
:traceability-graph: true
[#REQ-001, item, role=requirement]
\--
Requirement description...
tracer:graph[]
\--
Renders a Kroki-generated GraphViz DOT diagram showing the item and all directly related items (both outgoing and incoming). Nodes are colored by role; edges are labeled with relation types.
Depth parameter
Pass a depth to control how many hops are shown (default 1):
tracer:graph[REQ-001, 2]
===
Renders a coverage bar chart.
Inside an item — per-relationship-type coverage:
tracer:graph-coverage[]
Outside any item — global role-based coverage:
= Dashboard
:traceability-graph: true
tracer:graph-coverage[]
Renders a Kroki-generated Vega-Lite bar chart.
Both macros auto-scale and have no additional attributes beyond :traceability-graph:.
Kroki configuration
Both macros generate URLs pointing to the configured Kroki server.
The image format (SVG/PNG) is controlled by krokiImageFormat, the server URL by krokiServerUrl.
antora:
extensions:
- require: @antora-tracer/core/antora-extension
# defaults: krokiServerUrl: https://kroki.io, krokiImageFormat: svg
antora:
extensions:
- require: @antora-tracer/core/antora-extension
krokiServerUrl: http://localhost:8000
krokiImageFormat: png
You can also set KROKI_SERVER_URL and KROKI_IMAGE_FORMAT environment variables, which take precedence over extension config.
Related
-
How to add traceability visualizations — practical guide
-
Item Macro Reference — inline relationship syntax