seomd-cli 1.2.0 → 1.4.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.
@@ -4,14 +4,6 @@
4
4
 
5
5
  ### spec v1.0 | <https://seomd.dev>
6
6
 
7
- #### generated: {{date}}
8
-
9
- ## FIELD OWNERSHIP
10
-
11
- ### no prefix = founder declares (you own this)
12
-
13
- ### _analysis: = platform writes back (do not edit manually)
14
-
15
7
  ## Site
16
8
 
17
9
  site:
@@ -36,8 +28,6 @@ identity:
36
28
 
37
29
  keywords:
38
30
 
39
- ### FOUNDER DECLARES
40
-
41
31
  primary: "{{primary_keyword}}"
42
32
  secondary: [] # add your secondary keywords
43
33
  negative: # terms that dilute your intent signal
@@ -52,30 +42,10 @@ keywords:
52
42
  long_tail: [] # add long-tail variations
53
43
  seasonal: null # add seasonal terms if applicable
54
44
 
55
- ### PLATFORM WRITES BACK
56
-
57
- _analysis:
58
- source: null
59
- primary_search_volume: null
60
- primary_intent_type: null
61
- primary_trend: null
62
- recommended_secondary: []
63
- negative_additions_suggested: []
64
- last_analyzed: null
65
- next_analysis: null
66
-
67
45
  ## Intent
68
46
 
69
47
  intent:
70
48
 
71
- ### FOUNDER DECLARES
72
-
73
- #### Add queries your buyers actually type into AI engines
74
-
75
- #### Tip: think about what someone asks ChatGPT or Perplexity
76
-
77
- #### when they are looking for a solution like yours
78
-
79
49
  informational:
80
50
  priority: low
81
51
  queries:
@@ -108,47 +78,11 @@ intent:
108
78
  - "best {{primary_keyword}}"
109
79
  - "top {{primary_keyword}} 2026"
110
80
 
111
- ### PLATFORM WRITES BACK
112
-
113
- _analysis:
114
- source: null
115
- last_analyzed: null
116
- next_analysis: null
117
- informational:
118
- citation_rate: null
119
- top_cited_competitor: null
120
- gap_score: null
121
- trend: null
122
- comparison:
123
- citation_rate: null
124
- top_cited_competitor: null
125
- gap_score: null
126
- trend: null
127
- transactional:
128
- citation_rate: null
129
- top_cited_competitor: null
130
- gap_score: null
131
- trend: null
132
- reputational:
133
- citation_rate: null
134
- top_cited_competitor: null
135
- gap_score: null
136
- trend: null
137
- category:
138
- citation_rate: null
139
- top_cited_competitor: null
140
- gap_score: null
141
- trend: null
142
-
143
81
  ## Pages
144
82
 
145
83
  pages:
146
84
  site_type: ecommerce
147
85
 
148
- ### FOUNDER DECLARES
149
-
150
- #### status: live | draft | planned
151
-
152
86
  required:
153
87
  - id: homepage
154
88
  url: /
@@ -192,21 +126,10 @@ pages:
192
126
  status: planned
193
127
  priority: 7
194
128
 
195
- ### PLATFORM WRITES BACK
196
-
197
- _analysis:
198
- source: null
199
- last_analyzed: null
200
- pages: []
201
- missing_pages: []
202
- build_order_recommendation: []
203
-
204
129
  ## Copy
205
130
 
206
131
  copy:
207
132
 
208
- ### FOUNDER DECLARES
209
-
210
133
  h1_contains_primary_keyword: true
211
134
  meta_description_length: 150-160
212
135
  meta_description_includes_cta: true
@@ -221,8 +144,6 @@ copy:
221
144
 
222
145
  structure:
223
146
 
224
- ### FOUNDER DECLARES
225
-
226
147
  answer_first: true # direct answer in first 50 words
227
148
  faq_section_required: true # on all key pages
228
149
  faq_minimum_questions: 6
@@ -235,8 +156,6 @@ structure:
235
156
 
