1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# wiki.toml — Complete configuration reference
#
# Every available option with explanatory comments.
# In practice, only include settings that differ from defaults.
# Index file path, relative to wiki root.
# Scanned for wikilinks (index-coverage check) but NOT treated as a managed page.
# Default: "index.md". Set to "" to disable index coverage.
= "index.md"
# Verbatim directories/files are skipped by link scans, rewrites, and lint checks.
# Use for raw inputs, generated output, and other markdown that should remain unchecked.
# Same gitignore-style syntax as [ignore].patterns. Default: []
= ["raw-inputs/", "scraped/"]
# Declare managed wiki page directories. Each entry is recursive
# (includes all subdirectories). Managed pages get rules, orphans, index coverage,
# and auto-link candidate governance. Non-verbatim Markdown outside these directories
# is unmanaged: link-aware, but not governed. Verbatim Markdown is skipped entirely.
#
# When multiple entries overlap (parent + child), the most-specific path wins
# for per-page settings. This is the intended override mechanism:
# path = "wiki" (parent, sets defaults for all of wiki/)
# path = "wiki/papers" (child, overrides settings for wiki/papers/)
#
# If no [[directories]] are declared:
# Defaults to "wiki/" with autolink = true.
#
# If ANY [[directories]] are declared, the default is replaced entirely.
# autolink: pages here feed bare-mention auto-linking.
# When true, filename stems become patterns for `wiki links check`.
# Default: true
[[]]
= "wiki"
= true
# Long, specific names are poor auto-link patterns — disable.
[[]]
= "wiki/papers"
= false
[[]]
= "wiki/topics"
= false
[]
# Built-in non-wiki tool directory patterns are enabled by default:
# .agents/, .claude/, .cursor/, .windsurf/, .pi/, etc.
# Cargo-style: set default_patterns = false to discard them all.
# Default: true
= true
# Extra gitignore-style patterns, relative to the wiki root.
# Additive with defaults; cannot subtract individual default patterns.
# Default: []
= ["generated/", "scratch/**/*.md"]
[]
# Page names to never auto-link, even in autolink=true directories.
# Default: []
= ["the", "a", "an"]
# Frontmatter field that pages can set to false to opt out of auto-linking.
# Default: "autolink"
= "autolink"
# Wiki-wide structural checks. These apply to all pages regardless of directory.
# Values: "error" (causes exit code 2), "warn" (prints but exits 0), "off"
[]
# Managed-page [[wikilinks]] must resolve to a non-verbatim Markdown file by filename stem or aliases.
# Fragment references ([[page#heading]], [[page#^block]]) are also validated.
# Default: "error"
= "error"
# Unmanaged-page [[wikilinks]] get best-effort checking with separate severity.
# Verbatim pages are skipped and never emit link warnings/errors.
# Default: "warn"
= "warn"
# Every wiki page must have at least one inbound [[wikilink]] from another page.
# Default: "error"
= "error"
# Every wiki page must be referenced via [[wikilink]] in the index file.
# Only active if `index` is set and the file exists.
# Default: "error"
= "error"
# Parameterized rules scoped to directories, frontmatter predicates, or both.
# Each rule has a `check` type and a `severity` ("error", "warn", or "off").
#
# The `dirs` field uses path-prefix matching:
# dirs = ["wiki"] matches any page under wiki/ (including subdirectories)
# dirs = ["wiki/concepts"] matches only pages under wiki/concepts/
# The optional `when` field matches frontmatter equality, e.g. `when = "type == concept"`.
# --- Required sections ---
# Pages in the specified directories must contain these ## headings.
[[]]
= "required-sections"
= ["wiki/concepts"]
= ["See also", "Viability check"]
= "error"
[[]]
= "required-sections"
= ["wiki/topics"]
= ["See also"]
= "warn"
# --- Required frontmatter fields ---
# Pages in the specified directories must have these YAML frontmatter fields.
[[]]
= "required-frontmatter"
= ["wiki/concepts", "wiki/topics"]
= ["title", "tags", "date"]
= "error"
# Predicate-scoped rule: applies to pages whose frontmatter has type: concept.
[[]]
= "required-frontmatter"
= "type == concept"
= ["owner"]
= "warn"
[[]]
= "required-frontmatter"
= ["wiki/papers"]
= ["title", "tags", "date", "sources"]
= "error"
# --- Mirror parity ---
# Two directories must contain matching filenames (by stem, ignoring extension).
# Useful for raw-source / processed-page pairs.
# Note: `right` does NOT need to be a declared [[directories]] entry.
[[]]
= "mirror-parity"
= "wiki/papers"
= "raw/papers"
= "error"
# --- Citation patterns ---
# Detect references in prose that should have corresponding wiki pages.
#
# Each pattern has a regex with a named capture group `id`.
# `match_in`: which directory to search for matching pages.
# `match_mode`:
# "content" - search page file contents for the captured ID string (default)
# "filename" - check if a page with the captured ID as filename exists
#
# Use `preset` instead of `pattern` for built-in patterns:
# "bold-method-year" - matches **MethodName** (Author, YEAR), checks filenames
[[]]
= "citation-pattern"
= "arxiv"
= ["wiki/concepts", "wiki/topics"]
= 'arxiv\.org/abs/(?P<id>\d{4}\.\d{4,5})'
= "wiki/papers"
= "content"
= "warn"
# Preset-based: no regex needed, preset bundles pattern + match_mode.
[[]]
= "citation-pattern"
= "bold-method"
= "bold-method-year"
= ["wiki/concepts", "wiki/topics"]
= "wiki/papers"
= "warn"
[[]]
= "citation-pattern"
= "doi"
= ["wiki"]
= 'doi\.org/(?P<id>10\.\d{4,}/[^\s)]+)'
= "wiki/papers"
= "content"
= "warn"