@gspothq/cli 0.1.1 → 0.2.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.
Files changed (205) hide show
  1. package/README.md +58 -11
  2. package/configurations/database/postgres/manifest.toml +51 -57
  3. package/configurations/database/postgres/rules/POSTGRES.md +14 -13
  4. package/configurations/framework/astro/manifest.toml +33 -35
  5. package/configurations/framework/astro/rules/ASTRO.md +2 -2
  6. package/configurations/framework/expo/manifest.toml +19 -19
  7. package/configurations/framework/express/manifest.toml +10 -4
  8. package/configurations/framework/express/rules/EXPRESS.md +9 -7
  9. package/configurations/framework/fastapi/manifest.toml +9 -3
  10. package/configurations/framework/fastapi/rules/FASTAPI.md +19 -18
  11. package/configurations/framework/nestjs/manifest.toml +12 -12
  12. package/configurations/framework/nestjs/rules/NESTJS.md +9 -9
  13. package/configurations/framework/nextjs/manifest.toml +39 -79
  14. package/configurations/framework/nextjs/rules/NEXTJS.md +9 -7
  15. package/configurations/framework/nextjs/tool-files/semgrep/nextjs.yml +35 -0
  16. package/configurations/framework/react/manifest.toml +33 -43
  17. package/configurations/framework/react/rules/REACT.md +14 -20
  18. package/configurations/framework/react-dom/manifest.toml +6 -6
  19. package/configurations/framework/react-native/manifest.toml +11 -11
  20. package/configurations/framework/react-native/rules/REACT-NATIVE.md +3 -5
  21. package/configurations/framework/site/manifest.toml +57 -110
  22. package/configurations/framework/site/rules/SITE.md +1 -1
  23. package/configurations/framework/svelte/manifest.toml +29 -31
  24. package/configurations/framework/svelte/rules/SVELTE.md +6 -6
  25. package/configurations/framework/vue/manifest.toml +37 -37
  26. package/configurations/framework/vue/rules/VUE.md +6 -6
  27. package/configurations/general/commits/manifest.toml +20 -84
  28. package/configurations/general/commits/rules/GIT.md +24 -13
  29. package/configurations/general/coverage/manifest.toml +1 -1
  30. package/configurations/general/dependencies/manifest.toml +47 -107
  31. package/configurations/general/dependencies/rules/DEPENDENCIES.md +13 -7
  32. package/configurations/general/docs/manifest.toml +28 -43
  33. package/configurations/general/docs/rules/DOCS.md +16 -9
  34. package/configurations/general/duplication/manifest.toml +12 -14
  35. package/configurations/general/engineering/manifest.toml +6 -2
  36. package/configurations/general/engineering/rules/agent/PLANNING.md +9 -6
  37. package/configurations/general/engineering/rules/agent/SUPPRESSIONS.md +20 -11
  38. package/configurations/general/engineering/rules/agent/TASKS.md +6 -2
  39. package/configurations/general/engineering/rules/agent/WORKING.md +34 -29
  40. package/configurations/general/engineering/rules/code/ACCESSIBILITY.md +9 -7
  41. package/configurations/general/engineering/rules/code/CLI.md +12 -9
  42. package/configurations/general/engineering/rules/code/COMMENTS.md +11 -1
  43. package/configurations/general/engineering/rules/code/CONFIGURATION.md +2 -0
  44. package/configurations/general/engineering/rules/code/ERRORS.md +5 -3
  45. package/configurations/general/engineering/rules/code/HTTP.md +9 -10
  46. package/configurations/general/engineering/rules/code/LOGGING.md +10 -9
  47. package/configurations/general/engineering/rules/code/TESTING.md +18 -11
  48. package/configurations/general/files/manifest.toml +45 -73
  49. package/configurations/general/files/rules/YAML.md +20 -10
  50. package/configurations/general/format/manifest.toml +53 -106
  51. package/configurations/general/gspot/manifest.toml +19 -39
  52. package/configurations/general/gspot/rules/GENERATED.md +14 -4
  53. package/configurations/general/licenses/manifest.toml +12 -14
  54. package/configurations/general/naming/defaults.json +14 -13
  55. package/configurations/general/naming/manifest.toml +17 -17
  56. package/configurations/general/naming/rules/NAMING.md +87 -67
  57. package/configurations/general/prose/manifest.toml +166 -25
  58. package/configurations/general/prose/rules/WRITING.md +6 -2
  59. package/configurations/general/repository/manifest.toml +12 -12
  60. package/configurations/general/secrets/manifest.toml +52 -73
  61. package/configurations/general/secrets/rules/SECRETS.md +3 -1
  62. package/configurations/general/security/manifest.toml +29 -52
  63. package/configurations/general/security/rules/SECURITY.md +8 -6
  64. package/configurations/general/spelling/manifest.toml +15 -25
  65. package/configurations/general/structure/manifest.toml +31 -31
  66. package/configurations/infrastructure/ansible/manifest.toml +15 -15
  67. package/configurations/infrastructure/docker/manifest.toml +55 -67
  68. package/configurations/infrastructure/docker/rules/DOCKER.md +15 -13
  69. package/configurations/infrastructure/github-actions/manifest.toml +21 -41
  70. package/configurations/infrastructure/github-actions/rules/GITHUB-ACTIONS.md +16 -12
  71. package/configurations/infrastructure/github-actions/tool-files/zizmor.yml +5 -0
  72. package/configurations/infrastructure/nginx/manifest.toml +20 -20
  73. package/configurations/infrastructure/nginx/rules/NGINX.md +5 -4
  74. package/configurations/infrastructure/openapi/manifest.toml +20 -20
  75. package/configurations/infrastructure/openapi/rules/OPENAPI.md +3 -1
  76. package/configurations/infrastructure/xcode/manifest.toml +55 -75
  77. package/configurations/infrastructure/xcode/rules/XCODE.md +5 -3
  78. package/configurations/language/bash/manifest.toml +89 -170
  79. package/configurations/language/bash/rules/BASH.md +79 -17
  80. package/configurations/language/bash/rules/LANGUAGE.md +30 -26
  81. package/configurations/language/bash/rules/OPERATIONS.md +10 -8
  82. package/configurations/language/bash/rules/SAFETY.md +39 -35
  83. package/configurations/language/css/manifest.toml +22 -61
  84. package/configurations/language/css/rules/CSS.md +21 -2
  85. package/configurations/language/css/rules/TAILWIND.md +7 -5
  86. package/configurations/language/html/manifest.toml +16 -35
  87. package/configurations/language/html/rules/HTML.md +23 -5
  88. package/configurations/language/javascript/eslint-runtime-names.json +66 -61
  89. package/configurations/language/javascript/eslint-runtime.mjs +118 -0
  90. package/configurations/language/javascript/manifest.toml +135 -207
  91. package/configurations/language/javascript/rules/BUN.md +2 -2
  92. package/configurations/language/javascript/rules/COMPONENTS.md +4 -4
  93. package/configurations/language/javascript/rules/DENO.md +1 -1
  94. package/configurations/language/javascript/rules/JAVASCRIPT.md +30 -17
  95. package/configurations/language/javascript/rules/NODE.md +2 -2
  96. package/configurations/language/javascript/rules/PLAYWRIGHT.md +10 -9
  97. package/configurations/language/markdown/manifest.toml +20 -51
  98. package/configurations/language/python/manifest.toml +231 -342
  99. package/configurations/language/python/rules/DESIGN.md +40 -33
  100. package/configurations/language/python/rules/FLOW.md +8 -6
  101. package/configurations/language/python/rules/PACKAGING.md +14 -7
  102. package/configurations/language/python/rules/PYTHON.md +83 -33
  103. package/configurations/language/python/rules/TYPING.md +25 -23
  104. package/configurations/language/sql/manifest.toml +19 -37
  105. package/configurations/language/sql/rules/SQL.md +90 -2
  106. package/configurations/language/swift/manifest.toml +67 -78
  107. package/configurations/language/swift/rules/SWIFT.md +138 -40
  108. package/configurations/language/swift/rules/SWIFTUI.md +11 -9
  109. package/configurations/language/swift/rules/UIKIT.md +21 -19
  110. package/configurations/language/typescript/manifest.toml +34 -34
  111. package/configurations/language/typescript/rules/TYPESCRIPT.md +62 -10
  112. package/configurations/library/drizzle/manifest.toml +25 -38
  113. package/configurations/library/drizzle/rules/DRIZZLE.md +4 -2
  114. package/configurations/library/react-hook-form/manifest.toml +4 -4
  115. package/configurations/library/react-hook-form/rules/REACT-HOOK-FORM.md +15 -13
  116. package/configurations/library/tanstack-query/manifest.toml +6 -6
  117. package/configurations/library/tanstack-query/rules/TANSTACK-QUERY.md +5 -3
  118. package/configurations/library/testing-library/manifest.toml +6 -6
  119. package/configurations/library/translations/manifest.toml +22 -22
  120. package/configurations/library/translations/rules/NEXT-INTL.md +6 -8
  121. package/configurations/library/translations/rules/TRANSLATIONS.md +22 -23
  122. package/configurations/library/trpc/manifest.toml +3 -3
  123. package/configurations/library/trpc/rules/TRPC.md +8 -6
  124. package/configurations/library/zod/manifest.toml +6 -6
  125. package/configurations/library/zod/rules/ZOD.md +4 -2
  126. package/configurations/library/zustand/manifest.toml +4 -4
  127. package/configurations/library/zustand/rules/ZUSTAND.md +16 -14
  128. package/configurations/platform/cloudflare/manifest.toml +28 -47
  129. package/configurations/platform/cloudflare/rules/CLOUDFLARE.md +11 -6
  130. package/configurations/platform/supabase/manifest.toml +48 -61
  131. package/configurations/platform/supabase/rules/SUPABASE.md +27 -28
  132. package/configurations/testing/jest/manifest.toml +21 -22
  133. package/configurations/testing/pytest/manifest.toml +28 -28
  134. package/configurations/testing/swift-tests/manifest.toml +18 -29
  135. package/configurations/testing/swift-tests/rules/SWIFT-TESTS.md +7 -5
  136. package/configurations/testing/vitest/manifest.toml +32 -32
  137. package/configurations/testing/vitest/rules/VITEST.md +3 -1
  138. package/dist/gspot.js +22297 -24707
  139. package/dist/{linkinator-program.js → linkinator-process.js} +5 -7
  140. package/dist/{purgecss-program.js → purgecss-process.js} +12 -12
  141. package/package.json +7 -9
  142. package/configurations/infrastructure/github-actions/zizmor.yml +0 -3
  143. package/configurations/language/bash/rules/NAMING.md +0 -62
  144. package/configurations/language/css/rules/NAMING.md +0 -17
  145. package/configurations/language/html/rules/NAMING.md +0 -16
  146. package/configurations/language/javascript/rules/NAMING.md +0 -31
  147. package/configurations/language/markdown/markdownlint-cli2.mjs +0 -19
  148. package/configurations/language/python/rules/NAMING.md +0 -53
  149. package/configurations/language/sql/rules/NAMING.md +0 -90
  150. package/configurations/language/swift/rules/NAMING.md +0 -88
  151. package/configurations/language/typescript/rules/NAMING.md +0 -73
  152. package/configurations/library/swift-snapshot-testing/manifest.toml +0 -32
  153. package/dist/THIRD-PARTY-NOTICES.md +0 -25
  154. package/dist/eslint-rule-levels.json +0 -10
  155. package/dist/tool-versions.json +0 -3
  156. package/gspot.schema.json +0 -45991
  157. /package/{dist/LICENSE.md → LICENSE.md} +0 -0
  158. /package/configurations/framework/express/{semgrep → tool-files/semgrep}/express.yml +0 -0
  159. /package/configurations/framework/fastapi/{semgrep → tool-files/semgrep}/fastapi.yml +0 -0
  160. /package/configurations/general/dependencies/{syncpack.json → tool-files/syncpack.json} +0 -0
  161. /package/configurations/general/prose/{vale → tool-files/vale}/styles/LICENSES.md +0 -0
  162. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/ampm.yml +0 -0
  163. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/conscious-language.yml +0 -0
  164. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/contractions.yml +0 -0
  165. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/currency.yml +0 -0
  166. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/dashes.yml +0 -0
  167. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/date-ordinals.yml +0 -0
  168. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/dates.yml +0 -0
  169. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/file-paths.yml +0 -0
  170. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/future.yml +0 -0
  171. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/hedging.yml +0 -0
  172. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/history.yml +0 -0
  173. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/idioms.yml +0 -0
  174. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/interface-verbs.yml +0 -0
  175. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/jargon.yml +0 -0
  176. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/leading-conjunctions.yml +0 -0
  177. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/link-text.yml +0 -0
  178. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/locations.yml +0 -0
  179. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/marketing.yml +0 -0
  180. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/merge-conflict-markers.yml +0 -0
  181. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/militaristic-language.yml +0 -0
  182. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/modals.yml +0 -0
  183. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/numbered-units.yml +0 -0
  184. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/obvious-fields.yml +0 -0
  185. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/ordinal-adverbs.yml +0 -0
  186. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/percentage-numbers.yml +0 -0
  187. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/placeholders.yml +0 -0
  188. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/product-centric-writing.yml +0 -0
  189. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/punctuated-headings.yml +0 -0
  190. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/self-reference.yml +0 -0
  191. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/session-identifiers.yml +0 -0
  192. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/since.yml +0 -0
  193. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/straight-quotes.yml +0 -0
  194. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/suspended-hyphens.yml +0 -0
  195. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/symbols.yml +0 -0
  196. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/time-ranges.yml +0 -0
  197. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/url-prepositions.yml +0 -0
  198. /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/version-range.yml +0 -0
  199. /package/configurations/general/secrets/{gitleaks.toml → tool-files/gitleaks.toml} +0 -0
  200. /package/configurations/infrastructure/docker/{trivyignore → tool-files/trivyignore} +0 -0
  201. /package/configurations/language/bash/{semgrep → tool-files/semgrep}/bash.yml +0 -0
  202. /package/configurations/language/javascript/{semgrep → tool-files/semgrep}/javascript.yml +0 -0
  203. /package/configurations/language/swift/{semgrep → tool-files/semgrep}/swift.yml +0 -0
  204. /package/configurations/platform/cloudflare/{semgrep → tool-files/semgrep}/cloudflare.yml +0 -0
  205. /package/configurations/platform/supabase/{semgrep → tool-files/semgrep}/supabase.yml +0 -0