236
157
  authority:
237
158
 
238
- ### FOUNDER DECLARES
239
-
240
159
  cite_sources: true
241
160
  expert_quotes: false # set true when you have quotes
242
161
  eeat_signals:
@@ -249,8 +168,6 @@ authority:
249
168
 
250
169
  schema:
251
170
 
252
- ### FOUNDER DECLARES
253
-
254
171
  types:
255
172
  - Product
256
173
  - Organization
@@ -264,8 +181,6 @@ schema:
264
181
 
265
182
  crawl:
266
183
 
267
- ### FOUNDER DECLARES
268
-
269
184
  sitemap: /sitemap.xml
270
185
  robots_txt: /robots.txt
271
186
  allow_ai_bots: true
@@ -288,8 +203,6 @@ crawl:
288
203
 
289
204
  performance:
290
205
 
291
- ### FOUNDER DECLARES
292
-
293
206
  lcp: 2.5s
294
207
  cls: 0.1
295
208
  fid: 100ms
@@ -300,10 +213,6 @@ performance:
300
213
 
301
214
  aeo:
302
215
 
303
- ### FOUNDER DECLARES
304
-
305
- ### AI Engine Optimization rules
306
-
307
216
  answer_first_format: true
308
217
  faq_on_all_key_pages: true
309
218
  structured_data_priority: high
@@ -311,27 +220,10 @@ aeo:
311
220
  competitors_to_monitor:
312
221
  {{competitors_to_monitor}}
313
222
 
314
- ### PLATFORM WRITES BACK
315
-
316
- _analysis:
317
- source: null
318
- overall_citation_rate: null
319
- overall_gap_score: null
320
- engines_tracked:
321
- - chatgpt
322
- - perplexity
323
- - claude
324
- - gemini
325
- - grok
326
- last_analyzed: null
327
- next_analysis: null
328
-
329
223
  ## Monitoring
330
224
 
331
225
  monitoring:
332
226
 
333
- ### FOUNDER DECLARES
334
-
335
227
  sync_schedule: monthly # monthly | weekly | on_demand
336
228
  auto_commit: false # platform commits directly to repo
337
229
  pr_mode: true # open PR instead of direct commit
@@ -341,14 +233,7 @@ monitoring:
341
233
 
342
234
  ## Platform Connection
343
235
 
344
- ### Connect at <https://seomd.dev/connect>
345
-
346
- ### Add SEOMD_API_KEY to your .env file
347
-
348
- ### Never commit your API key to version control
349
-
350
236
  platform:
351
237
  provider: null # foxcite | manual | ahrefs | semrush
352
238
  project_id: null
353
239
 
354
- ### api_key: loaded from SEOMD_API_KEY environment variable
@@ -4,14 +4,6 @@
4
4
 
5
5
  ### spec v1.0 | <https://seomd.dev>
6
6
 
7
- #### generated: {{date}}
8
-
9
- ## FIELD OWNERSHIP
10
-
11
- ### no prefix = founder declares (you own this)
12
-
13
- ### _analysis: = platform writes back (do not edit manually)
14
-
15
7
  ## Site
16
8
 
17
9
  site:
@@ -36,8 +28,6 @@ identity:
36
28
 
37
29
  keywords:
38
30
 
39
- ### FOUNDER DECLARES
40
-
41
31
  primary: "{{primary_keyword}}"
42
32
  secondary: [] # add your secondary keywords
43
33
  negative: # terms that dilute your intent signal
@@ -52,30 +42,10 @@ keywords:
52
42
  long_tail: [] # add long-tail variations
53
43
  seasonal: null # add seasonal terms if applicable
54
44
 
55
- ### PLATFORM WRITES BACK
56
-
57
- _analysis:
58
- source: null
59
- primary_search_volume: null
60
- primary_intent_type: null
61
- primary_trend: null
62
- recommended_secondary: []
63
- negative_additions_suggested: []
64
- last_analyzed: null
65
- next_analysis: null
66
-
67
45
  ## Intent
68
46
 
