wastech-mdlint
Дэтэрмінаваны лінтынг Markdown, які чытаюць вашы агенты.
wastech-mdlint – гэта CLI і бібліятэка на TypeScript, якія правяраюць Markdown-кантэкст у вашым рэпазіторыі, ад AGENTS.md і CLAUDE.md да дрэва дакументацыі. Кожная праверка выконваецца лакальна, без сеткавых запытаў і без мадэлі ў цыкле, таму адны і тыя ж файлы заўсёды даюць адзін і той жа вынік.
Чаму ён тут
Добрая праца агентаў часткова залежыць ад парадку ў файлах, якія яны чытаюць, і гэты інструмент я напісаў якраз для гэтага. Ён працуе і лакальна, і ў CI, і я выкарыстоўваю яго ў сваіх прадуктах, сярод іх Wastime і гэты сайт. Працоўную канфігурацыю можна адкрыць у публічным рэпазіторыі wastech-orchestrator.
Праблема
Файлы, якія чытаюць вашы агенты, змяняюцца разам з кодам, і калі іх нішто не правярае, спасылкі перастаюць працаваць пасля пераносу файла, а кантэкстныя файлы разрастаюцца звыш таго аб’ёму, які мадэль добра чытае. Ніводзін тэст пры гэтым не падае, таму першай прыкметай можа стаць тое, што агент працуе горш, і гэта лёгка спісаць на мадэль.
Рашэнне
wastech-mdlint ставіцца да Markdown для агентаў як да зыходнага кода. У ім 22 убудаваныя правілы, ад мэтаў спасылак да абавязковых слупкоў табліц, і правілы бюджэту, якія абмяжоўваюць памер кантэксту. Уласныя правілы апісваюцца канфігурацыяй з закрытага набору праверак, таму ў вашым CI не выконваецца адвольны код.
- Калі канфігурацыя ўключае правілы, праверка ў CI або пры лакальным запуску падае на бітых унутраных спасылках і табліцах, што раз’ехаліся.
- Бюджэт токенаў на кантэкст становіцца абмежаваннем, якое можа праверыць CI.
- Уласныя правілы – гэта проста даныя, таму іх запуск у чужым CI не выконвае ніякага кода.
Ключавыя магчымасці
- 22 убудаваныя правілыКатэгорыі для табліц, раздзелаў і структуры, спасылак, якасці змесціва і цэласнасці графа.
- Гігіена кантэксту для LLMБюджэты ў байтах, радках і токенах, а таксама бюджэт eager-імпартаў для кантэкстных файлаў.
- Дэкларатыўныя ўласныя правілыЗакрыты слоўнік праверак, з якіх правілы збіраюцца ў канфігурацыі, без перазборкі і без выканання кода ў вашым CI.
Прыклады запуску
wastech-mdlint lint .broken.md 3:11 error Link target "missing.md" does not resolve to a file. REF-001✖ 1 problem (1 error, 0 warnings)wastech-mdlint graph .nodes: 8edges: 7cycles: 1entry points (3): design.md index.md orphan.mdtop hubs: (none: no document has 3 or more incoming references)cycles: cycle-a.md -> cycle-b.md -> cycle-a.mdclusters: cluster 1 (5 files): design.md glossary.md guide.md index.md requirements.md cluster 2 (2 files): cycle-a.md cycle-b.md cluster 3 (1 files): orphan.mdreading order (6): design.md index.md glossary.md guide.md orphan.md requirements.mdall 2 documents below sit in a cycle.excluded from reading order (2): cycle-a.md cycle-b.mdcoverage: nodes: 8 edges: 7 files outside corpus (1): appendix.mdДля каго
- Каманды, якія падтрымліваюць вялікі аб’ём дакументацыі і кантэксту для агентаў.
- Усе, хто трымае ў рэпазіторыі CLAUDE.md / AGENTS.md / SKILL.md.
Стэк
- Мова
- TypeScript
- Асяроддзе выканання
- Node.js 24 LTS
- Структура
- Манарэпазіторый на npm workspaces
- TypeScript project references
- Інтэграцыя з ШІ
- Model Context Protocol (stdio)
Усталяванне
npm install --save-dev @wastech-mdlint/clinpx wastech-mdlint initnpx wastech-mdlint lint .Абмежаванні
- Знешнія HTTP-спасылкі не правяраюцца, дзякуючы гэтаму кожны запуск застаецца лакальным і дэтэрмінаваным.
- Уласныя правілы задаюцца толькі данымі, без канфігурацый на TypeScript або JavaScript і без плагінаў з карыстальніцкім кодам.
- Граф кантэксту будуецца нанова пры кожным запуску, інкрэментальнага кэша пакуль няма.