@@ -1,37 +1,41 @@
1
1
  # JavaScript
2
2
 
3
- Keep development tooling out of production runtime imports. Keep inputs and side effects explicit.
4
- Validate external values where the program receives them, before sending them to a database or another service.
5
- These values include HTTP bodies, query strings, route params, headers, environment variables, and database rows.
6
- Also validate remote procedure call results, provider responses, file input, generated data sources, webhooks, and scheduled-job payloads.
7
- If a check and this file disagree, tell the user.
3
+ Read this rule when you change JavaScript or TypeScript code.
4
+
5
+ Keep development tools out of production runtime imports. Keep inputs and side effects explicit. Validate the
6
+ values that the security rules list where the program receives them, before you send them to a database or another
7
+ service.
8
8
 
9
9
  ## Runtime
10
10
 
11
- Use APIs supported by the runtime and version the project declares. Browser code targets the
12
- browsers and build pipeline the project declares. Before adding a build step that needs another
13
- runtime, update the declared runtime configuration and documentation.
11
+ Use APIs supported by the runtime and version the project declares. Browser code follows the
12
+ declared targets and build pipeline. Before adding a build step that needs another
13
+ runtime, declare it in the configuration and documentation.
14
14
 
15
15
  ## Modules
16
16
 
17
- Keep existing CommonJS modules CommonJS unless the task includes migrating them. Keep side-effect
18
- imports rare and explain their required effect. Browser code imports no server implementation.
17
+ Do not convert existing CommonJS modules unless the task includes migrating them. Keep side-effect
18
+ imports rare and explain what each one does. Browser code imports no server implementation.
19
19
 