69
47
  intent:
70
48
 
71
- ### FOUNDER DECLARES
72
-
73
- #### Add queries your buyers actually type into AI engines
74
-
75
- #### Tip: think about what someone asks ChatGPT or Perplexity
76
-
77
- #### when they are looking for a solution like yours
78
-
79
49
  informational:
80
50
  priority: medium
81
51
  queries:
@@ -108,47 +78,11 @@ intent:
108
78
  - "best {{primary_keyword}}"
109
79
  - "top {{primary_keyword}} 2026"
110
80
 
111
- ### PLATFORM WRITES BACK
112
-
113
- _analysis:
114
- source: null
115
- last_analyzed: null
116
- next_analysis: null
117
- informational:
118
- citation_rate: null
119
- top_cited_competitor: null
120
- gap_score: null
121
- trend: null
122
- comparison:
123
- citation_rate: null
124
- top_cited_competitor: null
125
- gap_score: null
126
- trend: null
127
- transactional:
128
- citation_rate: null
129
- top_cited_competitor: null
130
- gap_score: null
131
- trend: null
132
- reputational:
133
- citation_rate: null
134
- top_cited_competitor: null
135
- gap_score: null
136
- trend: null
137
- category:
138
- citation_rate: null
139
- top_cited_competitor: null
140
- gap_score: null
141
- trend: null
142
-
143
81
  ## Pages
144
82
 
145
83
  pages:
146
84
  site_type: local
147
85
 
148
- ### FOUNDER DECLARES
149
-
150
- #### status: live | draft | planned
151
-
152
86
  required:
153
87
  - id: homepage
154
88
  url: /
@@ -198,21 +132,10 @@ pages:
198
132
  status: planned
199
133
  priority: 8
200
134
 
201
- ### PLATFORM WRITES BACK
202
-
203
- _analysis:
204
- source: null
205
- last_analyzed: null
206
- pages: []
207
- missing_pages: []
208
- build_order_recommendation: []
209
-
210
135
  ## Copy
211
136
 
212
137
  copy:
213
138
 
214
- ### FOUNDER DECLARES
215
-
216
139
  h1_contains_primary_keyword: true
217
140
  meta_description_length: 150-160
218
141
  meta_description_includes_cta: true
@@ -227,8 +150,6 @@ copy:
227
150
 
228
151
  structure:
229
152
 
230
- ### FOUNDER DECLARES
231
-
232
153
  answer_first: true # direct answer in first 50 words
233
154
  faq_section_required: true # on all key pages
234
155
  faq_minimum_questions: 6
@@ -241,8 +162,6 @@ structure:
241
162
 
242
163
  authority:
243
164
 
244
- ### FOUNDER DECLARES
245
-
246
165
  cite_sources: true
247
166
  expert_quotes: false # set true when you have quotes
248
167
  eeat_signals:
@@ -255,8 +174,6 @@ authority:
255
174
 
256
175
  schema:
257
176
 
258
- ### FOUNDER DECLARES
259
-
260
177
  types:
261
178
  - LocalBusiness
262
179
  - FAQPage
@@ -270,8 +187,6 @@ schema:
270
187
 
271
188
  crawl:
272
189
 
273
- ### FOUNDER DECLARES
274
-
275
190
  sitemap: /sitemap.xml
276
191
  robots_txt: /robots.txt
277
192
  allow_ai_bots: true
@@ -294,8 +209,6 @@ crawl:
294
209
 
295
210
  performance:
296
211
 
297
- ### FOUNDER DECLARES
298
-
299
212
  lcp: 2.5s
300
213
  cls: 0.1
301
214
  fid: 100ms
@@ -306,10 +219,6 @@ performance:
306
219
 
307
220
  aeo:
308
221
 
309
- ### FOUNDER DECLARES
310
-
311
- ### AI Engine Optimization rules
312
-
313
222
  answer_first_format: true
314
223
  faq_on_all_key_pages: true
315
224
  structured_data_priority: high
