# Documentation

First-time users should start with the [tutorial](tutorial.md).

## Manual Pages

These describe all the various command line options.

*   [`stg`](stg.md): ABI extraction and transformation
*   [`stgdiff`](stgdiff.md): ABI comparison and reporting

## Reference

*   [`reference`](reference.md): work-in-progress covering concepts etc.

## Design and Implementation

Incomplete descriptions of some of the more interesting things that make up
`stgdiff`.

*   [Comparison](comparison.md): how STG compares graphs
*   [Naming](naming.md): how STG builds C type name syntax
*   [Reporting](reporting.md): how STG serialises reports
*   [SCC](scc.md): how STG efficiently and safely handles cyclic graphs