20
20
  ### Module conventions
21
21
 
22
22
  <!-- level: all -->
23
23
 
24
- - Prefer named imports and named exports.
25
- - Avoid mutable exports and default exports in application modules. Preserve a default export
24
+ - Prefer named imports and exports.
25
+ - Avoid mutable and default exports in application modules. Preserve a default export
26
26
  when a tool or framework requires it.
27
27
  - Do not create container classes or exported objects only to simulate a namespace.
28
- - Keep JSDoc `@typedef` declarations with their behavioral owner, following the project's folder
28
+ - Keep JSDoc `@typedef` declarations in the module that uses them, following the project's folder
29
29
  arrangement. Share them through type imports when another module needs the contract.
30
30
  - Import the module that declares a symbol. A library can explicitly select index-only re-exports.
31
+ - Name a namespace import after its file or package, such as `fileOne` for `file-one.js`.
32
+ - Keep the exported name of an import. Add an alias only when two imports collide, and name it for its
33
+ domain, such as `DomesticatedCat`.
34
+ - Use a default import only for a package that requires one, and name it for the exported value.
31
35
 
32
36
  ## Values
33
37
 
34
- - Use frozen objects or plain constant objects for fixed value sets.
38
+ - Use frozen or plain constant objects for fixed value sets.
35
39
  - Avoid truthiness checks when `0`, `''`, `false`, `null`, and `undefined` mean different things.
