Config reference
This page is the lookup material for merlon.config.json. It gives the feature keys’ defaults and the page that documents each key, then the review thresholds, the schema-only fields and the JSON Schema file. Config essentials covers the minimal config and the paths every command resolves from.
Feature settings
Section titled “Feature settings”Each feature’s spec defines its config keys and what they do. This table gives their defaults, and Config key map links each spec.
| Key | Default |
|---|---|
compile.links.markBroken |
true |
lint.links.enabled |
true |
lint.links.severity |
"error" |
lint.links.config |
none |
lint.links.target |
none |
lint.codeExtensions |
[] |
lint.dataExtensions |
[] |
lint.paths.severity |
"off" |
lint.paths.searchRoots |
[] |
lint.paths.generated |
[] |
lint.paths.vocabulary |
[] |
backup.enabled |
false |
backup.dir |
.caches/backups |
backup.ext |
"" |
diagnostics.splitFiles |
false |
diagnostics.dir |
none |
diagnostics.errorsFile |
none |
diagnostics.warningsFile |
none |
Config key map
Section titled “Config key map”This table links the page that documents each key:
| Key | Documented in |
|---|---|
compileOrder, guides[].name, guides[].path, outputDir, outputFile, refs.registryFile, compile.outputFile |
Minimal config and Path layout |
compile.scopeRoot |
Shared glossary |
review.* |
Review thresholds on this page |
configVersion, standardVersion, protocolVersion |
Minimal config |
refs.slugAlgorithm |
Schema-only fields on this page |
source, guides[].source, guides[].splitLevel |
Consumer migration |
compile.preambleSection |
Project layout |
banner, sourceTags, compile.includeBanner, compile.sourceTags |
Source tags and banner |
compile.manifest, compile.sectionsHeading |
Manifest compile order |
compile.title |
Compile API |
compile.hooks, compile.hooksConfig |
Default compile hooks, and the core Compile hooks index for the hook pipeline |
compile.stripAnchors |
stripAnchors |
compile.crossGuideLinks |
Cross-guide link rewriting |
compile.links.*, lint.links.enabled, lint.links.severity, lint.codeExtensions, lint.dataExtensions |
Built-in link validation |
lint.paths.* |
Path resolution in prose |
lint.links.config, lint.links.target, lint.markdownlint.*, vale.* |
Optional linters |
scan.* |
Documentation coverage scan |
standaloneGuides |
Coverage in check |
backup.* and the --backup flags |
Compile output backup |
diagnostics.* and --diagnostics-dir, --errors-file, --warnings-file |
Check gate and Commands reference |
Review thresholds
Section titled “Review thresholds”merlon review reads optional thresholds from a top-level review object. Each value is a positive integer, and omitted keys keep their defaults.
{ "review": { "maxIndexEntries": 12, "maxShardWords": 2500, "minDuplicateWords": 25 }}| Field | Default | Role |
|---|---|---|
review.maxIndexEntries |
12 |
Most shard links one index group lists before index-size fires |
review.maxShardWords |
2500 |
Most prose words one shard holds before long-shard fires |
review.minDuplicateWords |
25 |
Fewest words a paragraph needs before duplicate-paragraph compares it across shards |
merlon review also honors scan.ignore and scan.root, so paths the coverage scan skips stay out of the review. Sprawl review in Commands reference defines each signal.
Schema-only fields
Section titled “Schema-only fields”| Field | Notes |
|---|---|
refs.slugAlgorithm |
Informational; only github is implemented |
Full schema and sample config
Section titled “Full schema and sample config”merlon.config.schema.json, a file in the Merlon Docs repository that the npm packages leave out, is the JSON Schema for every key. The sample guides’ config is a longer example. Its paths resolve only from the Merlon Docs repository root, so copy single keys from it.