content-grade 1.0.5 → 1.0.7

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
@@ -3,10 +3,12 @@
3
3
  > AI-powered content quality scoring for developers and content teams. Score any blog post, landing page, ad copy, or email — in under 30 seconds. No API keys. No accounts. Runs on your local Claude CLI.
4
4
 
5
5
  [![npm](https://img.shields.io/npm/v/content-grade.svg)](https://www.npmjs.com/package/content-grade)
6
+ [![npm downloads/month](https://img.shields.io/npm/dm/content-grade.svg)](https://www.npmjs.com/package/content-grade)
7
+ [![npm downloads/week](https://img.shields.io/npm/dw/content-grade.svg)](https://www.npmjs.com/package/content-grade)
6
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
9
  [![Node.js 18+](https://img.shields.io/badge/node-%3E%3D18-brightgreen)](https://nodejs.org)
8
10
  [![Requires Claude CLI](https://img.shields.io/badge/requires-Claude%20CLI-orange)](https://claude.ai/code)
9
- [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-blue?logo=github)](https://github.com/StanislavBG/Content-Grade/discussions)
11
+ [![GitHub Discussions](https://img.shields.io/badge/GitHub-Discussions-blue?logo=github)](https://github.com/content-grade/Content-Grade/discussions)
10
12
  [![Early Adopter seats open](https://img.shields.io/badge/Early%20Adopter-50%20seats%20open-success)](EARLY_ADOPTERS.md)
11
13
 
12
14
  ---
@@ -14,30 +16,56 @@
14
16
  ## 60-second quickstart
15
17
 
16
18
  ```bash
17
- # 1. Verify Claude CLI is installed and logged in
18
- claude -p "say hi"
19
-
20
- # 2. Run instant demo — no file needed, see results in ~30 seconds
19
+ # Step 1: See it in action instant demo, no file needed
21
20
  npx content-grade
22
21
 
23
- # 3. Analyze your own content (grade is an alias for analyze)
22
+ # Step 2: Score your own content
23
+ npx content-grade grade README.md
24
24
  npx content-grade grade ./my-post.md
25
- npx content-grade analyze ./my-post.md
26
25
 
27
- # 4. CI pipeline get raw JSON or score-only output
28
- npx content-grade analyze ./post.md --json
29
- npx content-grade analyze ./post.md --quiet # prints score number only
30
-
31
- # 5. Grade a headline
26
+ # Step 3: Grade a headline
32
27
  npx content-grade headline "Why Most Startups Fail at Month 18"
28
+ ```
29
+
30
+ **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.
31
+
32
+ **Free tier:** 50 analyses/day. No signup. `npx content-grade grade README.md` works immediately.
33
+
34
+ **Install globally** (recommended — skips the `npx` download on every run):
35
+
36
+ ```bash
37
+ npm install -g content-grade
38
+ content-grade --help
39
+ ```
33
40
 
34
- # 6. Unlock Pro (batch mode, 100/day limit)
35
- npx content-grade activate
41
+ ```bash
42
+ # More commands
43
+ content-grade https://yourblog.com/post # analyze any URL
44
+ content-grade analyze ./post.md --json # raw JSON for CI pipelines
45
+ content-grade analyze ./post.md --quiet # score number only (for scripts)
46
+ content-grade activate # unlock Pro: batch mode, 100/day
36
47
  ```
37
48
 
38
- **One requirement:** [Claude CLI](https://claude.ai/code) must be installed and logged in. No API keys, no accounts, no data leaves your machine.
49
+ ---
50
+
51
+ ## Usage Examples
39
52
 
40
- **Free tier:** 50 analyses/day, no signup needed. `npx content-grade grade README.md` works immediately.
53
+ **Grade a single file:**
54
+ ```bash
55
+ npx content-grade article.md
56
+ ```
57
+
58
+ **Grade multiple files with a glob pattern:**
59
+ ```bash
60
+ npx content-grade 'blog/**/*.md'
61
+ ```
62
+
63
+ **JSON output for CI integration:**
64
+ ```bash
65
+ npx content-grade README.md --format json
66
+ # Returns structured JSON with score, grade, dimensions, and improvements
67
+ # Exit code 1 if score < 50 — useful for blocking low-quality merges
68
+ ```
41
69
 
42
70
  ---
43
71
 
@@ -107,6 +135,7 @@ npx content-grade activate
107
135
  | `init` | First-run setup: verify Claude CLI, run smoke test |
108
136
  | `start` | Launch the full web dashboard (6 tools) |
109
137
  | `telemetry [on\|off]` | View or toggle anonymous usage tracking |
138
+ | `check-updates` | Check if a newer version is available on npm |
110
139
  | `help` | Full usage and examples |
111
140
 
112
141
  **Flags:**
@@ -116,6 +145,7 @@ npx content-grade activate
116
145
  | `--json` | Raw JSON output — pipe to `jq` for CI integration |
117
146
  | `--quiet` | Score number only — for shell scripts |
118
147
  | `--version` | Print version |
148
+ | `--verbose` | Show debug info (model, timing, Claude response length) |
119
149
  | `--no-telemetry` | Skip usage tracking for this run |
120
150
 
121
151
  **Global flags:**
@@ -141,7 +171,20 @@ Launch with `content-grade start` — opens at [http://localhost:4000](http://lo
141
171
  | **EmailForge** | `/email-forge` | Subject line + body copy for click-through optimization |
142
172
  | **AudienceDecoder** | `/audience` | Twitter handle → audience archetypes and content patterns |
143
173
 
144
- Free tier: **50 analyses/day per tool**. Pro ($19/mo): **100 analyses/day** + all tools.
174
+ Free tier: **50 analyses/day per tool**. Pro ($9/mo): **100 analyses/day** + all tools.
175
+
176
+ ---
177
+
178
+ ## Join the Discussion
179
+
180
+ **[GitHub Discussions](https://github.com/Content-Grade/Content-Grade/discussions)** — ask questions, share setups, vote on what gets built next.
181
+
182
+ Active threads:
183
+ - [What content quality checks matter most to you?](https://github.com/Content-Grade/Content-Grade/discussions/1) — General
184
+ - [Show your ContentGrade setup — configs, workflows, CI integrations](https://github.com/Content-Grade/Content-Grade/discussions/2) — Show & Tell
185
+ - [Feature requests & roadmap input](https://github.com/Content-Grade/Content-Grade/discussions/3) — Ideas
186
+ - [Content scoring in CI — who is actually doing this?](https://github.com/Content-Grade/Content-Grade/discussions/4) — General
187
+ - [What integrations would make ContentGrade essential to your workflow?](https://github.com/Content-Grade/Content-Grade/discussions/5) — Ideas
145
188
 
146
189
  ---
147
190
 
@@ -160,6 +203,112 @@ If this fails, run `npx content-grade init` for step-by-step diagnostics.
160
203
 
161
204
  ---
162
205
 
206
+ ---
207
+
208
+ ## Troubleshooting
209
+
210
+ ### `Error: Claude CLI not found`
211
+
212
+ ContentGrade requires Claude CLI. Install it:
213
+
214
+ ```bash
215
+ npm install -g @anthropic-ai/claude-code
216
+ claude login
217
+ ```
218
+
219
+ Then verify it works:
220
+
221
+ ```bash
222
+ claude -p "say hi"
223
+ ```
224
+
225
+ If Claude is installed but not on your PATH, set `CLAUDE_PATH`:
226
+
227
+ ```bash
228
+ CLAUDE_PATH=/path/to/claude content-grade analyze ./post.md
229
+ ```
230
+
231
+ Or add it permanently to your shell profile:
232
+
233
+ ```bash
234
+ export CLAUDE_PATH=/path/to/claude
235
+ ```
236
+
237
+ ---
238
+
239
+ ### Analysis times out or hangs
240
+
241
+ Claude CLI calls can take 10–60 seconds on first run. If it hangs beyond 2 minutes:
242
+
243
+ 1. Test Claude directly: `claude -p "say hi"` — if this hangs too, Claude CLI is the issue
244
+ 2. Check your internet connection (Claude CLI phones home on first use)
245
+ 3. Run `content-grade init` for a guided diagnostic
246
+
247
+ ---
248
+
249
+ ### `Could not parse response as JSON`
250
+
251
+ This means Claude returned a non-JSON response. Common causes:
252
+
253
+ - Claude CLI rate-limited your account (try again in a few minutes)
254
+ - The file content was too short or unrecognizable as text content
255
+ - Claude returned an error message instead of scoring output
256
+
257
+ Run with `--verbose` to see the raw response:
258
+
259
+ ```bash
260
+ content-grade analyze ./post.md --verbose
261
+ ```
262
+
263
+ ---
264
+
265
+ ### Daily limit reached
266
+
267
+ Free tier: 50 CLI analyses/day, resets at midnight UTC.
268
+
269
+ ```
270
+ ✗ Daily limit reached (50/50 free checks used today).
271
+ ```
272
+
273
+ Options:
274
+ - Wait until midnight UTC for the limit to reset
275
+ - Unlock 100/day with Pro: `content-grade activate`
276
+
277
+ ---
278
+
279
+ ### `content-grade: command not found` after global install
280
+
281
+ If `npm install -g content-grade` succeeded but the command isn't found:
282
+
283
+ ```bash
284
+ # Find where npm puts global binaries
285
+ npm bin -g
286
+
287
+ # Add to PATH — for bash/zsh, add this to ~/.bashrc or ~/.zshrc:
288
+ export PATH="$(npm bin -g):$PATH"
289
+ ```
290
+
291
+ ---
292
+
293
+ ### `activate` says "Could not reach server"
294
+
295
+ The activation server may be temporarily unreachable. The key is stored locally without online verification — this is normal and your Pro access will still work for CLI tools. Re-run `content-grade activate` to re-verify once the server is back.
296
+
297
+ ---
298
+
299
+ ### Something else is broken
300
+
301
+ Run the built-in diagnostic:
302
+
303
+ ```bash
304
+ content-grade init
305
+ ```
306
+
307
+ This checks: Claude CLI on PATH, live smoke test, production build status. It will tell you exactly what's wrong.
308
+
309
+ Still stuck? Open an issue: [github.com/Content-Grade/Content-Grade/issues](https://github.com/Content-Grade/Content-Grade/issues)
310
+
311
+
163
312
  ## CLI reference
164
313
 
165
314
  ### `analyze` / `check`
@@ -291,6 +440,53 @@ Scans up to 2 directory levels deep for `.md`, `.txt`, and `.mdx` files. Picks t
291
440
 
292
441
  ---
293
442
 
443
+ ---
444
+
445
+ ### `check-updates`
446
+
447
+ ```bash
448
+ content-grade check-updates
449
+ ```
450
+
451
+ Checks npm for the latest published version of `content-grade` and compares it against the installed version. If an update is available, prints the upgrade command.
452
+
453
+ ```bash
454
+ ⚠ Update available: v1.0.4 → v1.0.5
455
+ Update with:
456
+ npm install -g content-grade (global install)
457
+ npm install content-grade@latest (local install)
458
+ ```
459
+
460
+ ---
461
+
462
+ ### `activate`
463
+
464
+ ```bash
465
+ content-grade activate
466
+ content-grade activate <your-license-key>
467
+ ```
468
+
469
+ Unlocks Pro features by storing your license key locally. Can be run interactively (prompts for the key) or non-interactively by passing the key as an argument — useful for automated setups:
470
+
471
+ ```bash
472
+ # Interactive
473
+ content-grade activate
474
+
475
+ # Non-interactive (CI/CD or scripted setup)
476
+ CONTENT_GRADE_KEY=your-key-here content-grade analyze ./post.md
477
+ ```
478
+
479
+ The key is validated against the server and saved to `~/.config/content-grade/config.json`. If the server is unreachable (corporate proxy, offline), the key is stored locally anyway with a warning.
480
+
481
+ **Pro unlocks:**
482
+ - 100 analyses/day (vs 50 free)
483
+ - `content-grade batch <dir>` — analyze entire directories at once
484
+ - A/B headline comparison (web dashboard)
485
+ - Landing page URL audit, ad copy scoring, email optimizer
486
+
487
+ Get a license: [content-grade.github.io/Content-Grade/](https://content-grade.github.io/Content-Grade/)
488
+
489
+
294
490
  ## Configuration
295
491
 
296
492
  All configuration is through environment variables — no config file needed.
@@ -319,7 +515,7 @@ Stripe variables are entirely optional — all tools work without them; upgrade
319
515
  ## Self-hosting / Development
320
516
 
321
517
  ```bash
322
- git clone https://github.com/StanislavBG/Content-Grade
518
+ git clone https://github.com/content-grade/Content-Grade
323
519
  cd Content-Grade
324
520
  npm install
325
521
  npm run dev # hot reload: server at :4000, client at :3000
@@ -350,6 +546,11 @@ tests/
350
546
 
351
547
  **REST API:** The web dashboard exposes a full REST API at `http://localhost:4000`. See [`docs/api.md`](./docs/api.md) for the complete reference — every endpoint, request shape, response schema, and cURL examples.
352
548
 
549
+ **Documentation:**
550
+ - [`docs/getting-started.md`](./docs/getting-started.md) — step-by-step first-run guide
551
+ - [`docs/examples.md`](./docs/examples.md) — real-world examples for all 6 tools, CI/CD workflows, Node.js integration
552
+ - [`docs/api.md`](./docs/api.md) — full REST API reference
553
+
353
554
  **Run tests:**
354
555
 
355
556
  ```bash
@@ -711,7 +912,7 @@ echo "$DATE,$HEADLINE,$SCORE" >> headline-scores.csv
711
912
 
712
913
  | | Free | Pro |
713
914
  |-|------|-----|
714
- | Price | Free forever | $19/month |
915
+ | Price | Free forever | $9/month |
715
916
  | Analyses/day (CLI) | Unlimited | Unlimited |
716
917
  | Analyses/day (web dashboard, per tool) | 3 | 100 |
717
918
  | HeadlineGrader (single grade) | ✓ | ✓ |
@@ -744,25 +945,25 @@ ContentGrade is built in public. The community is the roadmap.
744
945
 
745
946
  ### GitHub Discussions
746
947
 
747
- **[Join the conversation →](https://github.com/StanislavBG/Content-Grade/discussions)**
948
+ **[Join the conversation →](https://github.com/content-grade/Content-Grade/discussions)**
748
949
 
749
950
  | Category | What it's for |
750
951
  |----------|--------------|
751
- | [Q&A](https://github.com/StanislavBG/Content-Grade/discussions/new?category=q-a) | "Why is my score lower than expected?" — questions get answered here |
752
- | [Show & Tell](https://github.com/StanislavBG/Content-Grade/discussions/new?category=show-and-tell) | Share your workflow, integration, or results — early adopters post here |
753
- | [Ideas](https://github.com/StanislavBG/Content-Grade/discussions/new?category=ideas) | Feature requests and suggestions before they become issues |
952
+ | [Q&A](https://github.com/content-grade/Content-Grade/discussions/new?category=q-a) | "Why is my score lower than expected?" — questions get answered here |
953
+ | [Show & Tell](https://github.com/content-grade/Content-Grade/discussions/new?category=show-and-tell) | Share your workflow, integration, or results — early adopters post here |
954
+ | [Ideas](https://github.com/content-grade/Content-Grade/discussions/new?category=ideas) | Feature requests and suggestions before they become issues |
754
955
 
755
956
  ### Early Adopter Program — 50 seats
756
957
 
757
958
  **[EARLY_ADOPTERS.md](EARLY_ADOPTERS.md)** — The first 50 users who install and share feedback get:
758
959
 
759
- - **Pro tier free for 12 months** ($19/mo value)
960
+ - **Pro tier free for 12 months** ($9/mo value)
760
961
  - Direct feedback channel with the maintainer
761
962
  - Name in CONTRIBUTORS.md (permanent)
762
963
  - Roadmap preview + design input before features ship
763
964
  - 30-minute onboarding call (optional)
764
965
 
765
- One action to claim: run ContentGrade, then post in [Show & Tell](https://github.com/StanislavBG/Content-Grade/discussions/new?category=show-and-tell) with `[Early Adopter]` in the title.
966
+ One action to claim: run ContentGrade, then post in [Show & Tell](https://github.com/content-grade/Content-Grade/discussions/new?category=show-and-tell) with `[Early Adopter]` in the title.
766
967
 
767
968
  ### Champions Program
768
969
 
@@ -774,16 +975,28 @@ See **[CONTRIBUTING.md](CONTRIBUTING.md)** for local dev setup, PR guidelines, a
774
975
 
775
976
  ### Roadmap
776
977
 
777
- **[ROADMAP.md](ROADMAP.md)** — what's built, what's next, what's planned, and what we're deliberately not doing. Open a [Discussion](https://github.com/StanislavBG/Content-Grade/discussions/new?category=ideas) to challenge or extend it.
978
+ **[ROADMAP.md](ROADMAP.md)** — what's built, what's next, what's planned, and what we're deliberately not doing. Open a [Discussion](https://github.com/content-grade/Content-Grade/discussions/new?category=ideas) to challenge or extend it.
778
979
 
779
980
  ### Feedback Loop
780
981
 
781
- **[FEEDBACK_LOOP.md](FEEDBACK_LOOP.md)** — how feedback flows into product decisions. Monthly structured check-ins, 48h triage SLA, and roadmap sync. Use the [monthly feedback template](https://github.com/StanislavBG/Content-Grade/issues/new?template=monthly_feedback.yml) to share your experience.
982
+ **[FEEDBACK_LOOP.md](FEEDBACK_LOOP.md)** — how feedback flows into product decisions. Monthly structured check-ins, 48h triage SLA, and roadmap sync. Use the [monthly feedback template](https://github.com/content-grade/Content-Grade/issues/new?template=monthly_feedback.yml) to share your experience.
782
983
 
783
984
  ### Contributors
784
985
 
785
986
  **[CONTRIBUTORS.md](CONTRIBUTORS.md)** — everyone who has improved ContentGrade. Code, bug reports, and real-world feedback all count. Early Adopters and Champions are listed here permanently.
786
987
 
988
+ ### Use ContentGrade in your project
989
+
990
+ Add a badge to show your content meets the bar:
991
+
992
+ ```markdown
993
+ [![content-grade](https://img.shields.io/badge/content--grade-passing-brightgreen)](https://www.npmjs.com/package/content-grade)
994
+ ```
995
+
996
+ Score-specific badge: `https://img.shields.io/badge/content--grade-{SCORE}%2F100-brightgreen`
997
+
998
+ See [docs/social-proof/built-with-badge.md](docs/social-proof/built-with-badge.md) for SVG assets and CI integration examples.
999
+
787
1000
  ---
788
1001
 
789
1002
  ## License