36
40
  - Use `null` for a meaningful domain value and `undefined` for missing object properties.
37
41
  - Use `??` when only `null` and `undefined` require a fallback. Do not use `||` when an empty
@@ -41,14 +45,13 @@ imports rare and explain their required effect. Browser code imports no server i
41
45
 
42
46
  ## Objects and functions
43
47
 
44
- Use object literals for grouped arguments and destructure fields when it makes their use clearer.
48
+ Use object literals for grouped arguments, and destructure fields when that makes the code clearer.
45
49
  A function that mutates its input names and documents that effect.
46
50
 
47
51
  ### Function conventions
48
52
 
49
53
  <!-- level: all -->
50
54
 
51
- - Use an options object for several related arguments.
52
55
  - Do not add optional parameters to hide a broken caller contract.
53
56
  - Use early returns when they make missing-value and error handling clearer.
54
57
  - Keep constructors small. Add inheritance only for a real runtime relationship.
@@ -57,4 +60,14 @@ A function that mutates its input names and documents that effect.
57
60
  ## Asynchronous work
58
61
 
59
62
  Await a promise that must finish before the next step. Release child processes, subscriptions,
60
- and other resources in `finally` or the API's cleanup mechanism.
63
+ and other resources in `finally` or the cleanup mechanism of the API.
64
+
65
+ ## Workspaces
66
+
67
+ <!-- level: all -->
68
+
69
+ - Each workspace package builds itself. Its build file lives in it and imports only its own files.
70
+ - Code outside a package uses its public entry points and its `package.json`, never its source files. Tests may read source files.
71
+ - Declare each dependency in the workspace package that imports it, not in the root `package.json`.
72
+ - Pass a value between packages through a declared setting or a public API, never a
73
+ file that a build writes.
@@ -1,11 +1,11 @@
1
1
  # Node
