crawlemon 0.1.0 → 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 +87 -5
- package/dist/index.d.ts +5 -0
- package/dist/index.js +2770 -242
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,14 +1,34 @@
|
|
|
1
1
|
# Crawlemon
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**SEO CI for modern web apps — catch SEO regressions before you merge.**
|
|
4
4
|
|
|
5
|
-
Crawlemon is
|
|
5
|
+
Crawlemon is the SEO safety layer between code and production. It works like an ESLint / Dependabot for SEO: run it locally or in CI, evaluate the SEO Quality Gate, prevent search regressions from merging, and automatically apply safe deterministic fixes.
|
|
6
6
|
|
|
7
7
|
No account, cloud connection, browser, AI provider, or API key is required.
|
|
8
8
|
|
|
9
|
+
## What is new in 0.2.0
|
|
10
|
+
|
|
11
|
+
- Stable deterministic audit and graph ordering.
|
|
12
|
+
- Clean-As-You-Code confidence enforcement: unverified AI hypotheses cannot block.
|
|
13
|
+
- Independent evidence and rejected-claim recording for semantic AI resolution.
|
|
14
|
+
- Safer AI fix boundaries and zero-new-regression sandbox verification.
|
|
15
|
+
- Expanded adversarial, integration, and high-cardinality coverage.
|
|
16
|
+
|
|
9
17
|
## Quick start
|
|
10
18
|
|
|
11
|
-
|
|
19
|
+
Compare your current branch/working tree against `main` and evaluate the SEO Quality Gate:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx crawlemon diff
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Or compare against a specific git base ref:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx crawlemon diff --base origin/main
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Run a full local audit:
|
|
12
32
|
|
|
13
33
|
```bash
|
|
14
34
|
npx crawlemon audit
|
|
@@ -29,14 +49,20 @@ npx crawlemon fix
|
|
|
29
49
|
## Requirements
|
|
30
50
|
|
|
31
51
|
- Node.js 20 or newer
|
|
32
|
-
-
|
|
52
|
+
- Supported framework: Next.js, Nuxt, SvelteKit, Astro, Remix, Vite, or static HTML
|
|
33
53
|
- Run the command from the project root
|
|
34
54
|
|
|
35
55
|
Crawlemon uses static source analysis. It does not run your application, install its dependencies, or execute repository scripts.
|
|
36
56
|
|
|
37
57
|
## Commands
|
|
38
58
|
|
|
39
|
-
### `
|
|
59
|
+
### `diff`
|
|
60
|
+
|
|
61
|
+
Compare code changes vs base ref, compute blast radius, and evaluate the SEO Quality Gate:
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npx crawlemon diff [--base <ref>] [--json]
|
|
65
|
+
```
|
|
40
66
|
|
|
41
67
|
Discover routes and run deterministic SEO checks:
|
|
42
68
|
|
|
@@ -149,6 +175,62 @@ npx crawlemon --help
|
|
|
149
175
|
npx crawlemon --version
|
|
150
176
|
```
|
|
151
177
|
|
|
178
|
+
## GitHub Actions
|
|
179
|
+
|
|
180
|
+
Run Crawlemon on every pull request and every push to `main` by creating
|
|
181
|
+
`.github/workflows/crawlemon.yml` in your Next.js repository:
|
|
182
|
+
|
|
183
|
+
```yaml
|
|
184
|
+
name: SEO audit
|
|
185
|
+
|
|
186
|
+
on:
|
|
187
|
+
pull_request:
|
|
188
|
+
push:
|
|
189
|
+
branches: [main]
|
|
190
|
+
|
|
191
|
+
permissions:
|
|
192
|
+
contents: read
|
|
193
|
+
|
|
194
|
+
jobs:
|
|
195
|
+
crawlemon:
|
|
196
|
+
name: Crawlemon
|
|
197
|
+
runs-on: ubuntu-latest
|
|
198
|
+
timeout-minutes: 5
|
|
199
|
+
|
|
200
|
+
steps:
|
|
201
|
+
- name: Check out repository
|
|
202
|
+
uses: actions/checkout@v4
|
|
203
|
+
|
|
204
|
+
- name: Set up Node.js
|
|
205
|
+
uses: actions/setup-node@v4
|
|
206
|
+
with:
|
|
207
|
+
node-version: 20
|
|
208
|
+
|
|
209
|
+
- name: Audit SEO
|
|
210
|
+
env:
|
|
211
|
+
CI: true
|
|
212
|
+
run: npx --yes crawlemon@0.2.0 audit
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
The exact package version is pinned so an upstream release cannot unexpectedly
|
|
216
|
+
change your CI result. Update `crawlemon@0.2.0` deliberately when you are ready
|
|
217
|
+
to adopt a newer version.
|
|
218
|
+
|
|
219
|
+
With `CI=true`, the workflow fails when Crawlemon finds at least one error-level
|
|
220
|
+
issue. Warnings and notices remain visible in the report without failing the job.
|
|
221
|
+
No repository secret, API key, dependency installation, or build step is required.
|
|
222
|
+
|
|
223
|
+
If the Next.js application is inside a monorepo subdirectory, set the step's
|
|
224
|
+
working directory:
|
|
225
|
+
|
|
226
|
+
```yaml
|
|
227
|
+
- name: Audit SEO
|
|
228
|
+
working-directory: apps/web
|
|
229
|
+
env:
|
|
230
|
+
CI: true
|
|
231
|
+
run: npx --yes crawlemon@0.2.0 audit
|
|
232
|
+
```
|
|
233
|
+
|
|
152
234
|
## Zero-configuration detection
|
|
153
235
|
|
|
154
236
|
Crawlemon automatically detects:
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1,6 @@
|
|
|
1
|
+
import type { AuditResult } from "@crawlemon/shared";
|
|
2
|
+
/**
|
|
3
|
+
* Safely audits a base git ref without running untrusted scripts or executing builds.
|
|
4
|
+
*/
|
|
5
|
+
export declare function auditGitRef(projectRoot: string, ref: string): Promise<AuditResult>;
|
|
1
6
|
export declare function runCli(args: string[]): Promise<void>;
|