You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`lint.js` is the canonical entry point for manual, CI, and agent-driven execution
49
-
- Documentation, config, formatter behavior, and governance claims must stay synchronized
50
-
51
-
---
52
-
53
-
## For End Users
54
-
55
-
### Prerequisites
56
-
57
-
Before installing, ensure your environment meets the following requirements:
58
-
59
-
-**Hermes CLI** — Required to install the skill. The `post-write.js` hook is an optional safety net.
60
-
-**Node.js (v18+)** — The linting pipeline relies on native Node.js scripts and `npx` to dynamically fetch `markdownlint-cli2` without requiring global installations.
61
-
-**Cross-Platform** — The pipeline runs natively on Linux, macOS, and Windows. No WSL or Git Bash required!
The `--force` flag is required because the security scanner flags post-write hooks as dangerous (expected for a linting skill).
70
-
71
-
### Post-Install: Hook (Optional Safety Net)
72
-
73
-
The skill already instructs the AI agent to automatically lint every markdown file it writes. For guaranteed enforcement even if the agent skips the instruction, you can add a system-level hook:
- Set MD060 to `aligned` to match formatter behavior.
283
-
- Added `scripts/check-consistency.js` to prevent config/docs drift.
284
-
- Added GitHub Actions CI for consistency, formatter tests, fence validation, table validation, and final lint checks.
285
-
- Clarified agent governance and deterministic formatting philosophy.
286
-
287
-
### Key Changes in v2.9
288
-
289
-
- Replaced `jq` dependency with zero-dependency Node.js extraction in `post-write.js`.
290
-
- Replaced brittle bash regex `check-fences.sh` with a native `check-fences.js` script.
291
-
- Significantly improved `lint.js` bulk execution performance (node processes run once instead of per-file).
292
-
- **Refactored entirely to pure Node.js**: Replaced `lint.sh` and `post-write.sh` bash wrappers with native `.js` scripts. The pipeline is now 100% cross-platform (Windows native) and immune to `chmod +x` permission denied errors.
293
-
- **Single-pass table formatting**: Merged `fix-tables.js` + `pad-tables.js` into `format-tables.js` — halves I/O per file.
294
-
295
-
### Key Changes in v2.8
296
-
297
-
- Add `--fences` mode to `lint.js` for fenced code block validation
298
-
- Add `scripts/check-fences.js` — validates code fences natively in Node.js
299
-
- Disable MD055 (table-pipe-style) — no longer enforces leading/trailing `|` on tables
300
-
- Disable MD033 (no-inline-html) — inline HTML is allowed in GFM
301
-
- Sync `skills/markdown-lint/lint.js` with root `lint.js` (all flags now available)
302
-
303
-
### Key Changes in v2.7
304
-
305
-
- Add `--validate` mode to `format-tables.js` and `lint.js` to catch table column mismatches
306
-
- Add "Preventing Broken Tables" section with escaped pipe guidance
307
-
308
-
### Key Changes in v2.6
309
-
310
-
- Add Node.js hook `scripts/post-write.js` for auto-lint on write_file
311
-
- Add to `~/.hermes/config.yaml` to enable auto-lint
312
-
- Enable MD032 (blanks-around-lists) — lists must be surrounded by blank lines
313
-
- Enable MD060 (table-column-style) — table pipes must align with header content
314
-
- Add `hooks_auto_accept: true` for silent auto-lint on write
315
-
316
-
### Key Changes in v2.5
317
-
318
-
- Disable MD040 (fenced-code-language) and MD055 (table-pipe-style) — too strict for prose
319
-
- Fix column alignment to match VSCode/marktext format (header.length - 1)
320
-
- Remove glob dependency, use recursive fs.walk instead
0 commit comments