2
2
 
3
- Rules that hold because the code runs on Node, whatever language the project uses.
3
+ Read this rule when code runs on Node.
4
4
 
5
5
  ## Module resolution
6
6
 
7
7
  - Unbundled compiled TypeScript follows Node module resolution. Runtime imports must resolve
8
- in the emitted output; a `.js` import can identify the corresponding TypeScript source.
8
+ in the compiled output; a `.js` import can name its TypeScript source.
9
9
  - Preserve the declared bundler or direct TypeScript execution contract when the project uses one.
10
10
  - Do not rely on CommonJS and ES module interop working by accident. A file declares its module format,
11
11
  through the package type field or its extension.
@@ -1,14 +1,16 @@
1
1
  # Playwright
2
2
 
3
+ Read this rule when you write or change a Playwright test.
4
+
3
5
  ## Tests
4
6
 
5
7
  - Give each test a coherent user journey with independent setup and observable assertions.
6
8
  - Query by role and accessible name such as `getByRole('button', { name: 'Submit' })`, then by label,
7
9
  placeholder, or text.
8
10
  - Do not use fixed waits such as `waitForTimeout`. Wait for the visible state, response, or URL that proves
9
- the operation completed. Network inactivity alone does not establish readiness.
10
- - Every test starts from a known state it creates through the application's real setup (API or
11
- UI), not from shared seed data or another test's leftovers.
11
+ the operation finished. Network inactivity alone does not establish readiness.
12
+ - Start every test from a known state that the application creates through its API or its UI.
13
+ Never start from shared seed data or leftovers.
12
14
  - Assertions use the auto-retrying `expect(locator)` matchers. No manual polling loops.
