-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.markdownlint-cli2.jsonc
More file actions
60 lines (60 loc) · 3.18 KB
/
Copy path.markdownlint-cli2.jsonc
File metadata and controls
60 lines (60 loc) · 3.18 KB
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
{
// markdownlint-cli2 config: a single source of truth read identically by the CLI (check-markdown script, the lint-post-tool hook) and the
// VS Code markdownlint extension. The in-editor extension does NOT read .markdownlintignore (only the cli2 `ignores` below), which is why
// scratch files under tmp/ used to leak MD041 warnings into the agent's context via <ide_diagnostics> even though the CLI ignored them.
"config": {
"default": true,
// MD013 (line-length): we wrap prose at ~160, not 80.
"MD013": false,
// MD024 (no-duplicate-heading): allow the same subheading text under different parents (e.g. "Official Resources" per framework); still flags true duplicates within one section.
"MD024": { "siblings_only": true },
// MD038 (no-space-in-code-span): our skill/spec docs quote literal string fragments in code spans where a leading/trailing space is significant (e.g. " no push", " merge", " ("). --fix strips those spaces and silently corrupts the documented contract (e.g. turns " (" into "(" right beside prose that says "single space + opening paren"). Off.
"MD038": false,
// MD060 (table-column-style): newly default-on in markdownlint 0.40 and has NO auto-fixer, so `--fix` can never repair it — every existing
// table (delimiter rows without the single-space padding the data rows use) fails forever. With style "any" it also flip-flops between
// "compact" and "aligned" per table, so there is no stable target to hand-fix toward. Purely cosmetic; our GFM tables are already readable. Off.
"MD060": false
},
// Glob patterns to skip (micromatch, relative to this file's directory). No `globs` key on purpose: invocations pass their own targets
// (the script passes globs as CLI args; the hook/pre-commit pass explicit file paths), so explicit-file runs stay scoped while ignores still apply.
"ignores": [
"**/node_modules/**",
"**/CHANGELOG.md",
".agents/skills/**",
".claude/skills/**",
// `/start wt` worktrees are full second checkouts of this repo owned by OTHER live sessions. The check script runs
// markdownlint-cli2 in --fix (write) mode, so without this a routine `pnpm check` edits a sibling session's working
// tree — the exact multi-session violation standards/git.md exists to prevent, and invisible because --fix reports
// it as a fix rather than a conflict. Each worktree lints itself from its own checkout.
".claude/worktrees/**",
"backups/**",
"cache/**",
"chrome/**",
"daemon/**",
"debug/**",
"file-history/**",
"ide/**",
"jobs/**",
"launchd/**",
"locks/**",
"logs/**",
"node_modules/**",
"paste_cache/**",
"plans/**",
"plugins/**",
"projects/**",
"session-env/**",
"sessions/**",
"shell-snapshots/**",
// Vendored skills installed via update.sh (vercel-labs/*) — update.sh overwrites them, so linting/fixing here is churn that gets blown away. Authored skills under skills/ are linted.
"skills/agent-browser/**",
"skills/skill-creator/**",
"skills/vercel-composition-patterns/**",
"skills/vercel-react-best-practices/**",
"tasks/**",
"teams/**",
"telemetry/**",
"tmp/**",
"volumes/**"
]
}