seo 0.3.0 → 0.4.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/PRIVACY.md CHANGED
@@ -86,9 +86,9 @@ read-only access to:
86
86
  access.
87
87
 
88
88
  The software uses this data to list properties, run the report you requested,
89
- join search or analytics evidence to crawl findings, and save local report
90
- history when a command supports it. It does not use Google data for advertising
91
- or to train general-purpose AI models.
89
+ and join search or analytics evidence to crawl findings. It does not save
90
+ report history. It does not use Google data for advertising or to train
91
+ general-purpose AI models.
92
92
 
93
93
  The shared desktop OAuth client identifies the `seo` app to Google. OAuth
94
94
  tokens and API responses are returned to your machine, not to the project
@@ -105,7 +105,7 @@ site ID, sitekey, requested report type, date range, and row limit directly to
105
105
  Clicky over HTTPS. It can read the traffic data that sitekey permits. The
106
106
  project maintainer does not receive the request or response.
107
107
 
108
- The site ID is saved in the project profile. The sitekey uses the operating
108
+ The site ID is saved in the local configuration. The sitekey uses the operating
109
109
  system keychain when available, with a private local file fallback. Agents and
110
110
  CI can use `SEO_CLICKY_SITEKEY` without saving it. Clicky responses are cached
111
111
  locally for up to 24 hours, and cache keys and cached responses do not contain
@@ -123,8 +123,8 @@ server does not read Bing data.
123
123
 
124
124
  ## How Google data is protected
125
125
 
126
- The software stores project profiles, settings, OAuth tokens, cached API
127
- responses, logs, and saved reports in local user directories. It does not
126
+ The software stores settings, OAuth tokens, cached API responses, and logs in
127
+ local user directories. It does not save reports or crawls. It does not
128
128
  upload Google API responses to a hosted SEO account or project database.
129
129
  Google API requests go directly from your machine to Google over HTTPS. The
130
130
  software does not send Search Console data to a research provider. `seo
@@ -159,10 +159,10 @@ run, expired rows may remain in the local cache file until you delete them.
159
159
  Run `seo cache clear --provider google-analytics` to remove cached Google
160
160
  Analytics responses immediately. Run `seo cache clear --provider gsc` to do
161
161
  the same for Search Console. Run `seo cache clear --provider clicky` to remove
162
- cached Clicky responses. Project profiles and reports that you deliberately
163
- save remain until you delete them with the relevant command or run
164
- `seo reset --yes`. The reset command removes Google tokens, local
165
- configuration, caches, logs, histories, saved reports, and saved provider
162
+ cached Clicky responses. Settings and saved provider credentials remain until
163
+ you delete them with the relevant command or run `seo reset --yes`. The reset
164
+ command removes Google tokens, local configuration, caches, logs, any
165
+ histories or reports saved by earlier versions, and saved provider
166
166
  credentials. It removes active keychain credentials before deleting local
167
167
  files. If the keychain refuses a deletion, reset stops and tells you to unlock
168
168
  it before trying again.
package/README.md CHANGED
@@ -58,15 +58,16 @@ npm i -g seo
58
58
  seo start
59
59
  ```
60
60
 
61
- `seo start` signs you in with Google, lists the Search Console properties you
62
- can read, lets you pick a Google Analytics property, and saves a project
63
- profile (a local shortcut for the site and its data sources). It can also add
64
- the skill and the local MCP server to your agents.
61
+ `seo start` signs you in with Google. Then it offers to add an MCP server to
62
+ the agents it finds (the free hosted server is the first choice, or you can
63
+ run one locally) and to install the skill. That is all it asks. Nothing about
64
+ your site is saved: each command names the site it works on.
65
65
 
66
- Then run the main report:
66
+ List the properties your sign-in can read, then run the main report for one:
67
67
 
68
68
  ```sh
69
- seo report
69
+ seo sites
70
+ seo report --site example.com
70
71
  ```
71
72
 
72
73
  ## Connect the hosted MCP server
@@ -110,7 +111,8 @@ agent which CLI command to run.
110
111
  | `seo internal-links --url <url>` | `seo_internal_links` | Pages that could link to a target page (local only) |
111
112
 
112
113
  Each command takes its target (a site, URL or property) and an optional date
113
- window. Commands that return rows also take `--detail summary|rows|full` and
114
+ window. `--site` takes a domain, a URL or a Search Console property, and
115
+ `seo sites` lists the ones you can read. Commands that return rows also take `--detail summary|rows|full` and
114
116
  `--offset`. Brand terms, minimum impressions and the comparison period are set
115
117
  for you and shown in the output, so there is nothing else to tune.
116
118
 