13
15
  - A test never reads or writes production data. The base URL and credentials come from the
14
16
  project configuration for each environment.
@@ -18,17 +20,16 @@
18
20
  - Keep shared setup in the test support folder. Introduce page objects only when
19
21
  several tests repeat the same interactions.
20
22
  - Reuse isolated authentication state for tests that do not exercise login. Login tests verify
21
- the actual authentication journey. Keep account state isolated between concurrent workers.
23
+ the full authentication journey. Keep account state isolated between concurrent workers.
22
24
 
23
25
  ## Configuration
24
26
 
25
27
  - Use the configuration files declared by the repository. Name projects so failures identify
26
28
  their browser, viewport, or other relevant execution context.
27
- - Declare the retry policy in the project configuration. Report retried passes separately from
28
- first-attempt passes.
29
- - Configure trace, screenshot, and video retention for the required diagnostics. Upload failure
29
+ - Declare the retry policy in the project configuration. Report retried passes apart from
30
+ first-attempt ones.
31
+ - Configure trace, screenshot, and video retention for the failure evidence the project needs. Upload failure
30
32
  artifacts, restrict access, and avoid capturing credentials or unrelated private data.
31
33
  - Enable parallel execution only when each test has its own accounts and mutable resources.
32
34
  Document any scenario that requires serial execution.
33
- - Test the production build for release acceptance. Use a development server only when development
34
- the test covers that behavior.
35
+ - Test the production build for release acceptance. Use a development server only for behavior that the production build lacks.
@@ -1,85 +1,54 @@
1
1
  allowed_words = ["Markdown", "lychee"]
2
+
2
3
  [configuration]
3
- title = "Markdown"
4
4
  description = "Markdown files: markdownlint, Prettier, and fenced code blocks that must parse."
5
+ title = "Markdown"
5
6
 
6
7
  [files]
7
8
  extensions = [".md", ".mdx"]
8
9
 
9
10
  [[tool]]
11
+ mise = "npm:markdownlint-cli2"
10
12
  name = "markdownlint-cli2"
13
+ npm = "markdownlint-cli2"
14
+ replace = [".markdownlint-cli2.jsonc", ".markdownlint-cli2.yaml", ".markdownlint-cli2.cjs", ".markdownlint-cli2.mjs", ".markdownlint.json", ".markdownlint.jsonc", ".markdownlint.yaml", ".markdownlint.yml"]
11
15
  rule_url = "https://github.com/DavidAnson/markdownlint/blob/main/doc/{rule}.md"
12
16
  suppression = { marker = "\\bmarkdownlint-disable(?:-line|-next-line|-file)?\\b", reason = " -- (?<reason>\\S(?:[\\s\\S]*?\\S)?)\\s*(?:--!?>)?$" }
13
17
  version = "0.23.3"
14
- npm = "markdownlint-cli2"
15
- mise = "npm:markdownlint-cli2"
16
18
  version_command = ["--help"]
17
19
  version_exit_code = 2
