ArchDoc Design record
ArchDoc

ArchDoc design record

Every proposal, decision, specification and reference for this project, exported from the repository. Read-only: documents change in git, not here.

The Spec

How things work today, with no lifecycle and always current

12 View all
architecture

Architecture

cmd/archdoc is the only package that imports cobra. No package under internal/ prints, prompts, or calls os.Exit; each is usable without a terminal. Every comma...

commands

Commands

Every command except init locates archdoc.json by walking up from the working directory and fails if none is found. -C <dir>, --chdir <dir>, is a persistent fla...

documents

Documents

A document is a Markdown file with a YAML front matter block. There are six types: RFC, ADR, spec page, ref, term and group. Each type lives in its own director...

export

Export

archdoc export writes the repository as JSON on stdout. --out <dir> writes a tree of files instead. --no-bodies omits every body, of contents entries, questions...

index

Index

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: whe...

layout

Layout

A specification repository is a directory containing archdoc.json and, under root, the document directories. group/ is optional, and init does not create it.

lifecycle

Lifecycle

RFCs and ADRs have a status. Spec pages and refs do not.

links

Links and the glossary

[[X]] in a body marks a link to be filled in. archdoc link replaces each one in every document that is not frozen with a Markdown link: If X is an identifier:...

lint

Lint

archdoc lint runs every L rule over every document and prints findings. With --merge it also runs the merge rules. Exit code 2 if any error, 0 otherwise. Warnin...

markdown

Markdown

The body of a document is everything after the closing --- of the front matter. The tool reads headings, HTML comments, code blocks, HTML blocks and links throu...

relationships

Relationships

Front matter records forward relationships: depends, updates and obsoletes on an RFC or ADR, includes on a spec page, and documents on a group. Every reverse re...

release

Release

Tagged versions build with goreleaser for linux, darwin and windows on amd64 and arm64. Archives are tar.gz, or zip for windows, named archdoc_<version>_<os>_<a...

Recently accepted

Newest first, by the date it was decided

Recently created

Newest first, by the date it was created

Awaiting decision

Oldest first, by the date it was created

Nothing is waiting on a decision.