ArchDoc Design record
ArchDoc

Index

Versions
History

archdoc index generates INDEX.md under root and prints the path written. With --check, it generates to memory and compares the result with the file on disk: where they differ it prints a unified diff and exits 2, and where they match it exits 0, printing nothing, or [] under --json. With --json, a difference is reported as a single finding against INDEX.md and no diff is printed. --json without --check is a usage error.

Format

# <name> index

Generated by ArchDoc. Do not edit.

## RFCs

| ID | Title | Status | Decided | Updates | Updated by | Obsoletes | Obsoleted by | Implemented in |
|---|---|---|---|---|---|---|---|---|

## ADRs

(same columns)

## Spec

| Page | Title | Includes | Stale |
|---|---|---|---|

## Refs

| ID | Title | Verified |
|---|---|---|

These four sections are always present with their header rows, even when empty. A fifth, Groups, follows Refs only where the repository has a group:

## Groups

| Group | Title | Documents |
|---|---|---|

Its rows are sorted by slug. Group links the group's file, and Documents lists the members in the order written, each linked to the document it names; a member that names nothing is left as text. A group's description is not shown. Rows are sorted by identifier for numbered types and by path for spec pages. Every identifier and page in every cell is a relative Markdown link. Empty cells are empty. A status carries its qualifiers in parentheses, comma-separated, in the order backfilled then obsolete: accepted (backfilled), accepted (obsolete), accepted (backfilled, obsolete). Stale is yes or empty. Implemented in lists the spec pages including the document. Terms are not listed: GLOSSARY.md is their index.

Every cell is escaped and every link destination is percent-encoded, so a title or filename containing a pipe, a bracket, an angle bracket or a parenthesis cannot alter the table.

Source spec/index.md · commit aa43057 · exported