18
20
  version_pattern = "markdownlint-cli2 v(\\d+\\.\\d+\\.\\d+)"
19
- [[tool.replace]]
20
- file = ".markdownlint-cli2.jsonc"
21
- shared = false
22
-
23
- [[tool.replace]]
24
- file = ".markdownlint-cli2.yaml"
25
- shared = false
26
-
27
- [[tool.replace]]
28
- file = ".markdownlint-cli2.cjs"
29
- shared = false
30
-
31
- [[tool.replace]]
32
- file = ".markdownlint-cli2.mjs"
33
- shared = false
34
-
35
- [[tool.replace]]
36
- file = ".markdownlint.json"
37
- shared = false
38
-
39
- [[tool.replace]]
40
- file = ".markdownlint.jsonc"
41
- shared = false
42
-
43
- [[tool.replace]]
44
- file = ".markdownlint.yaml"
45
- shared = false
46
-
47
- [[tool.replace]]
48
- file = ".markdownlint.yml"
49
- shared = false
50
21
 
51
22
  [[tool_file]]
23
+ per_scope = true
52
24
  target = ".gspot/config/markdownlint.jsonc"
53
25
  tool = "markdownlint-cli2"
54
- per_scope = true
55
- rule_keys = [""]
56
26
 
57
27
  [[tool_file]]
58
- source = "markdownlint-cli2.mjs"
59
- target = ".gspot/config/markdownlint-cli2.mjs"
60
- tool = "markdownlint-cli2"
61
28
  per_scope = true
62
29
  pointer = { path = ".markdownlint-cli2.mjs", body = "export { default } from {target_module};", when = { configuration = "javascript" } }
30
+ target = ".gspot/config/markdownlint-cli2.mjs"
31
+ tool = "markdownlint-cli2"
63
32
 
64
33
  [[check]]
65
- name = "markdownlint"
66
- example = "A heading that jumps from level one to level three reports MD001. Change the later heading to level two."
67
- run_in_copy = true
68
- level = "recommended"
69
- stage = "commit"
70
34
  command = ["markdownlint-cli2", "--no-globs", "--config", "{tool_file:markdownlint-cli2}", "{files}"]
71
- fix = ["markdownlint-cli2", "--fix", "--no-globs", "--config", "{tool_file:markdownlint-cli2}", "{files}"]
35
+ example = "A heading that jumps from level one to level three reports MD001. Change the later heading to level two."
72
36
  exit_codes = [1]
37
+ fix = ["markdownlint-cli2", "--fix", "--no-globs", "--config", "{tool_file:markdownlint-cli2}", "{files}"]
38
+ help = "Run `gspot check --fix` for the rules that fix themselves; read the rule name for the rest."
39
+ level = "recommended"
40
+ name = "markdownlint"
73
41
  output = { format = "markdownlint" }
42
+ run_in_copy = true
43
+ stage = "commit"
74
44
  summary = "Checks every Markdown file against markdownlint with the shipped rule set."
75
- why = "Markdown that lints the same everywhere renders the same everywhere."
76
- help = "Run gspot check --fix for the rules that fix themselves; read the rule name for the rest."
45
+ why = "Consistent Markdown renders the same in every viewer."
77
46
 
78
47
  [[check]]
79
- name = "fences"
80
- example = "A code fence labeled `bash` containing `if then` reports invalid syntax. Correct the example to valid Bash. Use a text fence only when the block represents text rather than executable code."
48
+ example = "A `bash` fence with `if then` reports a syntax error. Correct the Bash, or label the block `text` when it holds no code."
49
+ help = "Fix the code, or label the block `text` when it holds prose."
81
50
  level = "recommended"
51
+ name = "fences"
82
52
  stage = "commit"
83
53
  summary = "Checks JSON, JSONC, TOML, YAML, Bash, JavaScript, JSX, TypeScript, TSX, and Python code fences in Markdown (.md) files for syntax errors."
84
- why = "A code block that does not parse is documentation that lies about the code."
85
- help = "Fix the code in the block, or tag the block text when it is not code."
54
+ why = "A code block that fails to parse shows readers a program that cannot run."