markdownlint-obsidian-cli 1.0.4 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,53 @@
1
+ # Changelog
2
+
3
+ <!-- markdownlint-configure-file {
4
+ "MD013": false,
5
+ "MD024": {
6
+ "siblings_only": true
7
+ }
8
+ } -->
9
+
10
+ ## [1.1.0](https://github.com/alisonaquinas/markdownlint-obsidian/compare/markdownlint-obsidian-cliv1.0.8...markdownlint-obsidian-cliv1.1.0) (2026-05-04)
11
+
12
+ ### Features
13
+
14
+ * expose `wikilinks.resolveMode = "obsidian-fuzzy"` through CLI config files ([89d45ad](https://github.com/alisonaquinas/markdownlint-obsidian/commit/89d45ad))
15
+
16
+ ### Bug Fixes
17
+
18
+ * handle markdownlint `deleteCount = -1` sentinel without CLI crashes ([27f845e](https://github.com/alisonaquinas/markdownlint-obsidian/commit/27f845e))
19
+ * require tokenless npm trusted publishing in release workflows ([27bc013](https://github.com/alisonaquinas/markdownlint-obsidian/commit/27bc013))
20
+
21
+ ### Dependencies
22
+
23
+ * The following workspace dependencies were updated
24
+ * dependencies
25
+ * markdownlint-obsidian bumped to 1.1.0
26
+
27
+ ## [1.0.8](https://github.com/alisonaquinas/markdownlint-obsidian/compare/markdownlint-obsidian-cliv1.0.7...markdownlint-obsidian-cliv1.0.8) (2026-04-18)
28
+
29
+ ### Bug Fixes
30
+
31
+ * **cli:** point bin at dist/bin.mjs (Node shebang) not bin/*.js (bun shebang) ([463438a](https://github.com/alisonaquinas/markdownlint-obsidian/commit/463438a6452ba601ae7cf91b8f2b5e1971546932))
32
+ * **core:** disable MD028 by default — blank `>` lines between paragraphs inside OFM callouts are required syntax; MD028 produced false positives on every multi-paragraph callout ([c6c1a09](https://github.com/alisonaquinas/markdownlint-obsidian/commit/c6c1a09c3c92e340cdc4ed82bf86f3408b6634ae))
33
+ * **release:** resolve workspace:* deps before npm publish ([1228c96](https://github.com/alisonaquinas/markdownlint-obsidian/commit/1228c963f15b2fd77721d64931980cc9bbd40ad1))
34
+
35
+ ### Dependencies
36
+
37
+ * The following workspace dependencies were updated
38
+ * dependencies
39
+ * markdownlint-obsidian bumped to 1.0.2
40
+
41
+ ## [1.0.7](https://github.com/alisonaquinas/markdownlint-obsidian/compare/markdownlint-obsidian-cliv1.0.6...markdownlint-obsidian-cliv1.0.7) (2026-04-14)
42
+
43
+ ### Bug Fixes
44
+
45
+ * **cli:** point bin at dist/bin.mjs (Node shebang) not bin/*.js (bun shebang) ([463438a](https://github.com/alisonaquinas/markdownlint-obsidian/commit/463438a6452ba601ae7cf91b8f2b5e1971546932))
46
+ * **release:** resolve workspace:* deps before npm publish ([1228c96](https://github.com/alisonaquinas/markdownlint-obsidian/commit/1228c963f15b2fd77721d64931980cc9bbd40ad1))
47
+
48
+ ## [1.0.5](https://github.com/alisonaquinas/markdownlint-obsidian/compare/markdownlint-obsidian-cliv1.0.4...markdownlint-obsidian-cliv1.0.5) (2026-04-13)
49
+
50
+ ### Bug Fixes
51
+
52
+ * **cli:** point bin at dist/bin.mjs (Node shebang) not bin/*.js (bun shebang) ([463438a](https://github.com/alisonaquinas/markdownlint-obsidian/commit/463438a6452ba601ae7cf91b8f2b5e1971546932))
53
+ * **release:** resolve workspace:* deps before npm publish ([1228c96](https://github.com/alisonaquinas/markdownlint-obsidian/commit/1228c963f15b2fd77721d64931980cc9bbd40ad1))
package/README.md CHANGED
@@ -14,10 +14,15 @@ bun add -g markdownlint-obsidian-cli
14
14
  npm install -D markdownlint-obsidian-cli
15
15
  ```
16
16
 
17
+ Consumers can run the published CLI under Node.js 20+ or Bun 1.1+.
18
+
17
19
  ## Usage
18
20
 
19
21
  ```bash
20
- # Lint all markdown files
22
+ # One-off run without installing globally
23
+ npx markdownlint-obsidian-cli "**/*.md"
24
+
25
+ # After a global or local install, invoke the published binary directly
21
26
  markdownlint-obsidian "**/*.md"
22
27
 
23
28
  # Fix auto-fixable issues in place
@@ -34,6 +39,20 @@ markdownlint-obsidian --output-formatter junit "**/*.md" > junit.xml
34
39
  markdownlint-obsidian --config /path/to/project "**/*.md"
35
40
  ```
36
41
 
42
+ ## Supported runtime flags
43
+
44
+ | Flag | Description |
45
+ | --- | --- |
46
+ | `--config <path>` | Load `.obsidian-linter.jsonc` from an explicit directory or file path |
47
+ | `--fix` | Apply auto-fixable edits in place |
48
+ | `--fix-check` | Dry-run fix mode; report what would change without writing |
49
+ | `--vault-root <path>` | Override auto-detected vault root |
50
+ | `--no-resolve` | Disable vault-wide wikilink and embed resolution |
51
+ | `--output-formatter <name>` | Select `default`, `json`, `junit`, or `sarif` output |
52
+
53
+ If you omit glob arguments, the CLI falls back to the configured `globs`
54
+ property from `.obsidian-linter.jsonc`.
55
+
37
56
  ## Exit codes
38
57
 
39
58
  | Code | Meaning |
@@ -42,6 +61,19 @@ markdownlint-obsidian --config /path/to/project "**/*.md"
42
61
  | `1` | One or more lint errors found |
43
62
  | `2` | Tool or configuration failure |
44
63
 
64
+ ## Developing in this monorepo
65
+
66
+ ```bash
67
+ bun install
68
+ cd packages/cli
69
+ bun test
70
+ bun run build
71
+ ```
72
+
73
+ See [`src/README.md`](src/README.md) for the thin wrapper layout and
74
+ [`../../docs/guides/ci-integration.md`](../../docs/guides/ci-integration.md)
75
+ for pipeline recipes.
76
+
45
77
  ## License
46
78
 
47
79
  MIT
package/dist/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "1.0.4",
2
+ "version": "1.1.0",
3
3
  "type": "module"
4
4
  }
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Purpose: Defines the CLI argument schema and builds the configured commander Command.
3
+ *
4
+ * Provides: {@link buildProgram}, {@link CLIArgs}
5
+ *
6
+ * Role in system: Declares every CLI flag that `markdownlint-obsidian` accepts and wires
7
+ * them into a commander `Command` instance; intentionally separated from `main` so the
8
+ * program object can be constructed in tests without spawning the full pipeline.
9
+ *
10
+ * @module args
11
+ */
1
12
  import { Command } from "commander";
2
13
  /**
3
14
  * Parsed CLI options returned by commander.
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAqBtC"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAqBtC"}
package/dist/src/args.js CHANGED
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Purpose: Defines the CLI argument schema and builds the configured commander Command.
3
+ *
4
+ * Provides: {@link buildProgram}, {@link CLIArgs}
5
+ *
6
+ * Role in system: Declares every CLI flag that `markdownlint-obsidian` accepts and wires
7
+ * them into a commander `Command` instance; intentionally separated from `main` so the
8
+ * program object can be constructed in tests without spawning the full pipeline.
9
+ *
10
+ * @module args
11
+ */
1
12
  import { Command } from "commander";
2
13
  import { createRequire } from "node:module";
3
14
  const require = createRequire(import.meta.url);
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAyBtE;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,uBAAuB,CAAC;SAC7B,WAAW,CAAC,oDAAoD,CAAC;SACjE,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,YAAY,EAAE,iCAAiC,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,wBAAwB,EAAE,gDAAgD,CAAC;SAClF,MAAM,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,aAAa,EAAE,iDAAiD,EAAE,KAAK,CAAC;SAC/E,MAAM,CAAC,UAAU,EAAE,4CAA4C,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,YAAY,EAAE,sCAAsC,CAAC;SAC5D,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,cAAc,EAAE,6BAA6B,CAAC;SACrD,MAAM,CACL,2BAA2B,EAC3B,gDAAgD,EAChD,SAAS,CACV,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAyBtE;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,OAAO;SACJ,IAAI,CAAC,uBAAuB,CAAC;SAC7B,WAAW,CAAC,oDAAoD,CAAC;SACjE,OAAO,CAAC,OAAO,CAAC;SAChB,QAAQ,CAAC,YAAY,EAAE,iCAAiC,CAAC;SACzD,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,CAAC;SACtD,MAAM,CAAC,wBAAwB,EAAE,gDAAgD,CAAC;SAClF,MAAM,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,aAAa,EAAE,iDAAiD,EAAE,KAAK,CAAC;SAC/E,MAAM,CAAC,UAAU,EAAE,4CAA4C,EAAE,KAAK,CAAC;SACvE,MAAM,CAAC,YAAY,EAAE,sCAAsC,CAAC;SAC5D,MAAM,CAAC,qBAAqB,EAAE,mCAAmC,CAAC;SAClE,MAAM,CAAC,cAAc,EAAE,6BAA6B,CAAC;SACrD,MAAM,CACL,2BAA2B,EAC3B,gDAAgD,EAChD,SAAS,CACV,CAAC;IACJ,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;EAIZ,CAAC;AAEZ;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1D"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAsCA;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;EAIZ,CAAC;AAEZ;;;;;;;;GAQG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAY1D"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,IAAI,EACJ,GAAG,EACH,YAAY,EACZ,UAAU,GAGX,MAAM,8BAA8B,CAAC;AAkBtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC;IACR,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,CAAC;CACP,CAAC,CAAC;AAEZ;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAc;IACvC,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;IAC/B,OAAO,CAAC,YAAY,EAAE,CAAC;IAEvB,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAErD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAiB,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,IAAgB,CAAC;IAEvC,OAAO,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAMD,SAAS,SAAS,CAAC,OAAgB,EAAE,IAAc;IACjD,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAwB,CAAC;QACnC,IAAI,CAAC,CAAC,IAAI,KAAK,yBAAyB,IAAI,CAAC,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC3E,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC;QACxC,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,OAA8B,EAAE,aAAqB;IACxE,MAAM,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAClD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC,YAAY,CAAC;IACvD,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;AACtF,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB,EAAE,OAAe;IAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,UAAU,MAAM,OAAO,IAAI,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,kBAAkB,CACzB,QAA2B,EAC3B,MAA8C,EAC9C,IAAmB,EACnB,GAAW;IAEX,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1E,OAAO;QACL,KAAK,EAAE,cAAc;QACrB,GAAG;QACH,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjD,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,aAAqB,EAAE,IAAmB;IACpE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC;YACxB,GAAI,aAA2C;YAC/C,KAAK,EAAE,IAAI,CAAC,QAAQ;SACrB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;YACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC7E,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,kBAAkB,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,MAAM,KAAK,IAAI,OAAO,IAAI,KAAK,CACjF,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,aAAqB,EAAE,IAAmB;IACrE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAA2C,CAAC,CAAC;QACxE,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9E,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAmB;IAC/C,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC/E,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAA2B,EAC3B,IAAmB,EACnB,GAAW;IAEX,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,aAAa,CAAC;IAEjD,IAAI,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC,YAAY,CAAC;IAEpF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC/D,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ;QAC9B,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,IAAI,CAAC;QACnC,CAAC,CAAC,aAAa,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "markdownlint-obsidian-cli",
3
- "version": "1.0.4",
3
+ "version": "1.1.0",
4
4
  "description": "CLI for markdownlint-obsidian — lint Obsidian Flavored Markdown from the command line",
5
5
  "type": "module",
6
6
  "bin": {
@@ -28,7 +28,7 @@
28
28
  "prepublishOnly": "bun run build && bun run test"
29
29
  },
30
30
  "dependencies": {
31
- "markdownlint-obsidian": "^1.0.0",
31
+ "markdownlint-obsidian": "^1.1.0",
32
32
  "commander": "^12.0.0"
33
33
  },
34
34
  "engines": {
package/src/AGENTS.md ADDED
@@ -0,0 +1,46 @@
1
+ # AGENTS.md — Guide for AI Agents Working in `packages/cli/src`
2
+
3
+ Entry point and argument definition for the `markdownlint-obsidian` CLI.
4
+ Two files only — keep this layer thin.
5
+
6
+ ## Layout
7
+
8
+ ```text
9
+ src/
10
+ ├── args.ts # buildProgram() — commander Command + CLIArgs interface
11
+ └── main.ts # process entry: parse → engine → format → exit
12
+ ```
13
+
14
+ ## Workflows
15
+
16
+ ### Adding a flag
17
+
18
+ 1. Add the `commander` option to `buildProgram()` in `args.ts`.
19
+ 2. Extend `CLIArgs` with the new field.
20
+ 3. Read the value in `main.ts` and pass it to the engine call.
21
+ 4. Update `packages/cli/README.md`.
22
+
23
+ ### Changing exit codes
24
+
25
+ Exit codes are set explicitly in `main.ts`. The contract is:
26
+
27
+ | Code | Meaning |
28
+ | --- | --- |
29
+ | `0` | Clean run (no errors; warnings do not raise exit code) |
30
+ | `1` | One or more lint errors found |
31
+ | `2` | Tool or configuration failure |
32
+
33
+ Changing this contract is a breaking change — bump the CLI major version.
34
+
35
+ ## Invariants — Do Not Violate
36
+
37
+ - No linting logic here. All rule, parse, and format logic lives in
38
+ `packages/core`.
39
+ - `CLIArgs` fields must be `readonly`.
40
+ - `main.ts` must call `process.exit()` explicitly; do not let unhandled
41
+ errors propagate to Node.js's default non-zero exit.
42
+
43
+ ## See Also
44
+
45
+ - [packages/cli AGENTS.md](../AGENTS.md)
46
+ - [Root AGENTS.md](../../../AGENTS.md)
package/src/CLAUDE.md ADDED
@@ -0,0 +1,3 @@
1
+ # Claude Guidance
2
+
3
+ See [AGENTS.md](./AGENTS.md) for the authoritative instructions for this directory.
package/src/README.md ADDED
@@ -0,0 +1,22 @@
1
+ # packages/cli/src
2
+
3
+ Thin source layer for the `markdownlint-obsidian-cli` package.
4
+
5
+ ## Files
6
+
7
+ | File | Responsibility |
8
+ | --- | --- |
9
+ | [`args.ts`](args.ts) | Defines the commander program and supported flag schema |
10
+ | [`main.ts`](main.ts) | Parses arguments, calls the core engine, formats output, and returns exit codes |
11
+
12
+ ## Edit routing
13
+
14
+ - Change the user-facing CLI surface in `args.ts`.
15
+ - Change option handling, output emission, or exit behavior in `main.ts`.
16
+ - Keep all linting behavior in `../../core/`; this package should only
17
+ orchestrate process-level concerns.
18
+
19
+ ## See also
20
+
21
+ - [`../README.md`](../README.md)
22
+ - [`AGENTS.md`](AGENTS.md)
package/src/args.ts CHANGED
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Purpose: Defines the CLI argument schema and builds the configured commander Command.
3
+ *
4
+ * Provides: {@link buildProgram}, {@link CLIArgs}
5
+ *
6
+ * Role in system: Declares every CLI flag that `markdownlint-obsidian` accepts and wires
7
+ * them into a commander `Command` instance; intentionally separated from `main` so the
8
+ * program object can be constructed in tests without spawning the full pipeline.
9
+ *
10
+ * @module args
11
+ */
1
12
  import { Command } from "commander";
2
13
  import { createRequire } from "node:module";
3
14
 
package/src/main.ts CHANGED
@@ -1,3 +1,14 @@
1
+ /**
2
+ * Purpose: Entry point for the `markdownlint-obsidian` CLI binary.
3
+ *
4
+ * Provides: {@link main}, {@link EXIT_CODES}
5
+ *
6
+ * Role in system: Parses arguments via {@link buildProgram}, loads config, selects the
7
+ * lint or fix pipeline branch, formats and prints results, and returns a POSIX exit code
8
+ * (0 = clean, 1 = lint errors, 2 = tool failure) that the bin shim passes to `process.exit`.
9
+ *
10
+ * @module main
11
+ */
1
12
  import type { Command } from "commander";
2
13
  import { buildProgram } from "./args.js";
3
14
  import {