content-grade 1.0.47 → 1.0.50
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/bin/content-grade.js +44 -28
- package/dist/landing.html +53 -31
- package/package.json +1 -1
package/bin/content-grade.js
CHANGED
|
@@ -98,9 +98,9 @@ function incrementUsage() {
|
|
|
98
98
|
|
|
99
99
|
// Upgrade links — Free → Pro → Business → Team
|
|
100
100
|
const UPGRADE_LINKS = {
|
|
101
|
-
free: 'https://buy.stripe.com/4gM14p87GeCh9vn9ks8k80a', // Pro $
|
|
102
|
-
pro: 'https://buy.stripe.com/bJefZjafO2Tz36Z2W48k80b', // Business $
|
|
103
|
-
business: 'https://buy.stripe.com/cNiaEZfA8cu9bDv4088k80c', // Team $
|
|
101
|
+
free: 'https://buy.stripe.com/4gM14p87GeCh9vn9ks8k80a', // Pro $19/mo — direct checkout
|
|
102
|
+
pro: 'https://buy.stripe.com/bJefZjafO2Tz36Z2W48k80b', // Business $49/mo
|
|
103
|
+
business: 'https://buy.stripe.com/cNiaEZfA8cu9bDv4088k80c', // Team $199/mo
|
|
104
104
|
};
|
|
105
105
|
|
|
106
106
|
const TIER_NAMES = {
|
|
@@ -111,7 +111,7 @@ const TIER_NAMES = {
|
|
|
111
111
|
};
|
|
112
112
|
|
|
113
113
|
const TIER_LIMITS = {
|
|
114
|
-
free:
|
|
114
|
+
free: 5,
|
|
115
115
|
pro: Infinity,
|
|
116
116
|
business: Infinity,
|
|
117
117
|
team: Infinity,
|
|
@@ -119,16 +119,16 @@ const TIER_LIMITS = {
|
|
|
119
119
|
|
|
120
120
|
function getUpgradeMessage() {
|
|
121
121
|
const tier = getLicenseTier();
|
|
122
|
-
if (tier === 'free') return `Unlimited analyses with Pro — $
|
|
123
|
-
if (tier === 'pro') return `Upgrade to Business — priority support, $
|
|
124
|
-
if (tier === 'business') return `Upgrade to Team — team seats, $
|
|
122
|
+
if (tier === 'free') return `Unlimited analyses with Pro — $19/mo → ${UPGRADE_LINKS.free}`;
|
|
123
|
+
if (tier === 'pro') return `Upgrade to Business — priority support, $49/mo → ${UPGRADE_LINKS.pro}`;
|
|
124
|
+
if (tier === 'business') return `Upgrade to Team — team seats, $199/mo → ${UPGRADE_LINKS.business}`;
|
|
125
125
|
return '';
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
// Show usage-aware upgrade CTA after each free run.
|
|
129
129
|
// count = daily usage AFTER this run.
|
|
130
130
|
function showFreeTierCTA(count) {
|
|
131
|
-
const limit = TIER_LIMITS.free;
|
|
131
|
+
const limit = TIER_LIMITS.free;
|
|
132
132
|
const remaining = Math.max(0, limit - count);
|
|
133
133
|
|
|
134
134
|
// Track that an upgrade prompt was shown after a run (post-run CTA, not a hard block)
|
|
@@ -139,16 +139,23 @@ function showFreeTierCTA(count) {
|
|
|
139
139
|
hr();
|
|
140
140
|
|
|
141
141
|
if (remaining === 0) {
|
|
142
|
-
//
|
|
142
|
+
// Variant D — power user, last run of the day
|
|
143
143
|
console.log(` ${YL}${B}${count}/${limit} — that's all your free runs for today.${R}`);
|
|
144
144
|
blank();
|
|
145
|
-
console.log(` ${WH}
|
|
146
|
-
console.log(` ${
|
|
145
|
+
console.log(` ${WH}You're clearly using this. $19/month removes the cap entirely —${R}`);
|
|
146
|
+
console.log(` ${WH}unlimited analyses, JSON/HTML export, bulk mode. Cancel anytime.${R}`);
|
|
147
147
|
blank();
|
|
148
|
+
console.log(` ${CY}→ ${UPGRADE_LINKS.free}${R}`);
|
|
148
149
|
console.log(` ${D}Or come back tomorrow for ${limit} more free runs.${R}`);
|
|
149
150
|
} else {
|
|
150
|
-
//
|
|
151
|
-
|
|
151
|
+
// Variant C — compact post-run teaser with command-relevant Pro feature
|
|
152
|
+
const proFeatureMap = {
|
|
153
|
+
grade: 'Bulk-grade entire directories · CI exit codes · JSON output',
|
|
154
|
+
headline: 'Batch-test 50 headlines at once · CSV export',
|
|
155
|
+
analyze: 'CI integration · exit 1 on below-threshold · JSON pipeline output',
|
|
156
|
+
};
|
|
157
|
+
const feature = proFeatureMap[cmd] || 'Unlimited runs · CI mode · bulk grading';
|
|
158
|
+
console.log(` ${D}[ ${count}/${limit} free runs today · ${R}${WH}Pro: ${feature}${R}${D} · ${CY}${UPGRADE_LINKS.free}${R}${D} ]${R}`);
|
|
152
159
|
}
|
|
153
160
|
hr();
|
|
154
161
|
maybeShowFeedbackCTA(count);
|
|
@@ -226,11 +233,11 @@ function showUsageFooter(count) {
|
|
|
226
233
|
const remaining = Math.max(0, limit - count);
|
|
227
234
|
blank();
|
|
228
235
|
if (remaining === 0) {
|
|
229
|
-
console.log(` ${RD}[ ${limit}/${limit} free
|
|
236
|
+
console.log(` ${RD}[ You've used ${limit}/${limit} free runs today · Pro: 50/day, JSON/HTML export, bulk mode — $19/mo → ${UPGRADE_LINKS.free} ]${R}`);
|
|
230
237
|
} else if (remaining <= 1) {
|
|
231
|
-
console.log(` ${YL}[ ${
|
|
238
|
+
console.log(` ${YL}[ You've used ${count}/${limit} free runs today · ${remaining} remaining · Pro: 50/day ($19/mo) → ${UPGRADE_LINKS.free} ]${R}`);
|
|
232
239
|
} else {
|
|
233
|
-
console.log(` ${D}[ ${count}/${limit} free
|
|
240
|
+
console.log(` ${D}[ You've used ${count}/${limit} free runs today · ${remaining} remaining · Pro: 50/day ($19/mo) → ${UPGRADE_LINKS.free} ]${R}`);
|
|
234
241
|
}
|
|
235
242
|
maybeShowEarlyAdopterCTA(count);
|
|
236
243
|
maybeShowFeedbackCTA(count);
|
|
@@ -262,10 +269,19 @@ function checkFreeTierLimit() {
|
|
|
262
269
|
recordEvent({ event: 'upgrade_prompt_shown', run_count: usage.daily });
|
|
263
270
|
|
|
264
271
|
blank();
|
|
265
|
-
|
|
266
|
-
console.log(` ${
|
|
267
|
-
|
|
268
|
-
console.log(` ${
|
|
272
|
+
hr();
|
|
273
|
+
console.log(` ${RD}${B}✗ Free limit reached (${limit}/${limit} today)${R}`);
|
|
274
|
+
blank();
|
|
275
|
+
console.log(` ${WH}content-grade Pro${R}${D} — $19/mo, cancel anytime${R}`);
|
|
276
|
+
console.log(` ${D} ├── ${R}${WH}Unlimited analyses${R}${D} — no daily cap${R}`);
|
|
277
|
+
console.log(` ${D} ├── ${R}${WH}JSON + HTML output${R}${D} — pipe into your pipeline${R}`);
|
|
278
|
+
console.log(` ${D} ├── ${R}${WH}CI mode ${R}${D} — exit 1 on below-threshold content${R}`);
|
|
279
|
+
console.log(` ${D} └── ${R}${WH}Bulk grading ${R}${D} — score an entire /posts/ directory${R}`);
|
|
280
|
+
blank();
|
|
281
|
+
console.log(` ${CY}→ Get Pro ${UPGRADE_LINKS.free}${R}`);
|
|
282
|
+
blank();
|
|
283
|
+
console.log(` ${D}Already have a key? ${R}${WH}content-grade activate <your-key>${R}`);
|
|
284
|
+
hr();
|
|
269
285
|
blank();
|
|
270
286
|
return true;
|
|
271
287
|
}
|
|
@@ -945,7 +961,7 @@ async function cmdInit() {
|
|
|
945
961
|
console.log(` ${CY}content-grade start${R}`);
|
|
946
962
|
blank();
|
|
947
963
|
}
|
|
948
|
-
console.log(` ${WH}Pro: unlimited analyses
|
|
964
|
+
console.log(` ${WH}Pro: unlimited analyses · JSON/HTML export · bulk mode · CI integration — $19/mo, cancel anytime${R}`);
|
|
949
965
|
console.log(` ${MG}→ Get Pro: ${CY}${UPGRADE_LINKS.free}${R}`);
|
|
950
966
|
console.log(` ${D}After checkout: content-grade activate <your-key>${R}`);
|
|
951
967
|
blank();
|
|
@@ -970,14 +986,14 @@ async function cmdActivate() {
|
|
|
970
986
|
blank();
|
|
971
987
|
console.log(` ${B}Pro features:${R}`);
|
|
972
988
|
console.log(` ${D} content-grade batch ./posts/ ${R}${D}# analyze all files in a directory${R}`);
|
|
973
|
-
console.log(` ${D} Unlimited analyses (vs
|
|
989
|
+
console.log(` ${D} Unlimited analyses (vs 3/day free)${R}`);
|
|
974
990
|
blank();
|
|
975
991
|
console.log(` ${D}To activate a different key: ${CY}content-grade activate <new-key>${R}`);
|
|
976
992
|
blank();
|
|
977
993
|
return;
|
|
978
994
|
}
|
|
979
995
|
|
|
980
|
-
console.log(` ${D}Pro unlocks unlimited analyses
|
|
996
|
+
console.log(` ${D}Pro unlocks unlimited analyses, JSON/HTML export, and bulk mode for $19/mo:${R}`);
|
|
981
997
|
blank();
|
|
982
998
|
console.log(` ${MG}${B}→ Get Pro: ${CY}${UPGRADE_LINKS.free}${R}`);
|
|
983
999
|
blank();
|
|
@@ -1115,9 +1131,9 @@ async function cmdBatch(dirPath) {
|
|
|
1115
1131
|
blank();
|
|
1116
1132
|
console.log(` ${D}Grade every file in a directory in one shot. Pro only.${R}`);
|
|
1117
1133
|
blank();
|
|
1118
|
-
console.log(` ${WH}${B}Pro ($
|
|
1134
|
+
console.log(` ${WH}${B}Pro ($19/mo): unlimited analyses · JSON/HTML export · bulk mode · CI integration${R}`);
|
|
1119
1135
|
blank();
|
|
1120
|
-
console.log(` ${MG}${B}→ Get Pro ($
|
|
1136
|
+
console.log(` ${MG}${B}→ Get Pro ($19/mo, cancel anytime): ${CY}${UPGRADE_LINKS.free}${R}`);
|
|
1121
1137
|
blank();
|
|
1122
1138
|
console.log(` ${D}After checkout — 2 steps to unlock:${R}`);
|
|
1123
1139
|
console.log(` ${D} 1. Get your key: ${CY}https://content-grade.onrender.com/my-license${R}`);
|
|
@@ -1330,7 +1346,7 @@ function cmdStart() {
|
|
|
1330
1346
|
info(` EmailForge — ${url}/email-forge`);
|
|
1331
1347
|
info(` AudienceDecoder — ${url}/audience`);
|
|
1332
1348
|
blank();
|
|
1333
|
-
info(`Free tier:
|
|
1349
|
+
info(`Free tier: 5 runs/day. Pro: 50/day ($19/mo) → ${UPGRADE_LINKS.free}`);
|
|
1334
1350
|
info(`Press Ctrl+C to stop`);
|
|
1335
1351
|
blank();
|
|
1336
1352
|
openBrowser(url);
|
|
@@ -1604,8 +1620,8 @@ function cmdHelp() {
|
|
|
1604
1620
|
|
|
1605
1621
|
console.log(` ${B}PRICING${R}`);
|
|
1606
1622
|
blank();
|
|
1607
|
-
console.log(` Free
|
|
1608
|
-
console.log(` Pro Unlimited analyses $
|
|
1623
|
+
console.log(` Free 5 runs/day $0`);
|
|
1624
|
+
console.log(` Pro Unlimited analyses $19/mo (cancel anytime)`);
|
|
1609
1625
|
console.log(` Business Unlimited analyses $29/mo`);
|
|
1610
1626
|
console.log(` Team Unlimited analyses $79/mo`);
|
|
1611
1627
|
blank();
|
package/dist/landing.html
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@type": "Offer",
|
|
37
37
|
"price": "0",
|
|
38
38
|
"priceCurrency": "USD",
|
|
39
|
-
"description": "Free:
|
|
39
|
+
"description": "Free: 3 analyses per day, reset daily. Pro: $19/mo, unlimited. Business: $49/mo, unlimited. Team: $199/mo, unlimited + shared workspace."
|
|
40
40
|
},
|
|
41
41
|
"featureList": [
|
|
42
42
|
"Headline analyzer with framework-based scoring",
|
|
@@ -1017,7 +1017,7 @@
|
|
|
1017
1017
|
</div>
|
|
1018
1018
|
|
|
1019
1019
|
<div class="hero-meta">
|
|
1020
|
-
<span>Free ·
|
|
1020
|
+
<span>Free · 3 analyses/day</span>
|
|
1021
1021
|
<span class="hero-meta-sep">·</span>
|
|
1022
1022
|
<span>Claude CLI required · Zero data leaves your machine</span>
|
|
1023
1023
|
<span class="hero-meta-sep">·</span>
|
|
@@ -1196,7 +1196,7 @@
|
|
|
1196
1196
|
<div class="step">
|
|
1197
1197
|
<div class="step-num">3</div>
|
|
1198
1198
|
<h3>Launch the full dashboard</h3>
|
|
1199
|
-
<p>Start the web interface to access all 6 tools — HeadlineGrader, PageRoast, AdScorer, ThreadGrader, EmailForge, and AudienceDecoder. Free tier:
|
|
1199
|
+
<p>Start the web interface to access all 6 tools — HeadlineGrader, PageRoast, AdScorer, ThreadGrader, EmailForge, and AudienceDecoder. Free tier: 3 analyses per day, reset daily.</p>
|
|
1200
1200
|
<div class="step-code">npx content-grade start</div>
|
|
1201
1201
|
</div>
|
|
1202
1202
|
</div>
|
|
@@ -1208,8 +1208,9 @@
|
|
|
1208
1208
|
<div class="container">
|
|
1209
1209
|
<div class="pricing-header">
|
|
1210
1210
|
<div class="section-eyebrow">Pricing</div>
|
|
1211
|
-
<h2>
|
|
1212
|
-
<p class="pricing-
|
|
1211
|
+
<h2>Stop guessing if your content is good.</h2>
|
|
1212
|
+
<p class="pricing-subhead" style="font-size:20px; font-weight:600; color:var(--fg); margin-bottom:8px;">Pick a plan. Grade everything.</p>
|
|
1213
|
+
<p class="pricing-lead">3 analyses per day — free. No credit card, no signup, no API key required.</p>
|
|
1213
1214
|
</div>
|
|
1214
1215
|
|
|
1215
1216
|
<div class="pricing-grid">
|
|
@@ -1219,58 +1220,65 @@
|
|
|
1219
1220
|
<div class="plan-period">forever · no signup required</div>
|
|
1220
1221
|
<a href="https://www.npmjs.com/package/content-grade" class="plan-cta">Install free →</a>
|
|
1221
1222
|
<ul class="plan-features">
|
|
1222
|
-
<li><span class="check">✓</span> <strong>
|
|
1223
|
-
<li><span class="check">✓</span>
|
|
1224
|
-
<li><span class="check">✓</span>
|
|
1225
|
-
<li><span class="check">✓</span>
|
|
1226
|
-
<li><span class="check">✓</span> Per-dimension score breakdown</li>
|
|
1227
|
-
<li><span class="check">✓</span> HeadlineGrader SERP preview</li>
|
|
1223
|
+
<li><span class="check">✓</span> <strong>3 analyses per day</strong> — enough to build the habit before you commit</li>
|
|
1224
|
+
<li><span class="check">✓</span> Access all 6 tools: HeadlineGrader, PageRoast, AdScorer, ThreadGrader, EmailForge, AudienceDecoder</li>
|
|
1225
|
+
<li><span class="check">✓</span> Core scores: Readability, Clarity, SEO Signal, Engagement potential</li>
|
|
1226
|
+
<li><span class="check">✓</span> No credit card. No signup. No API key.</li>
|
|
1228
1227
|
</ul>
|
|
1229
1228
|
</div>
|
|
1230
1229
|
|
|
1231
1230
|
<div class="plan featured">
|
|
1232
1231
|
<div class="plan-badge">Most popular</div>
|
|
1233
1232
|
<div class="plan-name">PRO</div>
|
|
1234
|
-
<div class="plan-price">$
|
|
1235
|
-
<div class="plan-period">Unlimited analyses
|
|
1236
|
-
<a href="https://buy.stripe.com/4gM14p87GeCh9vn9ks8k80a" class="plan-cta" target="_blank" rel="noopener">
|
|
1233
|
+
<div class="plan-price">$19<span>/mo</span></div>
|
|
1234
|
+
<div class="plan-period">Unlimited analyses · billed monthly</div>
|
|
1235
|
+
<a href="https://buy.stripe.com/4gM14p87GeCh9vn9ks8k80a" class="plan-cta" target="_blank" rel="noopener">Upgrade to Pro →</a>
|
|
1236
|
+
<div style="font-size:13px; color:var(--muted); margin-bottom:12px;">Used by content teams grading 50+ pieces per week.</div>
|
|
1237
1237
|
<ul class="plan-features">
|
|
1238
|
-
<li><span class="check">✓</span> <strong>Unlimited analyses
|
|
1239
|
-
<li><span class="check">✓</span>
|
|
1238
|
+
<li><span class="check">✓</span> <strong>Unlimited analyses</strong> — no daily cap, no throttle, no surprises</li>
|
|
1239
|
+
<li><span class="check">✓</span> Export results as JSON or HTML — pipe scores into dashboards, Notion, or CI pipelines</li>
|
|
1240
|
+
<li><span class="check">✓</span> <code>--bulk</code> mode: grade entire folders in one command</li>
|
|
1240
1241
|
<li><span class="check">✓</span> License key for CLI activation</li>
|
|
1241
|
-
<li><span class="check">✓</span> Batch mode — analyze whole directories</li>
|
|
1242
1242
|
<li><span class="check">✓</span> Priority email support</li>
|
|
1243
|
-
<li><span class="check">✓</span> $0.45/analysis — less than a coffee per day</li>
|
|
1244
1243
|
</ul>
|
|
1245
1244
|
</div>
|
|
1246
1245
|
|
|
1247
1246
|
<div class="plan">
|
|
1248
1247
|
<div class="plan-name">BUSINESS</div>
|
|
1249
|
-
<div class="plan-price">$
|
|
1248
|
+
<div class="plan-price">$49<span>/mo</span></div>
|
|
1250
1249
|
<div class="plan-period">Unlimited analyses · billed monthly</div>
|
|
1251
1250
|
<a href="https://buy.stripe.com/bJefZjafO2Tz36Z2W48k80b" class="plan-cta" target="_blank" rel="noopener">Get Business →</a>
|
|
1252
1251
|
<ul class="plan-features">
|
|
1253
|
-
<li><span class="check">✓</span> <strong>Unlimited analyses</strong
|
|
1254
|
-
<li><span class="check">✓</span>
|
|
1255
|
-
<li><span class="check">✓</span>
|
|
1256
|
-
<li><span class="check">✓</span>
|
|
1252
|
+
<li><span class="check">✓</span> <strong>Unlimited analyses</strong> — everything in Pro</li>
|
|
1253
|
+
<li><span class="check">✓</span> CI mode with exit codes — fail builds when content quality drops</li>
|
|
1254
|
+
<li><span class="check">✓</span> <code>--compare</code> flag: score a rewrite against the original</li>
|
|
1255
|
+
<li><span class="check">✓</span> REST API access for CMS and analytics integrations</li>
|
|
1257
1256
|
</ul>
|
|
1258
1257
|
</div>
|
|
1259
1258
|
|
|
1260
1259
|
<div class="plan">
|
|
1261
1260
|
<div class="plan-name">TEAM</div>
|
|
1262
|
-
<div class="plan-price">$
|
|
1261
|
+
<div class="plan-price">$199<span>/mo</span></div>
|
|
1263
1262
|
<div class="plan-period">Unlimited analyses · billed monthly</div>
|
|
1264
1263
|
<a href="https://buy.stripe.com/cNiaEZfA8cu9bDv4088k80c" class="plan-cta" target="_blank" rel="noopener">Get Team →</a>
|
|
1265
1264
|
<ul class="plan-features">
|
|
1266
|
-
<li><span class="check">✓</span> <strong>Unlimited analyses</strong
|
|
1267
|
-
<li><span class="check">✓</span>
|
|
1268
|
-
<li><span class="check">✓</span>
|
|
1269
|
-
<li><span class="check">✓</span>
|
|
1265
|
+
<li><span class="check">✓</span> <strong>Unlimited analyses</strong> — everything in Business</li>
|
|
1266
|
+
<li><span class="check">✓</span> Shared across up to 10 seats under a single license key</li>
|
|
1267
|
+
<li><span class="check">✓</span> Priority support — 24-hour response SLA</li>
|
|
1268
|
+
<li><span class="check">✓</span> Early access to new tools before public release</li>
|
|
1270
1269
|
</ul>
|
|
1271
1270
|
</div>
|
|
1272
1271
|
</div>
|
|
1273
1272
|
|
|
1273
|
+
<!-- TESTIMONIAL SLOT — replace with real quote before publishing, or remove entirely -->
|
|
1274
|
+
<!-- DO NOT PUBLISH PLACEHOLDER TEXT TO PRODUCTION -->
|
|
1275
|
+
<!--
|
|
1276
|
+
<blockquote class="testimonial" style="margin:32px auto; max-width:560px; padding:20px 24px; background:rgba(124,77,255,0.08); border-left:3px solid #7c4dff; border-radius:0 10px 10px 0; text-align:left;">
|
|
1277
|
+
<p style="color:rgba(255,255,255,0.9); font-size:16px; line-height:1.6; margin:0 0 12px;">"[TESTIMONIAL_QUOTE — 1–3 sentences, result-focused.]"</p>
|
|
1278
|
+
<footer style="color:rgba(255,255,255,0.5); font-size:13px;">— [FIRST NAME LAST NAME], [ROLE] at [COMPANY]</footer>
|
|
1279
|
+
</blockquote>
|
|
1280
|
+
-->
|
|
1281
|
+
|
|
1274
1282
|
<div style="margin-top:32px; padding:20px 24px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:10px; max-width:560px; margin-left:auto; margin-right:auto; text-align:left;">
|
|
1275
1283
|
<div style="font-size:13px; color:rgba(255,255,255,0.5); text-transform:uppercase; letter-spacing:1px; margin-bottom:10px;">After checkout — 2 steps to unlock Pro</div>
|
|
1276
1284
|
<ol style="padding-left:20px; color:rgba(255,255,255,0.8); font-size:15px; line-height:1.9; margin:0;">
|
|
@@ -1302,7 +1310,7 @@
|
|
|
1302
1310
|
<details>
|
|
1303
1311
|
<summary>Do I need an Anthropic API key or a paid Claude account?</summary>
|
|
1304
1312
|
<div class="faq-answer">
|
|
1305
|
-
No API key required. ContentGrade runs on <strong>Claude CLI</strong> — install it for free from claude.ai/code and log in with a Claude account. A free Claude account is sufficient for the free tier (
|
|
1313
|
+
No API key required. ContentGrade runs on <strong>Claude CLI</strong> — install it for free from claude.ai/code and log in with a Claude account. A free Claude account is sufficient for the free tier (3 analyses per day, reset daily).<br /><br />
|
|
1306
1314
|
There's no per-query Anthropic billing. You're not routing calls through the API console or accumulating usage charges. Claude CLI handles authentication locally, which is also why your content never leaves your machine.
|
|
1307
1315
|
</div>
|
|
1308
1316
|
</details>
|
|
@@ -1334,7 +1342,21 @@
|
|
|
1334
1342
|
<summary>Can I use ContentGrade for client work at an agency?</summary>
|
|
1335
1343
|
<div class="faq-answer">
|
|
1336
1344
|
Yes, and this is a primary use case. Because ContentGrade runs locally via Claude CLI, client copy never leaves your machine. There's no SaaS terms of service to worry about, no vendor data retention, and no risk of your client's unreleased campaign copy appearing in someone else's training data.<br /><br />
|
|
1337
|
-
Pro tier includes
|
|
1345
|
+
Pro tier includes unlimited analyses, and Team tier includes shared workspace features — share analyses and scoring history across your team without routing content through any third-party service.
|
|
1346
|
+
</div>
|
|
1347
|
+
</details>
|
|
1348
|
+
|
|
1349
|
+
<details>
|
|
1350
|
+
<summary>Can I cancel anytime?</summary>
|
|
1351
|
+
<div class="faq-answer">
|
|
1352
|
+
Yes. Cancel from your account dashboard — takes 10 seconds. No retention flow, no questions, no email chains. Your subscription stops at the end of the billing period.
|
|
1353
|
+
</div>
|
|
1354
|
+
</details>
|
|
1355
|
+
|
|
1356
|
+
<details>
|
|
1357
|
+
<summary>What counts as an analysis?</summary>
|
|
1358
|
+
<div class="faq-answer">
|
|
1359
|
+
One run of any tool on any single piece of content. Grading a headline = 1 analysis. Roasting a landing page = 1 analysis. Running <code>--bulk</code> on a folder of 20 posts = 20 analyses. The Free tier gives you 3 per day — Pro and above are unlimited.
|
|
1338
1360
|
</div>
|
|
1339
1361
|
</details>
|
|
1340
1362
|
|
|
@@ -1408,7 +1430,7 @@
|
|
|
1408
1430
|
<section class="final-cta">
|
|
1409
1431
|
<div class="container">
|
|
1410
1432
|
<h2>Run your best headline.<br />See where it actually stands.</h2>
|
|
1411
|
-
<p>Free ·
|
|
1433
|
+
<p>Free · 3 analyses/day · No API key · Claude CLI only</p>
|
|
1412
1434
|
<div style="display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;">
|
|
1413
1435
|
<a href="https://github.com/Content-Grade/Content-Grade" class="btn-primary">
|
|
1414
1436
|
Install free — npx content-grade
|
package/package.json
CHANGED