@@ -122,7 +124,7 @@ The [command docs](https://seoskill.dev/docs) explain each one.
122
124
  Run the report without a section first:
123
125
 
124
126
  ```sh
125
- seo report
127
+ seo report --site example.com
126
128
  ```
127
129
 
128
130
  It shows site totals against the previous period, the pages and queries that
@@ -130,7 +132,7 @@ moved, and a short count with top rows for each section. Then ask for the one
130
132
  section that matters:
131
133
 
132
134
  ```sh
133
- seo report --section quick-wins
135
+ seo report --site example.com --section quick-wins
134
136
  ```
135
137
 
136
138
  The sections are `overview`, `quick-wins`, `low-ctr`, `striking-distance`,
@@ -142,21 +144,13 @@ Each result ends with the command to run next. A traffic drop usually leads to
142
144
  moved:
143
145
 
144
146
  ```sh
145
- seo compare --date 2026-09-15
147
+ seo compare --site example.com --date 2026-09-15
146
148
  seo page --url https://example.com/pricing
147
149
  ```
148
150
 
149
151
  Start with the summary. Ask for `--detail rows --offset 20` for the next page
150
152
  of rows, or `--detail full` for every field, only when you need them.
151
153
 
152
- Use `--project` when you have more than one saved project, or `--site` to work
153
- without one:
154
-
155
- ```sh
156
- seo report --project example
157
- seo report --site sc-domain:example.com
158
- ```
159
-
160
154
  ## Add keyword and competitor data
161
155
 
162
156
  Research uses your own provider account, so each request costs your credits
@@ -207,16 +201,21 @@ and pages by week, so a row missing from Bing's list is unknown, not zero.
207
201
 
208
202
  ## Add your analytics
209
203
 
210
- Google Analytics comes with your Google sign-in. Pick the property during
211
- `seo start`.
204
+ Google Analytics comes with your Google sign-in. List your properties, then
205
+ pass the numeric property id to a Google Analytics command:
206
+
207
+ ```sh
208
+ seo analytics google properties
209
+ seo ai-referrals --property 123456789
210
+ ```
212
211
 
213
212
  Clicky is available through the
214
213
  [Clicky provider package](https://github.com/iannuttall/seoskill-clicky-provider).
215
- Install it, then attach its site ID to a project with `seo start`:
214
+ Install it, then connect a site with its Clicky site ID:
216
215
 
217
216
  ```sh
218
217
  seo providers install @seoskill/clicky-provider
219
- seo start
218
+ seo analytics clicky connect --site-id 12345
220
219
  ```
221
220
 
222
221
  The hosted server reads Google Analytics only. Clicky runs on your machine,
@@ -235,7 +234,8 @@ evidence rules. If you skipped it during `seo start`, add it now:
235
234
  seo skill install
236
235
  ```
237
236
 
238
- To add the local MCP server to Codex, Claude Code, Claude Desktop or Cursor:
237
+ `seo start` can add the hosted or the local MCP server for you. To add the
238
+ local MCP server later, to Codex, Claude Code, Claude Desktop or Cursor:
239
239
 
240
240
  ```sh
241
241
  seo mcp install
@@ -266,6 +266,16 @@ installed provider packages.
266
266
  Nothing here promises clicks, rankings or indexing. Check a change by running
267
267
  the same command again over a later, complete window.
268
268
 
269
+ ## Upgrading from 0.3
270
+
271
+ Saved project profiles are gone. Every command takes `--site` (or `--url`), and
272
+ `--project` or `--client` now stops with a note that says so. `seo projects`,
273
+ `seo client` and the commands that saved history between runs (`change-log`,
274
+ `tests`, `content-groups`, `monitoring`, `schedule`, `index-watch`,
275
+ `technical-watch`, `crawl-reports`, `crawl-diff` and `diagnose`) were removed.
276
+ Your agent keeps its own notes now. Each removed command names what to use
277
+ instead. To stay on the old version, run `npm i -g seo@0.2.41`.
278
+
269
279
  ## Upgrading from 0.2
270
280
 
271
281
  Version 0.3.0 moved most reports into the eight commands. Old names such as
@@ -279,8 +289,8 @@ every old name and where it went.
279
289
 
280
290
  ## Use it in CI and scripts
281
291
 
282
- Add `--json` to any command. JSON mode never prompts, so pass `--project` or
283
- `--site` in unattended runs.
292
+ Add `--json` to any command. JSON mode never prompts. Pass `--site` every
293
+ time.
284
294
 
285
295
  ```sh
286
296
  seo report --site sc-domain:example.com --json
@@ -332,8 +342,9 @@ working example.
332
342
  ## Local data and Google access
333
343
 
334
344
  Google tokens use your system keychain, with a private `0600` file fallback on
335
- headless machines. Project profiles, crawls and caches stay in your local
336
- config directory. A command still reaches the network when it needs Google,
345
+ headless machines. Settings, provider keys and a short cache of Google
346
+ responses stay in your local config directory. Reports and crawls are not
347
+ saved: each run returns its results and your agent decides what to keep. A command still reaches the network when it needs Google,
337
348
  your site or a provider you connected.
338
349
 
339
350
  ```sh
package/SECURITY.md CHANGED
@@ -19,8 +19,8 @@ questions and non-sensitive bugs.
19
19
 
20
20
  ## Local data and credentials
21
21
 
22
- `seo` is local-first. Project profiles, Google OAuth metadata, crawl reports,
23
- and caches stay on the machine running the command. Access and refresh tokens
22
+ `seo` is local-first. Settings, Google OAuth metadata, provider keys and
23
+ caches stay on the machine running the command. Access and refresh tokens
24
24
  use the operating-system keychain when enabled; fallback token files and local
25
25
  credential files use private file permissions.
26
26