@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.
- package/README.md +58 -11
- package/configurations/database/postgres/manifest.toml +51 -57
- package/configurations/database/postgres/rules/POSTGRES.md +14 -13
- package/configurations/framework/astro/manifest.toml +33 -35
- package/configurations/framework/astro/rules/ASTRO.md +2 -2
- package/configurations/framework/expo/manifest.toml +19 -19
- package/configurations/framework/express/manifest.toml +10 -4
- package/configurations/framework/express/rules/EXPRESS.md +9 -7
- package/configurations/framework/fastapi/manifest.toml +9 -3
- package/configurations/framework/fastapi/rules/FASTAPI.md +19 -18
- package/configurations/framework/nestjs/manifest.toml +12 -12
- package/configurations/framework/nestjs/rules/NESTJS.md +9 -9
- package/configurations/framework/nextjs/manifest.toml +39 -79
- package/configurations/framework/nextjs/rules/NEXTJS.md +9 -7
- package/configurations/framework/nextjs/tool-files/semgrep/nextjs.yml +35 -0
- package/configurations/framework/react/manifest.toml +33 -43
- package/configurations/framework/react/rules/REACT.md +14 -20
- package/configurations/framework/react-dom/manifest.toml +6 -6
- package/configurations/framework/react-native/manifest.toml +11 -11
- package/configurations/framework/react-native/rules/REACT-NATIVE.md +3 -5
- package/configurations/framework/site/manifest.toml +57 -110
- package/configurations/framework/site/rules/SITE.md +1 -1
- package/configurations/framework/svelte/manifest.toml +29 -31
- package/configurations/framework/svelte/rules/SVELTE.md +6 -6
- package/configurations/framework/vue/manifest.toml +37 -37
- package/configurations/framework/vue/rules/VUE.md +6 -6
- package/configurations/general/commits/manifest.toml +20 -84
- package/configurations/general/commits/rules/GIT.md +24 -13
- package/configurations/general/coverage/manifest.toml +1 -1
- package/configurations/general/dependencies/manifest.toml +47 -107
- package/configurations/general/dependencies/rules/DEPENDENCIES.md +13 -7
- package/configurations/general/docs/manifest.toml +28 -43
- package/configurations/general/docs/rules/DOCS.md +16 -9
- package/configurations/general/duplication/manifest.toml +12 -14
- package/configurations/general/engineering/manifest.toml +6 -2
- package/configurations/general/engineering/rules/agent/PLANNING.md +9 -6
- package/configurations/general/engineering/rules/agent/SUPPRESSIONS.md +20 -11
- package/configurations/general/engineering/rules/agent/TASKS.md +6 -2
- package/configurations/general/engineering/rules/agent/WORKING.md +34 -29
- package/configurations/general/engineering/rules/code/ACCESSIBILITY.md +9 -7
- package/configurations/general/engineering/rules/code/CLI.md +12 -9
- package/configurations/general/engineering/rules/code/COMMENTS.md +11 -1
- package/configurations/general/engineering/rules/code/CONFIGURATION.md +2 -0
- package/configurations/general/engineering/rules/code/ERRORS.md +5 -3
- package/configurations/general/engineering/rules/code/HTTP.md +9 -10
- package/configurations/general/engineering/rules/code/LOGGING.md +10 -9
- package/configurations/general/engineering/rules/code/TESTING.md +18 -11
- package/configurations/general/files/manifest.toml +45 -73
- package/configurations/general/files/rules/YAML.md +20 -10
- package/configurations/general/format/manifest.toml +53 -106
- package/configurations/general/gspot/manifest.toml +19 -39
- package/configurations/general/gspot/rules/GENERATED.md +14 -4
- package/configurations/general/licenses/manifest.toml +12 -14
- package/configurations/general/naming/defaults.json +14 -13
- package/configurations/general/naming/manifest.toml +17 -17
- package/configurations/general/naming/rules/NAMING.md +87 -67
- package/configurations/general/prose/manifest.toml +166 -25
- package/configurations/general/prose/rules/WRITING.md +6 -2
- package/configurations/general/repository/manifest.toml +12 -12
- package/configurations/general/secrets/manifest.toml +52 -73
- package/configurations/general/secrets/rules/SECRETS.md +3 -1
- package/configurations/general/security/manifest.toml +29 -52
- package/configurations/general/security/rules/SECURITY.md +8 -6
- package/configurations/general/spelling/manifest.toml +15 -25
- package/configurations/general/structure/manifest.toml +31 -31
- package/configurations/infrastructure/ansible/manifest.toml +15 -15
- package/configurations/infrastructure/docker/manifest.toml +55 -67
- package/configurations/infrastructure/docker/rules/DOCKER.md +15 -13
- package/configurations/infrastructure/github-actions/manifest.toml +21 -41
- package/configurations/infrastructure/github-actions/rules/GITHUB-ACTIONS.md +16 -12
- package/configurations/infrastructure/github-actions/tool-files/zizmor.yml +5 -0
- package/configurations/infrastructure/nginx/manifest.toml +20 -20
- package/configurations/infrastructure/nginx/rules/NGINX.md +5 -4
- package/configurations/infrastructure/openapi/manifest.toml +20 -20
- package/configurations/infrastructure/openapi/rules/OPENAPI.md +3 -1
- package/configurations/infrastructure/xcode/manifest.toml +55 -75
- package/configurations/infrastructure/xcode/rules/XCODE.md +5 -3
- package/configurations/language/bash/manifest.toml +89 -170
- package/configurations/language/bash/rules/BASH.md +79 -17
- package/configurations/language/bash/rules/LANGUAGE.md +30 -26
- package/configurations/language/bash/rules/OPERATIONS.md +10 -8
- package/configurations/language/bash/rules/SAFETY.md +39 -35
- package/configurations/language/css/manifest.toml +22 -61
- package/configurations/language/css/rules/CSS.md +21 -2
- package/configurations/language/css/rules/TAILWIND.md +7 -5
- package/configurations/language/html/manifest.toml +16 -35
- package/configurations/language/html/rules/HTML.md +23 -5
- package/configurations/language/javascript/eslint-runtime-names.json +66 -61
- package/configurations/language/javascript/eslint-runtime.mjs +118 -0
- package/configurations/language/javascript/manifest.toml +135 -207
- package/configurations/language/javascript/rules/BUN.md +2 -2
- package/configurations/language/javascript/rules/COMPONENTS.md +4 -4
- package/configurations/language/javascript/rules/DENO.md +1 -1
- package/configurations/language/javascript/rules/JAVASCRIPT.md +30 -17
- package/configurations/language/javascript/rules/NODE.md +2 -2
- package/configurations/language/javascript/rules/PLAYWRIGHT.md +10 -9
- package/configurations/language/markdown/manifest.toml +20 -51
- package/configurations/language/python/manifest.toml +231 -342
- package/configurations/language/python/rules/DESIGN.md +40 -33
- package/configurations/language/python/rules/FLOW.md +8 -6
- package/configurations/language/python/rules/PACKAGING.md +14 -7
- package/configurations/language/python/rules/PYTHON.md +83 -33
- package/configurations/language/python/rules/TYPING.md +25 -23
- package/configurations/language/sql/manifest.toml +19 -37
- package/configurations/language/sql/rules/SQL.md +90 -2
- package/configurations/language/swift/manifest.toml +67 -78
- package/configurations/language/swift/rules/SWIFT.md +138 -40
- package/configurations/language/swift/rules/SWIFTUI.md +11 -9
- package/configurations/language/swift/rules/UIKIT.md +21 -19
- package/configurations/language/typescript/manifest.toml +34 -34
- package/configurations/language/typescript/rules/TYPESCRIPT.md +62 -10
- package/configurations/library/drizzle/manifest.toml +25 -38
- package/configurations/library/drizzle/rules/DRIZZLE.md +4 -2
- package/configurations/library/react-hook-form/manifest.toml +4 -4
- package/configurations/library/react-hook-form/rules/REACT-HOOK-FORM.md +15 -13
- package/configurations/library/tanstack-query/manifest.toml +6 -6
- package/configurations/library/tanstack-query/rules/TANSTACK-QUERY.md +5 -3
- package/configurations/library/testing-library/manifest.toml +6 -6
- package/configurations/library/translations/manifest.toml +22 -22
- package/configurations/library/translations/rules/NEXT-INTL.md +6 -8
- package/configurations/library/translations/rules/TRANSLATIONS.md +22 -23
- package/configurations/library/trpc/manifest.toml +3 -3
- package/configurations/library/trpc/rules/TRPC.md +8 -6
- package/configurations/library/zod/manifest.toml +6 -6
- package/configurations/library/zod/rules/ZOD.md +4 -2
- package/configurations/library/zustand/manifest.toml +4 -4
- package/configurations/library/zustand/rules/ZUSTAND.md +16 -14
- package/configurations/platform/cloudflare/manifest.toml +28 -47
- package/configurations/platform/cloudflare/rules/CLOUDFLARE.md +11 -6
- package/configurations/platform/supabase/manifest.toml +48 -61
- package/configurations/platform/supabase/rules/SUPABASE.md +27 -28
- package/configurations/testing/jest/manifest.toml +21 -22
- package/configurations/testing/pytest/manifest.toml +28 -28
- package/configurations/testing/swift-tests/manifest.toml +18 -29
- package/configurations/testing/swift-tests/rules/SWIFT-TESTS.md +7 -5
- package/configurations/testing/vitest/manifest.toml +32 -32
- package/configurations/testing/vitest/rules/VITEST.md +3 -1
- package/dist/gspot.js +22297 -24707
- package/dist/{linkinator-program.js → linkinator-process.js} +5 -7
- package/dist/{purgecss-program.js → purgecss-process.js} +12 -12
- package/package.json +7 -9
- package/configurations/infrastructure/github-actions/zizmor.yml +0 -3
- package/configurations/language/bash/rules/NAMING.md +0 -62
- package/configurations/language/css/rules/NAMING.md +0 -17
- package/configurations/language/html/rules/NAMING.md +0 -16
- package/configurations/language/javascript/rules/NAMING.md +0 -31
- package/configurations/language/markdown/markdownlint-cli2.mjs +0 -19
- package/configurations/language/python/rules/NAMING.md +0 -53
- package/configurations/language/sql/rules/NAMING.md +0 -90
- package/configurations/language/swift/rules/NAMING.md +0 -88
- package/configurations/language/typescript/rules/NAMING.md +0 -73
- package/configurations/library/swift-snapshot-testing/manifest.toml +0 -32
- package/dist/THIRD-PARTY-NOTICES.md +0 -25
- package/dist/eslint-rule-levels.json +0 -10
- package/dist/tool-versions.json +0 -3
- package/gspot.schema.json +0 -45991
- /package/{dist/LICENSE.md → LICENSE.md} +0 -0
- /package/configurations/framework/express/{semgrep → tool-files/semgrep}/express.yml +0 -0
- /package/configurations/framework/fastapi/{semgrep → tool-files/semgrep}/fastapi.yml +0 -0
- /package/configurations/general/dependencies/{syncpack.json → tool-files/syncpack.json} +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/LICENSES.md +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/ampm.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/conscious-language.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/contractions.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/currency.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/dashes.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/date-ordinals.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/dates.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/file-paths.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/future.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/hedging.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/history.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/idioms.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/interface-verbs.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/jargon.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/leading-conjunctions.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/link-text.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/locations.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/marketing.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/merge-conflict-markers.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/militaristic-language.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/modals.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/numbered-units.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/obvious-fields.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/ordinal-adverbs.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/percentage-numbers.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/placeholders.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/product-centric-writing.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/punctuated-headings.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/self-reference.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/session-identifiers.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/since.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/straight-quotes.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/suspended-hyphens.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/symbols.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/time-ranges.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/url-prepositions.yml +0 -0
- /package/configurations/general/prose/{vale → tool-files/vale}/styles/gspot/version-range.yml +0 -0
- /package/configurations/general/secrets/{gitleaks.toml → tool-files/gitleaks.toml} +0 -0
- /package/configurations/infrastructure/docker/{trivyignore → tool-files/trivyignore} +0 -0
- /package/configurations/language/bash/{semgrep → tool-files/semgrep}/bash.yml +0 -0
- /package/configurations/language/javascript/{semgrep → tool-files/semgrep}/javascript.yml +0 -0
- /package/configurations/language/swift/{semgrep → tool-files/semgrep}/swift.yml +0 -0
- /package/configurations/platform/cloudflare/{semgrep → tool-files/semgrep}/cloudflare.yml +0 -0
- /package/configurations/platform/supabase/{semgrep → tool-files/semgrep}/supabase.yml +0 -0
|
@@ -1,37 +1,41 @@
|
|
|
1
1
|
# JavaScript
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
12
|
-
|
|
13
|
-
runtime,
|
|
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
|
-
|
|
18
|
-
imports rare and explain
|
|
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
|
|
25
|
-
- Avoid mutable
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
10
|
-
-
|
|
11
|
-
|
|
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
|
|
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
|
|
28
|
-
first-attempt
|
|
29
|
-
- Configure trace, screenshot, and video retention for the
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
80
|
-
|
|
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
|
|
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."
|