serpkin 0.2.0 → 0.2.1
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
CHANGED
|
@@ -1,12 +1,34 @@
|
|
|
1
1
|
# serpkin
|
|
2
2
|
|
|
3
|
-
The SEO teammate for
|
|
3
|
+
**The SEO teammate for Claude Code, Codex and Cursor.** Serpkin reads your site and your real search data, picks the one SEO fix worth doing next, and hands it to your coding agent with the files to change. After you ship, it checks the preview and measures whether the change helped.
|
|
4
4
|
|
|
5
5
|
```sh
|
|
6
6
|
npx serpkin
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
[Website](https://serpkin.com) · [Guides](https://serpkin.com/guides) · [Free SEO checker](https://serpkin.com/tools/seo-check) · [Claude Code](https://serpkin.com/integrations/claude-code) · [Cursor](https://serpkin.com/integrations/cursor) · [Codex](https://serpkin.com/integrations/codex)
|
|
10
|
+
|
|
11
|
+
## Quick start
|
|
12
|
+
|
|
13
|
+
1. In your website's repository, run `npx serpkin`. It signs you in, connects your agent and registers the site (about a minute).
|
|
14
|
+
2. Ask your agent: _"What should I do for SEO?"_
|
|
15
|
+
3. Your agent implements the mission. Before you merge, run `npx serpkin check <preview-url>` to catch SEO regressions.
|
|
16
|
+
|
|
17
|
+
Requires Node 22 or newer. No dependencies. There is a free plan (one site); see [pricing](https://serpkin.com/#pricing).
|
|
18
|
+
|
|
19
|
+
## What you get
|
|
20
|
+
|
|
21
|
+
- **One mission at a time**, chosen from a crawl of your site and, once connected, your Google Search Console data. Not a list of 200 warnings.
|
|
22
|
+
- **Patch-ready instructions**: the files to edit (from your route map), code snippets for metadata, sitemaps, redirects and structured data, and a definition of done.
|
|
23
|
+
- **A preview check** that fails on regressions such as a new `noindex`, a removed title or canonical, or a broken sitemap.
|
|
24
|
+
- **Results**: Serpkin verifies the fix on production and reports what changed in search afterwards.
|
|
25
|
+
|
|
26
|
+
| Agent | How it connects |
|
|
27
|
+
| ----------- | -------------------------------------------------------------------- |
|
|
28
|
+
| Claude Code | Plugin with a skill, slash commands and hooks, or a plain MCP server |
|
|
29
|
+
| Cursor | `.cursor/mcp.json` plus a project rule |
|
|
30
|
+
| Codex | `~/.codex/config.toml` plus a section in `AGENTS.md` |
|
|
31
|
+
| Others | Any MCP client: `https://serpkin.com/api/mcp` with your agent key |
|
|
10
32
|
|
|
11
33
|
## What `npx serpkin` does
|
|
12
34
|
|
|
@@ -95,3 +117,23 @@ Preview hosts must be the site's own domain or subdomains, or `*.vercel.app`, `*
|
|
|
95
117
|
### GitHub Action
|
|
96
118
|
|
|
97
119
|
Copy [`templates/github-action.yml`](templates/github-action.yml) to `.github/workflows/serpkin.yml` then add a repository secret `SERPKIN_API_KEY` (create a key with `npx serpkin` or in Settings → Agent setup) and a repository variable `SERPKIN_SITE_ID` (the `site_id` from `.serpkin.json`). The workflow doesn't check out the pull request, so code or config from a PR never runs while the key is available, and it pins the CLI version. It runs on `deployment_status` events, which Vercel sends when a preview finishes deploying. It checks the deployment's `target_url` and fails the job when the preview introduces a regression. If your previews use Vercel Deployment Protection, Serpkin's requests get HTTP 401. Allow them through, or the check reports the preview as unreachable.
|
|
120
|
+
|
|
121
|
+
## What leaves your machine
|
|
122
|
+
|
|
123
|
+
- **Sent to Serpkin:** your site URL, the answers you give during setup (the site description defaults to the one in `package.json`), and the route map (URL paths and the source file names that serve them, up to 2,000 routes). Your agent sends what it asks Serpkin for through MCP.
|
|
124
|
+
- **Never sent:** your source code, environment files or the contents of your repository. To detect the framework and build the route map, the CLI reads `package.json` and the file names in your routes folder, not their contents. It also updates your agent's config files (`.mcp.json`, `.cursor/`, `AGENTS.md`, `~/.codex/config.toml`) as described above.
|
|
125
|
+
- **Stored locally:** your agent key in `~/.config/serpkin/credentials.json` (mode 600), never in the repository.
|
|
126
|
+
|
|
127
|
+
Details: [privacy policy](https://serpkin.com/legal/privacy).
|
|
128
|
+
|
|
129
|
+
## Troubleshooting
|
|
130
|
+
|
|
131
|
+
- **Serpkin can't reach your site**: Serpkin needs a public URL. Use a preview deploy with `--url`, not `localhost`.
|
|
132
|
+
- **Preview check returns 401**: your preview is behind deployment protection. Allow Serpkin's requests or check a public preview.
|
|
133
|
+
- **The agent doesn't see Serpkin**: make sure `SERPKIN_API_KEY` is exported in the shell your agent starts from, then restart the agent.
|
|
134
|
+
- **Start over**: re-run `npx serpkin`. It reuses the stored key and site and refreshes only its own blocks.
|
|
135
|
+
|
|
136
|
+
## Support and license
|
|
137
|
+
|
|
138
|
+
Questions or bugs: [serpkin.com](https://serpkin.com) or the [plugin repository](https://github.com/apwn/serpkin-plugin/issues). MIT licensed (this CLI and the Claude Code plugin).
|
|
139
|
+
|
package/package.json
CHANGED
|
@@ -36,4 +36,4 @@ jobs:
|
|
|
36
36
|
# Passed through env, not interpolated into the script, so the URL can't inject shell.
|
|
37
37
|
PREVIEW_URL: ${{ github.event.deployment_status.target_url }}
|
|
38
38
|
# Pinned version and registry; update the version deliberately.
|
|
39
|
-
run: npx --yes --registry=https://registry.npmjs.org serpkin@0.2.
|
|
39
|
+
run: npx --yes --registry=https://registry.npmjs.org serpkin@0.2.1 check "$PREVIEW_URL" --site "$SERPKIN_SITE_ID"
|