@@ -317,27 +226,10 @@ aeo:
317
226
  competitors_to_monitor:
318
227
  {{competitors_to_monitor}}
319
228
 
320
- ### PLATFORM WRITES BACK
321
-
322
- _analysis:
323
- source: null
324
- overall_citation_rate: null
325
- overall_gap_score: null
326
- engines_tracked:
327
- - chatgpt
328
- - perplexity
329
- - claude
330
- - gemini
331
- - grok
332
- last_analyzed: null
333
- next_analysis: null
334
-
335
229
  ## Monitoring
336
230
 
337
231
  monitoring:
338
232
 
339
- ### FOUNDER DECLARES
340
-
341
233
  sync_schedule: monthly # monthly | weekly | on_demand
342
234
  auto_commit: false # platform commits directly to repo
343
235
  pr_mode: true # open PR instead of direct commit
@@ -347,14 +239,7 @@ monitoring:
347
239
 
348
240
  ## Platform Connection
349
241
 
350
- ### Connect at <https://seomd.dev/connect>
351
-
352
- ### Add SEOMD_API_KEY to your .env file
353
-
354
- ### Never commit your API key to version control
355
-
356
242
  platform:
357
243
  provider: null # foxcite | manual | ahrefs | semrush
358
244
  project_id: null
359
245
 
360
- ### api_key: loaded from SEOMD_API_KEY environment variable
@@ -4,14 +4,6 @@
4
4
 
5
5
  ### spec v1.0 | <https://seomd.dev>
6
6
 
7
- #### generated: {{date}}
8
-
9
- ## FIELD OWNERSHIP
10
-
11
- ### no prefix = founder declares (you own this)
12
-
13
- ### _analysis: = platform writes back (do not edit manually)
14
-
15
7
  ## Site
16
8
 
17
9
  site:
@@ -36,8 +28,6 @@ identity:
36
28
 
37
29
  keywords:
38
30
 
39
- ### FOUNDER DECLARES
40
-
41
31
  primary: "{{primary_keyword}}"
42
32
  secondary: [] # add your secondary keywords
43
33
  negative: # terms that dilute your intent signal
@@ -52,30 +42,10 @@ keywords:
52
42
  long_tail: [] # add long-tail variations
53
43
  seasonal: null # add seasonal terms if applicable
54
44
 
55
- ### PLATFORM WRITES BACK
56
-
57
- _analysis:
58
- source: null
59
- primary_search_volume: null
60
- primary_intent_type: null
61
- primary_trend: null
62
- recommended_secondary: []
63
- negative_additions_suggested: []
64
- last_analyzed: null
65
- next_analysis: null
66
-
67
45
  ## Intent
68
46
 
69
47
  intent:
70
48
 
71
- ### FOUNDER DECLARES
72
-
73
- #### Add queries your buyers actually type into AI engines
74
-
75
- #### Tip: think about what someone asks ChatGPT or Perplexity
76
-
77
- #### when they are looking for a solution like yours
78
-
79
49
  informational:
80
50
  priority: medium
81
51
  queries:
@@ -108,47 +78,11 @@ intent:
108
78
  - "best {{primary_keyword}}"
109
79
  - "top {{primary_keyword}} 2026"
110
80
 
111
- ### PLATFORM WRITES BACK
112
-
113
- _analysis:
114
- source: null
115
- last_analyzed: null
116
- next_analysis: null
117
- informational:
118
- citation_rate: null
119
- top_cited_competitor: null
120
- gap_score: null
121
- trend: null
122
- comparison:
123
- citation_rate: null
124
- top_cited_competitor: null
125
- gap_score: null
126
- trend: null
127
- transactional:
128
- citation_rate: null
129
- top_cited_competitor: null
130
- gap_score: null
131
- trend: null
132
- reputational:
133
- citation_rate: null
134
- top_cited_competitor: null
135
- gap_score: null
136
- trend: null
137
- category:
138
- citation_rate: null
139
- top_cited_competitor: null
140
- gap_score: null
141
- trend: null
142
-
143
81
  ## Pages
