pseolint 0.6.4 → 0.7.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 +3 -3
- package/package.json +52 -52
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Find the broken template before SpamBrain does.
|
|
4
4
|
|
|
5
|
-
The CLI for **programmatic SEO auditing** — v0.
|
|
5
|
+
The CLI for **programmatic SEO auditing** — v0.7.0. Detects SpamBrain-risk patterns across large template-generated sites, now surfaced per-template instead of as a flat findings list.
|
|
6
6
|
|
|
7
7
|
## What's new in v0.6 — audit-as-template
|
|
8
8
|
|
|
@@ -19,8 +19,8 @@ Design rationale: [`docs/superpowers/specs/2026-05-04-pseolint-v0.6-audit-as-tem
|
|
|
19
19
|
## What's new in v0.5.2 — credibility layer
|
|
20
20
|
|
|
21
21
|
- **4 new content-quality rules** addressing the blind-spot audit's tier-1 gaps: `content/title-uniqueness` (catches actually-duplicate titles — raw, not entity-masked, so catalog templates with per-record entity values still pass), `content/heading-structure` (H1 presence, single-H1, hierarchy), `content/image-alt-text` (skips decorative images marked `role="presentation"` / `aria-hidden="true"` / `alt=""`), `tech/og-completeness` (the long-promised OG-tag rule that finally ships).
|
|
22
|
-
-
|
|
23
|
-
-
|
|
22
|
+
- **`authorityScore`** (0-100, via the core API `AuditOptions` or the MCP `audit_site` tool — not a CLI flag) — bring-your-own domain authority. `>= 80` shifts the verdict one tier lenient (established brand can absorb shapes a newer site can't). `<= 30` shifts one tier stricter. Raw `risk` number unchanged so CI gates that key off `--ci-threshold` stay stable. The engine itself remains authority-blind by design — no Moz/Ahrefs/Semrush dependency.
|
|
23
|
+
- **`sampleSeed`** (via the core API `AuditOptions` or the MCP `audit_site` tool — not a CLI flag) — deterministic stratified sampling. Same seed = same audit = same verdict, run after run. CI gates and calibration runs get reproducible results instead of bouncing across the verdict-ladder boundary.
|
|
24
24
|
- **`spam/doorway-pattern` cluster collapse** — entity-swap-heavy catalogs no longer produce hundreds of per-pair findings; they collapse into one cluster line per template-tied group.
|
|
25
25
|
- **Per-bucket info-severity cap** — info findings can't accumulate to tank a verdict on their own (capped at 50 per category bucket separately from the 100 cap on warning+).
|
|
26
26
|
- **Console formatter** shows `Demoted N rules (X, Y, Z) — <site type> profile; pass --strict to disable` so the engine's reasoning is visible. Markdown formatter collapses info findings under `<details>` so PR comments stay actionable.
|
package/package.json
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "pseolint",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Programmatic SEO linter CLI — SpamBrain-proof your pSEO before you publish. v0.4 verdict ladder (ready/caution/concerning/critical) + auto site classification.",
|
|
5
|
-
"license": "MIT",
|
|
6
|
-
"author": "Ouranos Labs <contact@ouranos-labs.dev>",
|
|
7
|
-
"homepage": "https://pseolint.dev",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "https://github.com/ouranos-labs/pseolint.git",
|
|
11
|
-
"directory": "packages/cli"
|
|
12
|
-
},
|
|
13
|
-
"keywords": [
|
|
14
|
-
"seo",
|
|
15
|
-
"pseo",
|
|
16
|
-
"programmatic-seo",
|
|
17
|
-
"spambrain",
|
|
18
|
-
"lint",
|
|
19
|
-
"cli"
|
|
20
|
-
],
|
|
21
|
-
"type": "module",
|
|
22
|
-
"bin": {
|
|
23
|
-
"pseolint": "dist/cli.js"
|
|
24
|
-
},
|
|
25
|
-
"exports": {
|
|
26
|
-
".": {
|
|
27
|
-
"import": "./dist/index.js",
|
|
28
|
-
"types": "./dist/index.d.ts"
|
|
29
|
-
}
|
|
30
|
-
},
|
|
31
|
-
"main": "dist/index.js",
|
|
32
|
-
"types": "dist/index.d.ts",
|
|
33
|
-
"engines": {
|
|
34
|
-
"node": ">=18"
|
|
35
|
-
},
|
|
36
|
-
"files": [
|
|
37
|
-
"dist"
|
|
38
|
-
],
|
|
39
|
-
"scripts": {
|
|
40
|
-
"build": "tsc -p tsconfig.json",
|
|
41
|
-
"lint": "tsc --noEmit -p tsconfig.json",
|
|
42
|
-
"test": "vitest run --passWithNoTests",
|
|
43
|
-
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
44
|
-
},
|
|
45
|
-
"dependencies": {
|
|
46
|
-
"@pseolint/core": "^0.
|
|
47
|
-
"@pseolint/mcp": "^0.
|
|
48
|
-
"commander": "^14.0.3",
|
|
49
|
-
"cosmiconfig": "^9.0.1",
|
|
50
|
-
"jiti": "^2.6.0",
|
|
51
|
-
"zod": "^4.3.6"
|
|
52
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "pseolint",
|
|
3
|
+
"version": "0.7.0",
|
|
4
|
+
"description": "Programmatic SEO linter CLI — SpamBrain-proof your pSEO before you publish. v0.4 verdict ladder (ready/caution/concerning/critical) + auto site classification.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Ouranos Labs <contact@ouranos-labs.dev>",
|
|
7
|
+
"homepage": "https://pseolint.dev",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/ouranos-labs/pseolint.git",
|
|
11
|
+
"directory": "packages/cli"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"seo",
|
|
15
|
+
"pseo",
|
|
16
|
+
"programmatic-seo",
|
|
17
|
+
"spambrain",
|
|
18
|
+
"lint",
|
|
19
|
+
"cli"
|
|
20
|
+
],
|
|
21
|
+
"type": "module",
|
|
22
|
+
"bin": {
|
|
23
|
+
"pseolint": "dist/cli.js"
|
|
24
|
+
},
|
|
25
|
+
"exports": {
|
|
26
|
+
".": {
|
|
27
|
+
"import": "./dist/index.js",
|
|
28
|
+
"types": "./dist/index.d.ts"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"main": "dist/index.js",
|
|
32
|
+
"types": "dist/index.d.ts",
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=18"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist"
|
|
38
|
+
],
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsc -p tsconfig.json",
|
|
41
|
+
"lint": "tsc --noEmit -p tsconfig.json",
|
|
42
|
+
"test": "vitest run --passWithNoTests",
|
|
43
|
+
"typecheck": "tsc --noEmit -p tsconfig.json"
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"@pseolint/core": "^0.7.0",
|
|
47
|
+
"@pseolint/mcp": "^0.7.0",
|
|
48
|
+
"commander": "^14.0.3",
|
|
49
|
+
"cosmiconfig": "^9.0.1",
|
|
50
|
+
"jiti": "^2.6.0",
|
|
51
|
+
"zod": "^4.3.6"
|
|
52
|
+
}
|
|
53
53
|
}
|