Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Terms Processor

Purpose

Checks that technical terms from a terms directory are backtick-quoted in Markdown files, and provides commands to auto-fix and merge term lists across projects.

How It Works

Loads terms from terms/*.txt files (one term per line, organized by category). For each .md file, simulates what rsconstruct terms fix would produce. If the result differs from the current content, the product fails.

The processor skips YAML frontmatter and fenced code blocks. Terms are matched case-insensitively with word-boundary detection, longest-first to avoid partial matches (e.g., “Android Studio” matches before “Android”).

Auto-detected when a terms/ directory exists and .md files are present.

Source Files

  • Input: **/*.md
  • Output: none (checker)

Configuration

[processor.terms]
terms_dir = "terms"       # Directory containing term list .txt files
batch = true              # Enable batch execution
dep_inputs = []         # Additional files that trigger rebuilds when changed
KeyTypeDefaultDescription
terms_dirstring"terms"Directory containing .txt term list files
batchbooltrueEnable batch execution
dep_inputsstring[][]Extra files whose changes trigger rebuilds

Batch support

The tool accepts multiple files on the command line. When batching is enabled (default), rsconstruct passes all files in a single invocation for better performance.

Term List Format

Each .txt file in the terms directory contains one term per line. Files are typically organized by category:

terms/
  programming_languages.txt
  frameworks_and_libraries.txt
  databases_and_storage.txt
  devops_and_cicd.txt
  ...

Example programming_languages.txt:

Python
JavaScript
TypeScript
Rust
C++
Go

Commands

rsconstruct terms fix

Add backticks around unquoted terms in all markdown files.

rsconstruct terms fix
rsconstruct terms fix --remove-non-terms   # also remove backticks from non-terms

The fix is idempotent: running it twice produces the same result.

rsconstruct terms merge <path>

Merge terms from another project’s terms directory into the current one. For matching filenames, new terms are added (union). Missing files are copied in both directions.

rsconstruct terms merge ../other-project/terms