outrank-cli 0.7.0 → 0.8.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 +71 -14
- package/SKILL.md +32 -3
- package/package.json +1 -1
- package/src/adapters/mcp/help.js +1 -1
- package/src/adapters/mcp/prompts.js +3 -1
- package/src/adapters/mcp/toolNotes.js +102 -1
- package/src/commands/products/blog.js +873 -0
- package/src/commands/products/index.js +9 -1
- package/src/commands/registry.js +1 -0
- package/src/core/constants.js +18 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineGroup } from '../registry.js';
|
|
2
2
|
import { backlinksGroup } from './backlinks.js';
|
|
3
|
+
import { blogGroup } from './blog.js';
|
|
3
4
|
import {
|
|
4
5
|
competitorsGroup,
|
|
5
6
|
outputSettingsGroup,
|
|
@@ -78,6 +79,10 @@ export const PRODUCTS_HELP = `Usage:
|
|
|
78
79
|
outrank-cli products backlinks reverify <product-id> <backlink-id>
|
|
79
80
|
outrank-cli products backlinks subscription <product-id>
|
|
80
81
|
outrank-cli products backlinks subscribe-quote <product-id> --plan premium|enterprise
|
|
82
|
+
outrank-cli products blog get <product-id>
|
|
83
|
+
outrank-cli products blog create <product-id> [--json <object>]
|
|
84
|
+
outrank-cli products blog posts list <product-id>
|
|
85
|
+
outrank-cli products blog --help (design, domain, posts, pages, categories, authors, redirects, snippets, subscribers, webhooks)
|
|
81
86
|
|
|
82
87
|
JSON Input:
|
|
83
88
|
Use one of: --json '<object>', --json-file payload.json, or --json-stdin
|
|
@@ -142,6 +147,8 @@ Examples:
|
|
|
142
147
|
outrank-cli products backlinks reverify 00000000-0000-0000-0000-000000000000 11111111-1111-1111-1111-111111111111
|
|
143
148
|
outrank-cli products backlinks subscription 00000000-0000-0000-0000-000000000000
|
|
144
149
|
outrank-cli products backlinks subscribe-quote 00000000-0000-0000-0000-000000000000 --plan premium
|
|
150
|
+
outrank-cli products blog create 00000000-0000-0000-0000-000000000000 --json '{"subdomain":"acme","template":"editorial","accentColor":"#2563EB"}'
|
|
151
|
+
outrank-cli products blog posts update-content 00000000-0000-0000-0000-000000000000 11111111-1111-1111-1111-111111111111 --json-file post.json
|
|
145
152
|
`;
|
|
146
153
|
|
|
147
154
|
export const productsGroup = defineGroup({
|
|
@@ -150,7 +157,7 @@ export const productsGroup = defineGroup({
|
|
|
150
157
|
usage: PRODUCTS_HELP,
|
|
151
158
|
guidance:
|
|
152
159
|
'Choose one of: list, get, create, update, pause, resume, integrations, output-settings, target-audiences, ' +
|
|
153
|
-
'competitors, gsc, linking, backlinks.',
|
|
160
|
+
'competitors, gsc, linking, backlinks, blog.',
|
|
154
161
|
},
|
|
155
162
|
unknown: (word) => ({
|
|
156
163
|
message: `Unknown products subcommand: ${word}.`,
|
|
@@ -170,5 +177,6 @@ export const productsGroup = defineGroup({
|
|
|
170
177
|
gscGroup,
|
|
171
178
|
linkingGroup,
|
|
172
179
|
backlinksGroup,
|
|
180
|
+
blogGroup,
|
|
173
181
|
],
|
|
174
182
|
});
|
package/src/commands/registry.js
CHANGED
package/src/core/constants.js
CHANGED
|
@@ -45,6 +45,24 @@ export const GSC_SEARCH_ANALYTICS_MAX_LIMIT = 1000;
|
|
|
45
45
|
export const KEYWORDS_GENERATE_MIN_COUNT = 5;
|
|
46
46
|
export const KEYWORDS_GENERATE_MAX_COUNT = 30;
|
|
47
47
|
|
|
48
|
+
export const BLOG_LIST_MIN_PAGE = 1;
|
|
49
|
+
export const BLOG_TEMPLATES = Object.freeze(['classic', 'editorial', 'journal', 'studio', 'minimal']);
|
|
50
|
+
export const BLOG_ANALYTICS_RANGES = Object.freeze(['7d', '30d', '90d']);
|
|
51
|
+
export const BLOG_DOMAIN_MODES = Object.freeze(['subdomain', 'apex', 'subfolder']);
|
|
52
|
+
export const BLOG_POST_LIST_STATUSES = Object.freeze(['all', 'published', 'scheduled', 'draft']);
|
|
53
|
+
export const BLOG_SUBSCRIBER_STATUSES = Object.freeze(['subscribed', 'unsubscribed']);
|
|
54
|
+
export const BLOG_PREVIEW_DESIGN_SCOPE = 'design';
|
|
55
|
+
export const BLOG_PREVIEW_SCOPES = Object.freeze([BLOG_PREVIEW_DESIGN_SCOPE, 'post', 'page']);
|
|
56
|
+
export const BLOG_PAGE_STATUSES = Object.freeze(['draft', 'published']);
|
|
57
|
+
export const BLOG_PAGE_LAYOUTS = Object.freeze(['default', 'wide']);
|
|
58
|
+
export const BLOG_SNIPPET_KINDS = Object.freeze(['cta', 'html', 'newsletter']);
|
|
59
|
+
export const BLOG_SNIPPET_KINDS_WITH_REQUIRED_CONTENT = Object.freeze(['cta', 'html']);
|
|
60
|
+
export const BLOG_POSITION_MAX = 10_000;
|
|
61
|
+
export const BLOG_MAX_POSITIONS_PER_REQUEST = 100;
|
|
62
|
+
export const BLOG_REDIRECT_GONE_STATUS_CODE = 410;
|
|
63
|
+
export const BLOG_REDIRECT_STATUS_CODES = Object.freeze([301, 302, BLOG_REDIRECT_GONE_STATUS_CODE]);
|
|
64
|
+
export const BLOG_WEBHOOK_EVENTS = Object.freeze(['subscriber.created']);
|
|
65
|
+
|
|
48
66
|
export const BILLING_MIN_ADDITIONAL_PRODUCTS = 1;
|
|
49
67
|
export const BILLING_MAX_ADDITIONAL_PRODUCTS = 30;
|
|
50
68
|
export const BILLING_MIN_CONFIRM_CHARGE_CENTS = 0;
|