144
82
 
145
83
  pages:
146
84
  site_type: marketplace
147
85
 
148
- ### FOUNDER DECLARES
149
-
150
- #### status: live | draft | planned
151
-
152
86
  required:
153
87
  - id: homepage
154
88
  url: /
@@ -198,21 +132,10 @@ pages:
198
132
  status: planned
199
133
  priority: 8
200
134
 
201
- ### PLATFORM WRITES BACK
202
-
203
- _analysis:
204
- source: null
205
- last_analyzed: null
206
- pages: []
207
- missing_pages: []
208
- build_order_recommendation: []
209
-
210
135
  ## Copy
211
136
 
212
137
  copy:
213
138
 
214
- ### FOUNDER DECLARES
215
-
216
139
  h1_contains_primary_keyword: true
217
140
  meta_description_length: 150-160
218
141
  meta_description_includes_cta: true
@@ -227,8 +150,6 @@ copy:
227
150
 
228
151
  structure:
229
152
 
230
- ### FOUNDER DECLARES
231
-
232
153
  answer_first: true # direct answer in first 50 words
233
154
  faq_section_required: true # on all key pages
234
155
  faq_minimum_questions: 6
@@ -241,8 +162,6 @@ structure:
241
162
 
242
163
  authority:
243
164
 
244
- ### FOUNDER DECLARES
245
-
246
165
  cite_sources: true
247
166
  expert_quotes: false # set true when you have quotes
248
167
  eeat_signals:
@@ -255,8 +174,6 @@ authority:
255
174
 
256
175
  schema:
257
176
 
258
- ### FOUNDER DECLARES
259
-
260
177
  types:
261
178
  - WebSite
262
179
  - Organization
@@ -270,8 +187,6 @@ schema:
270
187
 
271
188
  crawl:
272
189
 
273
- ### FOUNDER DECLARES
274
-
275
190
  sitemap: /sitemap.xml
276
191
  robots_txt: /robots.txt
277
192
  allow_ai_bots: true
@@ -294,8 +209,6 @@ crawl:
294
209
 
295
210
  performance:
296
211
 
297
- ### FOUNDER DECLARES
298
-
299
212
  lcp: 2.5s
300
213
  cls: 0.1
301
214
  fid: 100ms
@@ -306,10 +219,6 @@ performance:
306
219
 
307
220
  aeo:
308
221
 
309
- ### FOUNDER DECLARES
310
-
311
- ### AI Engine Optimization rules
312
-
313
222
  answer_first_format: true
314
223
  faq_on_all_key_pages: true
315
224
  structured_data_priority: high
@@ -317,27 +226,10 @@ aeo:
317
226
  competitors_to_monitor:
318
227
  {{competitors_to_monitor}}
319
228
 
320
- ### PLATFORM WRITES BACK
321
-
322
- _analysis:
323
- source: null
324
- overall_citation_rate: null
325
- overall_gap_score: null
326
- engines_tracked:
327
- - chatgpt
328
- - perplexity
329
- - claude
330
- - gemini
331
- - grok
332
- last_analyzed: null
333
- next_analysis: null
334
-
335
229
  ## Monitoring
336
230
 
337
231
  monitoring:
338
232
 
339
- ### FOUNDER DECLARES
340
-
341
233
  sync_schedule: monthly # monthly | weekly | on_demand
342
234
  auto_commit: false # platform commits directly to repo
343
235
  pr_mode: true # open PR instead of direct commit
@@ -347,14 +239,7 @@ monitoring:
347
239
 
348
240
  ## Platform Connection
349
241
 
350
- ### Connect at <https://seomd.dev/connect>
351
-
352
- ### Add SEOMD_API_KEY to your .env file
353
-
354
- ### Never commit your API key to version control
355
-
356
242
  platform:
357
243
  provider: null # foxcite | manual | ahrefs | semrush
358
244
  project_id: null
359
245
 
360
- ### api_key: loaded from SEOMD_API_KEY environment variable