content-grade 1.0.36 → 1.0.37

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
@@ -30,7 +30,7 @@ npx content-grade headline "Why Most Startups Fail at Month 18"
30
30
 
31
31
  **One requirement:** [Claude CLI](https://claude.ai/code) must be installed and logged in (`claude login`). No API keys, no accounts, your content never leaves your machine.
32
32
 
33
- **Free tier:** 3 analyses/day. No signup. `npx content-grade grade README.md` works immediately.
33
+ **Free tier:** 5 analyses/day. No signup. `npx content-grade grade README.md` works immediately.
34
34
 
35
35
  **Install globally** (recommended — skips the `npx` download on every run):
36
36
 
@@ -51,13 +51,13 @@ content-grade activate # unlock Pro: batch mode, 100/day
51
51
 
52
52
  ## Upgrade to Pro
53
53
 
54
- **The free tier is real.** 3 analyses/day lets you evaluate ContentGrade properly.
54
+ **The free tier is real.** 5 analyses/day lets you evaluate ContentGrade properly.
55
55
 
56
56
  Most developers hit the limit when they start trusting it enough to use it on every file — before publishing a post, on every PR, iterating until the score crosses 70. That's when Pro pays for itself.
57
57
 
58
58
  | | Free | Pro |
59
59
  |---|---|---|
60
- | Analyses/day | 3 | Unlimited |
60
+ | Analyses/day | 5 | Unlimited |
61
61
  | All 6 CLI commands | ✓ | ✓ |
62
62
  | Web dashboard (6 tools) | ✓ | ✓ |
63
63
  | Batch mode (`batch <dir>`) | — | ✓ |
@@ -215,7 +215,7 @@ Launch with `content-grade start` — opens at [http://localhost:4000](http://lo
215
215
  | **EmailForge** | `/email-forge` | Subject line + body copy for click-through optimization |
216
216
  | **AudienceDecoder** | `/audience` | Twitter handle → audience archetypes and content patterns |
217
217
 
218
- Free tier: **3 analyses/day**. [Pro ($9/mo)](https://buy.stripe.com/4gM14p87GeCh9vn9ks8k80a): **unlimited analyses** + batch mode.
218
+ Free tier: **5 analyses/day**. [Pro ($9/mo)](https://buy.stripe.com/4gM14p87GeCh9vn9ks8k80a): **unlimited analyses** + batch mode.
219
219
 
220
220
  ---
221
221
 
@@ -312,10 +312,10 @@ content-grade analyze ./post.md --verbose
312
312
 
313
313
  ### Daily limit reached
314
314
 
315
- Free tier: 3 analyses/day, resets at midnight UTC.
315
+ Free tier: 5 analyses/day, resets at midnight UTC.
316
316
 
317
317
  ```
318
- ✗ Daily limit reached (3/3 free checks used today).
318
+ ✗ Daily limit reached (5/5 free checks used today).
319
319
  Upgrade to Pro for unlimited analyses: https://buy.stripe.com/4gM14p87GeCh9vn9ks8k80a
320
320
  ```
321
321
 
@@ -165,7 +165,6 @@ function showFreeTierCTA(count) {
165
165
  console.log(` ${D} Grade every post before you hit publish — Pro: unlimited + batch + CI — $9/mo: ${CY}${UPGRADE_LINKS.free}${R}`);
166
166
  }
167
167
  hr();
168
- console.log(` ${D}⭐ Like ContentGrade? Star us: https://github.com/StanislavBG/Content-Grade${R}`);
169
168
  maybeShowFeedbackCTA(count);
170
169
  }
171
170
 
@@ -222,6 +221,17 @@ function maybeShowFeedbackCTA(count) {
222
221
  console.log(` ${D}Found a bug or have a suggestion? Open an issue: ${CY}https://github.com/StanislavBG/Content-Grade/issues/new${R}`);
223
222
  }
224
223
 
224
+ // Community nudge — shown after every run, ungated (free AND Pro).
225
+ // One line, low noise. Converts CLI runs into visible community members.
226
+ const GITHUB_URL = 'https://github.com/StanislavBG/Content-Grade';
227
+ const DISCUSSIONS_URL = 'https://github.com/StanislavBG/Content-Grade/discussions';
228
+
229
+ function showCommunityNudge() {
230
+ blank();
231
+ console.log(` ${D}⭐ Found this useful? Star us on GitHub: ${CY}${GITHUB_URL}${R}`);
232
+ console.log(` ${D}💬 Questions or feedback? Discussions: ${CY}${DISCUSSIONS_URL}${R}`);
233
+ }
234
+
225
235
  // Single-line usage counter appended after every command run.
226
236
  // count = total runs used today (after this run).
227
237
  function showUsageFooter(count) {
@@ -238,7 +248,6 @@ function showUsageFooter(count) {
238
248
  }
239
249
  maybeShowEarlyAdopterCTA(count);
240
250
  maybeShowFeedbackCTA(count);
241
- console.log(` ${D}⭐ Like ContentGrade? Star us: https://github.com/StanislavBG/Content-Grade${R}`);
242
251
  }
243
252
 
244
253
  // Returns { ok: boolean, count: number, limit: number } for tier-aware daily limit checks.
@@ -718,6 +727,7 @@ async function cmdAnalyze(filePath) {
718
727
  } else {
719
728
  showFreeTierCTA(usageCount);
720
729
  }
730
+ if (!_ciMode) showCommunityNudge();
721
731
 
722
732
  // CI exit code — shown after full output so user sees the score before exit
723
733
  if (_ciMode) {
@@ -879,6 +889,7 @@ async function cmdHeadline(text) {
879
889
  const usageCount = incrementUsage();
880
890
  showFreeTierCTA(usageCount);
881
891
  }
892
+ showCommunityNudge();
882
893
  }
883
894
 
884
895
  // ── Init command ──────────────────────────────────────────────────────────────
@@ -1256,6 +1267,7 @@ async function cmdBatch(dirPath) {
1256
1267
  if (_jsonMode) process.stdout.write(JSON.stringify(results, null, 2) + '\n');
1257
1268
 
1258
1269
  if (!isProUser() && results.length) showUsageFooter(getUsage().count);
1270
+ if (results.length) showCommunityNudge();
1259
1271
  }
1260
1272
 
1261
1273
  // ── Start command ─────────────────────────────────────────────────────────────
@@ -1507,7 +1519,7 @@ async function cmdMetrics() {
1507
1519
  function cmdHelp() {
1508
1520
  banner();
1509
1521
  console.log(` ${D}AI-powered content quality scoring — readability, SEO, structure analysis${R}`);
1510
- console.log(` ${D}v${_version} · ${CY}npmjs.com/package/content-grade${R}`);
1522
+ console.log(` ${D}v${_version} · ${CY}npmjs.com/package/content-grade${R} · ${CY}${GITHUB_URL}${R}`);
1511
1523
  blank();
1512
1524
  console.log(` ${B}QUICK START${R}`);
1513
1525
  blank();
@@ -1614,6 +1626,13 @@ function cmdHelp() {
1614
1626
  console.log(` Get Pro: ${CY}${UPGRADE_LINKS.free}${R} ${D}# direct checkout${R}`);
1615
1627
  console.log(` Activate: ${CY}content-grade activate <your-license-key>${R}`);
1616
1628
  blank();
1629
+
1630
+ console.log(` ${B}COMMUNITY${R}`);
1631
+ blank();
1632
+ console.log(` ⭐ GitHub: ${CY}${GITHUB_URL}${R}`);
1633
+ console.log(` 💬 Discussions: ${CY}${DISCUSSIONS_URL}${R}`);
1634
+ console.log(` 🐛 Issues: ${CY}${FEEDBACK_URL}${R}`);
1635
+ blank();
1617
1636
  }
1618
1637
 
1619
1638
  // ── Feedback command ─────────────────────────────────────────────────────────
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "content-grade",
3
- "version": "1.0.36",
3
+ "version": "1.0.37",
4
4
  "description": "AI-powered content analysis CLI. Score any blog post, landing page, or ad copy in under 30 seconds — runs on Claude CLI, no API key needed.",
5
5
  "type": "module",
6
6
  "bin": {