[codespell]
# Max enforcement: hidden files and filenames are checked, and the builtin
# dictionary set is widened beyond the default clear,rare. 'code' and
# 'names' stay off — they flag identifiers (uint, proper names) that are
# legitimate in codebases by design. Dialect dictionaries off: the house
# dialect is en-GB and codespell has no en-US->en-GB dictionary
# (en-GB_to_en-US would enforce the WRONG direction). README.md in
# templates/linters/.
builtin = clear,rare,informal,usage
# Boolean flags take an EMPTY value here: any value ("true") is forwarded
# to argparse as a stray positional argument and errors.
check-hidden =
check-filenames =
# .git must lead the skip list: check-hidden would otherwise descend it
# (the lefthook remote cache under .git/info/ contains prose that isn't
# ours); .claude is machine-local session state. Repo-local entries
# follow, each with a reason.
skip = .git,.claude,target,mise.lock,Cargo.lock,./tests/fixtures/legacy,spec,./fuzz/corpus,./fuzz/artifacts,./fuzz/target,./crates/edtf-wasm/pkg
# ignore-words-list is repo-local: add the key only when a repo needs it
# (an empty value is an argparse error), case-sensitive as written in the
# dictionary, keep minimal. "nd" is the English ordinal suffix ("2nd") in
# edtf-normalize's pattern tables. "intoto" is the in-toto attestation
# framework (*.intoto.jsonl bundles in the publish pipeline).
ignore-words-list = crate,nd,intoto
