gsc-cli 2.1.0 → 2.2.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.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +410 -414
  3. data/bin/gsc +28067 -5661
  4. data/dist/gsc +29121 -5046
  5. data/lib/gsc/aio_hunter.rb +343 -0
  6. data/lib/gsc/answer_synthesizer.rb +157 -0
  7. data/lib/gsc/api.rb +53 -1
  8. data/lib/gsc/auth.rb +26 -0
  9. data/lib/gsc/brand_segmenter.rb +140 -0
  10. data/lib/gsc/cache_manager.rb +806 -0
  11. data/lib/gsc/cannibalization_analyzer.rb +141 -0
  12. data/lib/gsc/canonical_chains.rb +367 -0
  13. data/lib/gsc/citation_simulator.rb +339 -0
  14. data/lib/gsc/cli/aio_hunter.rb +154 -0
  15. data/lib/gsc/cli/analytics.rb +788 -0
  16. data/lib/gsc/cli/audit.rb +1976 -0
  17. data/lib/gsc/cli/base.rb +384 -0
  18. data/lib/gsc/cli/cache.rb +266 -0
  19. data/lib/gsc/cli/canonical.rb +223 -0
  20. data/lib/gsc/cli/citation_simulator.rb +152 -0
  21. data/lib/gsc/cli/dashboard.rb +354 -0
  22. data/lib/gsc/cli/doctor.rb +129 -0
  23. data/lib/gsc/cli/eeat.rb +125 -0
  24. data/lib/gsc/cli/ga4.rb +852 -0
  25. data/lib/gsc/cli/growth.rb +650 -0
  26. data/lib/gsc/cli/hreflang.rb +164 -0
  27. data/lib/gsc/cli/image_seo.rb +162 -0
  28. data/lib/gsc/cli/indexing.rb +458 -0
  29. data/lib/gsc/cli/intent_shift.rb +125 -0
  30. data/lib/gsc/cli/keyword_value.rb +134 -0
  31. data/lib/gsc/cli/keywords.rb +795 -0
  32. data/lib/gsc/cli/landing_roi.rb +308 -0
  33. data/lib/gsc/cli/low_ctr.rb +213 -0
  34. data/lib/gsc/cli/mobile_parity.rb +150 -0
  35. data/lib/gsc/cli/report.rb +100 -0
  36. data/lib/gsc/cli/rich_results.rb +172 -0
  37. data/lib/gsc/cli/schema_generate.rb +149 -0
  38. data/lib/gsc/cli/seasonal.rb +232 -0
  39. data/lib/gsc/cli/security.rb +153 -0
  40. data/lib/gsc/cli/setup.rb +1291 -0
  41. data/lib/gsc/cli/sitemap_tree.rb +143 -0
  42. data/lib/gsc/cli/skill_pack.rb +62 -0
  43. data/lib/gsc/cli/soft_404.rb +199 -0
  44. data/lib/gsc/cli/sparkline.rb +227 -0
  45. data/lib/gsc/cli/watchdog.rb +150 -0
  46. data/lib/gsc/cli/zombie_purger.rb +208 -0
  47. data/lib/gsc/cli.rb +707 -5265
  48. data/lib/gsc/cli_advanced.rb +987 -44
  49. data/lib/gsc/client.rb +17 -2
  50. data/lib/gsc/color.rb +16 -1
  51. data/lib/gsc/command_registry.rb +47 -9
  52. data/lib/gsc/config.rb +2 -2
  53. data/lib/gsc/ctr_curve.rb +115 -0
  54. data/lib/gsc/decay_predictor.rb +322 -0
  55. data/lib/gsc/doctor.rb +434 -0
  56. data/lib/gsc/eeat_auditor.rb +428 -0
  57. data/lib/gsc/entity_auditor.rb +229 -0
  58. data/lib/gsc/firewall_scanner.rb +733 -0
  59. data/lib/gsc/geo_auditor.rb +368 -0
  60. data/lib/gsc/google_trends.rb +8 -1
  61. data/lib/gsc/heading_validator.rb +283 -0
  62. data/lib/gsc/hreflang_validator.rb +412 -0
  63. data/lib/gsc/image_seo.rb +286 -0
  64. data/lib/gsc/indexing_queue.rb +179 -0
  65. data/lib/gsc/indexnow.rb +93 -0
  66. data/lib/gsc/intent_shift.rb +188 -0
  67. data/lib/gsc/internal_links.rb +153 -36
  68. data/lib/gsc/keyword_value.rb +191 -0
  69. data/lib/gsc/landing_roi.rb +195 -0
  70. data/lib/gsc/llms_generator.rb +343 -22
  71. data/lib/gsc/low_ctr_rewriter.rb +408 -0
  72. data/lib/gsc/mobile_parity.rb +222 -0
  73. data/lib/gsc/network_tracer.rb +8 -1
  74. data/lib/gsc/page_analyzer.rb +47 -7
  75. data/lib/gsc/prompts.rb +38 -29
  76. data/lib/gsc/questions_harvester.rb +178 -0
  77. data/lib/gsc/report_generator.rb +461 -0
  78. data/lib/gsc/rich_results.rb +388 -0
  79. data/lib/gsc/robots_checker.rb +46 -15
  80. data/lib/gsc/schema_generator.rb +788 -0
  81. data/lib/gsc/schema_validator.rb +36 -38
  82. data/lib/gsc/seasonal_predictor.rb +381 -0
  83. data/lib/gsc/security_scanner.rb +496 -0
  84. data/lib/gsc/serp_feature_detector.rb +359 -0
  85. data/lib/gsc/serp_preview.rb +108 -22
  86. data/lib/gsc/site_crawler.rb +113 -21
  87. data/lib/gsc/sitemap_loader.rb +15 -4
  88. data/lib/gsc/sitemap_tree.rb +301 -0
  89. data/lib/gsc/skill_pack.rb +195 -0
  90. data/lib/gsc/soft_404_analyzer.rb +385 -0
  91. data/lib/gsc/sparkline.rb +171 -0
  92. data/lib/gsc/speed_correlator.rb +416 -0
  93. data/lib/gsc/striking_playbook.rb +190 -0
  94. data/lib/gsc/title_optimizer.rb +420 -0
  95. data/lib/gsc/vault.rb +260 -0
  96. data/lib/gsc/version.rb +1 -1
  97. data/lib/gsc/watchdog.rb +235 -0
  98. data/lib/gsc/zombie_purger.rb +366 -0
  99. data/lib/gsc.rb +118 -0
  100. metadata +75 -1
data/README.md CHANGED
@@ -1,14 +1,16 @@
1
- # 🚀 GSC CLI — The Zero-Dependency Google Search Console, Trends & Indexing Engine for High-Growth Operators
1
+ # 🚀 High-Growth Operators & Autonomous AI Agents: The Zero-Dependency Google Search Console, AIO Hunter & Instant Indexing Engine
2
2
 
3
3
  > **Zero Gem Dependencies.** Pure Ruby standard library (`Net::HTTP`, `OpenSSL`, `JSON`).
4
- > Sub-50ms CLI & AI Agent engine for real-time Google search rankings, instant Googlebot indexing, Google Trends velocity, Keywords Everywhere volume, and 360° SEO health audits.
4
+ > **The Sub-50ms Organic Growth Mandate:** Extract ground-truth Google rankings, capture Google AI Overviews, and automate technical SEO in **< 50 milliseconds** — *even if you manage 50 client domains, don't have a Google Service Account key yet, or run offline AI coding agents with strict token budgets.*
5
5
 
6
6
  [![Ruby](https://img.shields.io/badge/Ruby-3.0%2B-red.svg?logo=ruby&logoColor=white)](https://www.ruby-lang.org)
7
7
  [![Gem Version](https://badge.fury.io/rb/gsc-cli.svg)](https://rubygems.org/gems/gsc-cli)
8
8
  [![Dependencies](https://img.shields.io/badge/dependencies-0%20gems-brightgreen.svg)](#)
9
9
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
10
- [![Sponsor](https://img.shields.io/badge/Sponsor-Stripe-635BFF.svg?logo=stripe&logoColor=white)](#-sponsorship--backing)
10
+ [![Commands](https://img.shields.io/badge/commands-80%20production-orange.svg)](#-complete-cli-command-reference-80-commands)
11
+ [![Security: AES-256-GCM](https://img.shields.io/badge/Vault-AES--256--GCM-blueviolet.svg)](#8-agency-credential-vault-gsc-vault)
11
12
  [![AI Agent Native](https://img.shields.io/badge/AI%20Agent-Native%20Skill-purple.svg)](#-ai-agent-native-integration-antigravity-claude-cursor)
13
+ [![GitHub Stars](https://img.shields.io/github/stars/ApollosWave/gsc-cli?style=social)](https://github.com/ApollosWave/gsc-cli)
12
14
 
13
15
  ---
14
16
 
@@ -19,8 +21,8 @@
19
21
 
20
22
  <p align="center">
21
23
  <sub>Explore other software built by our team:</sub><br>
22
- ⚡ <a href="https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Superspeed</b></a> — Shopify speed, CRO & revenue leak intelligence app (5.0 ★)<br>
23
- 🛒 <a href="https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Supercart</b></a> — High-converting slide cart drawer & 1-click upsells for Shopify stores<br>
24
+ ⚡ <a href="https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Superspeed</b></a> — Built for Shopify speed, CRO & revenue leak intelligence app (5.0 ★)<br>
25
+ 🛒 <a href="https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Supercart</b></a> — Built for Shopify slide cart drawer, in-house shipping protection & upsells (5.0 ★)<br>
24
26
  📦 <a href="https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>PackingLog</b></a> — Smart QR-code box inventory & photo catalog for residential & office moves
25
27
  </p>
26
28
 
@@ -28,36 +30,93 @@
28
30
 
29
31
  ## ⚡ The Brutal Truth About Modern SEO (And Why We Built GSC CLI)
30
32
 
31
- Every software company, indie hacker, and e-commerce founder faces the exact same painful reality:
33
+ Every software founder, growth engineer, and indie builder faces the exact same bleeding bottlenecks:
32
34
 
33
- 1. **You're Paying $300/Month for Guesswork**: Third-party SEO suites (Ahrefs, Semrush, Moz) scrape search results and guess your rankings using outdated third-party databases. Meanwhile, **Google already has the exact, ground-truth data** for your site sitting inside Search Console—for free.
34
- 2. **Official Google API Gems Are Bloated Monsters**: The official Google API Ruby gems (`google-apis-searchconsole_v1`, `google-apis-indexing_v3`, `googleauth`) drag in **40+ dependency gems**, take 3 to 5 seconds just to boot, trigger bundle conflicts, and introduce constant supply-chain security alerts.
35
- 3. **Google Search Console's Web UI is Painfully Slow**: Clicking through Google Search Console's web interface to inspect 50 URLs or spot keyword cannibalization takes hours of repetitive clicking, filtering, and tab-switching.
36
- 4. **AI Agents Need Clean, Fast, Machine-Readable Intelligence**: Modern AI coding agents (Google Antigravity, Claude Code, Cursor, Codex) cannot click web buttons. They need raw, fast, deterministic JSON over stdout.
35
+ 1. **Bleeding $300 to $1,000+/Month on SEO Tool Fees for Sampled Guesswork**: Third-party estimation suites charge $300 to $1,000+ every month to scrape search results with external proxies and model keyword volumes from sampled databases. Meanwhile, **Google already has the exact, 100% first-party ground-truth data** for your site sitting inside Search Console—completely free.
36
+ 2. **Official Google API Gems Are Bloated Monsters**: The official Google API Ruby gems (`google-apis-searchconsole_v1`, `google-apis-indexing_v3`, `googleauth`) drag in **40+ transitive gem dependencies**, take 3 to 5 seconds just to boot, trigger bundle conflicts, and introduce constant supply-chain vulnerabilities.
37
+ 3. **Google Search Console's Web UI is Insultingly Slow**: Clicking through Google Search Console's web interface to inspect 50 URLs, check soft-404 errors, or spot cannibalization takes hours of repetitive clicking, filtering, and tab-switching.
38
+ 4. **Google AI Overviews (AIO) Are Stealing 40% of Clicks**: Zero-click searches are skyrocketing. If your content isn't structured for direct citation in Google Gemini / AI Overviews, your organic traffic drops even if you rank on Page 1.
39
+ 5. **AI Coding Agents Cannot Click Web Buttons**: Modern coding agents (Antigravity, Claude Code, Cursor, Cline) need raw, deterministic, sub-50ms JSON over stdout to diagnose and fix SEO issues autonomously inside your codebase.
37
40
 
38
- ### The Epiphany Bridge
41
+ ### The Origin of GSC-CLI
39
42
  At **[ApollosWave](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**, we run multiple production software businesses—from Shopify revenue & speed intelligence (**[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**) and e-commerce upsell apps (**[Supercart](https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**) to physical moving inventory SaaS (**[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**).
40
43
 
41
- We refused to bloat our repos with 40 gems or waste 10 hours a week clicking in Search Console. We needed a **single, standalone pure-Ruby CLI** that connects directly to Google APIs using native `OpenSSL` and `Net::HTTP` in **under 50 milliseconds**.
44
+ We refused to bloat our applications with 40 gems or waste 10 hours a week clicking in Search Console. We needed a **single, standalone, pure-Ruby CLI** that communicates directly with Google's bare-metal HTTP APIs using native `OpenSSL` and `Net::HTTP` in **under 50 milliseconds**.
42
45
 
43
- We built **`gsc-cli`** to run our own marketing. **We open-sourced it 100% free under the MIT License** so other builders and businesses can grow organic search traffic faster without the corporate SEO tax.
46
+ We built **`gsc-cli`** to run our own marketing operations. **We open-sourced it 100% free under the MIT License** so other builders can scale organic search traffic without the corporate SEO tax.
47
+
48
+ ---
49
+
50
+ ## 💎 The 5 Immutable Truths of Modern Organic Growth
51
+
52
+ 1. **Compounding Organic Acquisition**: You didn't build your software to burn half your runway on paid ads. You built it to create a compounding, self-sustaining organic acquisition engine that pulls in qualified customers day and night on autopilot.
53
+ 2. **First-Party Ground Truth Over Guesswork**: You always suspected that third-party scraping tools and panel-based traffic estimators don't have Google's private internal search logs for your domain. You were right. External proxy estimators rely on sampled clickstream models; meanwhile, Google Search Console stores the exact, 100% first-party click and impression ground truth directly from Google's production infrastructure—completely free.
54
+ 3. **Liberation from the 40-Gem Tax**: Official Google API gems drag in 40+ dependency gems, slow down boot times to 4+ seconds, trigger bundle conflicts, and introduce constant supply-chain alerts. GSC-CLI communicates directly with Google's bare-metal HTTP APIs using pure Ruby standard library in **< 1 millisecond**.
55
+ 4. **Zero-Trust Local Execution & Anti-Slop Guarantee**: Developers are tired of untrusted scripts that require root privileges or send your private code to remote AI servers. `gsc-cli` is **not an AI slop wrapper**. It runs 100% locally with zero external gem dependencies, zero telemetry, and zero remote code ingestion.
56
+ 5. **Actionable Remediation Over Passive Error Tables**: Traditional SEO auditing tools spit out 500 error rows but leave you stranded without actionable fixes. GSC-CLI diagnoses soft-404 traps and automatically synthesizes copy-paste redirect blocks for 14 server environments.
57
+
58
+ ---
59
+
60
+ ## ⚡ The Contrarian Architecture: Why Pure-Ruby Beats 40-Gem SDKs
61
+
62
+ Conventional wisdom says: *"To build Google API integrations, you must install the official Google API gems (`google-apis-searchconsole_v1`, `googleauth`)."*
63
+
64
+ **We reject that completely.**
65
+
66
+ Google's APIs are just standard, RFC-compliant HTTPS endpoints returning JSON. Forcing a developer to pull in 40+ transitive gem dependencies just to send a signed HTTP POST request is architectural malpractice:
67
+ - It bloats container images.
68
+ - It inflates Docker deployment sizes.
69
+ - It creates endless `bundle install` version conflicts.
70
+ - It slows down sub-millisecond AI agent loops.
71
+
72
+ By implementing Google's JWT service account authentication in pure `OpenSSL` and streaming responses through native `Net::HTTP` with Gzip decompression, `gsc-cli` boots in **< 1 millisecond** and executes entire multi-step audit loops in under 50 milliseconds.
44
73
 
45
74
  ---
46
75
 
47
76
  ## 💎 Key Capabilities at a Glance
48
77
 
49
- - 📈 **Real-Time Google Trends Engine**: 5-year and 1-year search trajectory, growth velocity percentage, Unicode sparklines (` ▂▃▄▅▆▇█`), and regional demand breakdowns with zero authentication.
50
- - 🎯 **Zero-Auth Keyword Planner**: Instant seed expansion via Google Autocomplete with automated search intent classification (`Informational`, `Commercial`, `Transactional`).
51
- - 💰 **Keywords Everywhere Dual Ingestion (Zero-Cost Clipboard & Headless API)**: Ingest free keyword tables directly from the Keywords Everywhere web dashboard via `gsc import clip` (zero credits required), or connect paid API keys for 1-step automated terminal lookups (`gsc ke`).
52
- - 📊 **Google Ads Planner Ingestion**: Ingest CSV exports from Google Ads Keyword Planner, calculate composite Opportunity Scores (0–100), and cross-correlate with live GSC rankings.
53
- - 🚀 **Instant Googlebot Re-Indexing**: Ping Google's Indexing API with `URL_UPDATED` or `URL_DELETED` for priority crawl queueing within seconds.
54
- - 🔍 **Live Google URL Inspection**: Direct Search Console API check for indexing verdict, assigned canonical URL, crawl timestamps, and robots.txt state.
55
- - 💀 **90-Day Zombie Page Detection**: Automatically scan XML sitemaps to find zero-impression deadweight URLs draining your Google crawl budget.
56
- - 🛡️ **Cannibalization & Decay Detection**: Spot internal URLs fighting for the same queries, and compare 28-day period-over-period traffic trends.
57
- - 📊 **Google Analytics 4 (GA4) Behavioral Link**: Stream live active visitors (`gsc realtime --watch`) and correlate SERP rankings with landing page bounce rates.
58
- - 📑 **Off-Page & On-Page SEO Merger (`gsc page`)**: Combines Detailed SEO Extension DOM inspection (title pixel width & SERP truncation, meta description, H1–H6 tree, missing alt attributes, canonicals, JSON-LD schema, OG/Twitter cards) with real Google Search Console 90-day search queries, clicks, and rankings.
78
+ - 🤖 **Google AI Overview (AIO) Hunter (`gsc aio-hunter`)**: Detects Google AI Overviews on SERPs, extracts cited sources, measures citation gaps, and generates snippet capture recipes.
79
+ - 🔮 **AI Citation Simulator (`gsc cite-sim`)**: Tests how likely LLMs (Gemini, ChatGPT, Claude) are to cite your URL based on information density, fact ratios, and structural headings.
80
+ - 🏦 **Agency Credential Vault (`gsc vault`)**: Local AES-256-GCM encrypted store managing 50+ service accounts with instant switching (`gsc switch <domain>`), strict POSIX permissions, and path-traversal isolation.
81
+ - 🚨 **Soft-404 Diagnostic Engine with Instant Fixes (`gsc soft-404 --fix nginx`)**: Diagnoses soft-404 traps and outputs copy-paste redirect blocks for 14 server stacks (Nginx, Caddy, Cloudflare, SvelteKit, Next.js, Astro, Shopify, Vercel).
82
+ - 🎯 **Tactical Striking Distance Playbook (`gsc strike`)**: Automatically detects high-impression Page 2 queries (Positions 4–20) paired with intent-matched title hook rewrites and internal link anchor recipes.
83
+ - 📉 **Organic CTR Curve Simulator (`gsc ctr-curve`)**: Non-linear regression modeling expected CTR by position and calculating exact click upside for ranking leaps.
84
+ - ⚡ **Ultra-Low Token Modes for AI Agents (`--compact` & `--ndjson`)**: Minified single-line JSON (`--compact`) saving 35–45% LLM context tokens, and newline-delimited streaming (`--ndjson`) for array data.
85
+ - 📱 **Mobile vs. Desktop SERP Parity Auditor (`gsc mobile-parity`)**: Uncovers cross-device rank discrepancies, responsive suppression penalties, and mobile CTR leaks.
86
+ - 🩺 **Zero-Gem Cold-Start Doctor (`gsc doctor`)**: Verifies 100% standard library purity, measures sub-50ms execution speed, and validates credential security.
87
+ - 📈 **Real-Time Google Trends Engine (`gsc trends`)**: 5-year and 1-year search trajectory, velocity percentages, Unicode sparklines (` ▂▃▄▅▆▇█`), and regional demand breakdowns with zero authentication.
88
+ - 🎯 **Zero-Auth Keyword Planner (`gsc planner`)**: Instant seed expansion via Google Autocomplete with automated search intent classification (`Informational`, `Commercial`, `Transactional`).
89
+ - 💰 **Keywords Everywhere Ingestion (`gsc import clip` & `gsc ke`)**: Ingest free keyword tables directly from clipboard (zero credits required) or connect paid API keys for 1-step automated terminal lookups.
90
+ - 🚀 **Instant Googlebot Re-Indexing (`gsc index`)**: Ping Google's Indexing API with `URL_UPDATED` or `URL_DELETED` for priority crawl queueing within seconds.
91
+ - ⚡ **Multi-Engine IndexNow Protocol (`gsc indexnow`)**: Instantly submit pages and sitemaps across Microsoft Bing, Yandex, Seznam, and Naver simultaneously.
92
+ - 🖥️ **Google SERP & Title Pixel Simulator (`gsc serp`)**: Simulate desktop (580px) and mobile (650px) Google SERP cards, calculate precise proportional pixel widths, and prevent truncation before publishing.
93
+ - 🛡️ **Cannibalization & Decay Detection (`gsc cannibalization`, `gsc decay`)**: Spot internal URLs fighting for the same queries, and compare 28-day period-over-period traffic trends.
94
+ - 📊 **Google Analytics 4 (GA4) Behavioral Link (`gsc realtime`, `gsc ga4`)**: Stream live active visitors and correlate SERP rankings with landing page bounce rates.
59
95
  - 🕷️ **Autonomous Site Audit & Broken Link Repair (`gsc site-audit`)**: Crawls all sitemap URLs, checks HTTP response codes for dead internal links (404/500/timeouts), audits missing image alts and heading defects, and exports an AI-actionable Markdown fix sprint.
60
- - 🤖 **AI Agent Native**: Every single command supports `--json` for instantaneous programmatic consumption by AI agents.
96
+ - 🤖 **AI Agent Native**: Every single command supports `--compact`, `--ndjson`, and `--json` for instantaneous programmatic consumption by AI agents.
97
+
98
+ ---
99
+
100
+ ## 🔄 The Transformation: Nightmare Status Quo vs. The GSC-CLI Way
101
+
102
+ | Nightmare Status Quo | The GSC-CLI Transformation |
103
+ | :--- | :--- |
104
+ | **Manual Clicking Trap**: Clicking through 15 tabs in Google Search Console to inspect 50 URLs (takes 45+ minutes). | **Instant 1-Command Batching**: `gsc inspect-sitemap sitemap.xml` inspects all URLs with automatic quota pacing in seconds. |
105
+ | **Sampled Third-Party Guesswork**: Paying $300–$1,000+/mo ($3,600–$12,000/yr) for external proxy scrapers that model keyword volumes. | **100% Google Ground Truth ($0)**: Raw impression, click, and position logs direct from Google Search Console. |
106
+ | **40-Gem Dependency Hell**: Bloating your `Gemfile` with Google SDK gems that add 4 seconds to cold boot. | **0 Gem Dependencies**: Pure Ruby standard library (`OpenSSL`, `Net::HTTP`, `JSON`) executing in **< 1 millisecond**. |
107
+ | **Multi-Client Credential Chaos**: Juggling loose JSON keys across client folders and risking credential leaks. | **Agency Credential Vault (`gsc vault`)**: Local AES-256-GCM encrypted vault with instant domain switching (`gsc switch`). |
108
+ | **Passive Error Reporting**: Diagnostic tools tell you that you have 404s, but leave you to write the server rules. | **Active Automated Remediation**: `gsc soft-404 <url> --fix nginx` synthesizes instant, copy-paste server blocks for 14 stacks. |
109
+ | **Blind to AI Overviews**: Unaware that Google Gemini / AI Overviews are intercepting 40% of zero-click searches. | **Google AIO Hunter & Citation Simulator**: `gsc aio-hunter` identifies AI Overviews and extracts competitor citation recipes. |
110
+ | **Token-Guzzling JSON in AI Agents**: Feeding pretty-printed JSON into coding agents wastes 40% of your LLM context window. | **Ultra-Low Token Modes (`--compact`, `--ndjson`)**: Minified output saving **35–50% of tokens** for Claude Code, Cursor, and Antigravity. |
111
+ | **Untrusted Scripts Touching Code**: Running opaque scripts that scan your repository and send files to third parties. | **Zero-Trust Local Execution**: Completely isolated, deterministic UNIX tool. Never scans, reads, or transmits your private code. |
112
+
113
+ ---
114
+
115
+ > ### ⭐ Join the Zero-Bloat SEO Revolution
116
+ > **Did `gsc-cli` save your team from 40 bloated Google gems, bypass the $300–$1,000+/mo SEO suite tax, or give your AI agents instant sub-50ms search ground truth?**
117
+ >
118
+ > Help fellow engineers and operators discover zero-dependency tooling:
119
+ > 👉 **[Drop a Star on GitHub](https://github.com/ApollosWave/gsc-cli)** — *even if you only use it for terminal sparklines, instant Googlebot indexing, or AI Overview detection.* It takes 2 seconds and directly fuels continuous open-source development!
61
120
 
62
121
  ---
63
122
 
@@ -87,6 +146,7 @@ source ~/.zshrc
87
146
  Verify your installation:
88
147
  ```bash
89
148
  gsc version
149
+ gsc doctor
90
150
  ```
91
151
 
92
152
  ---
@@ -124,534 +184,457 @@ gsc domains
124
184
 
125
185
  ---
126
186
 
127
- ## 🧠 In-Depth Guides: Keyword Demand & Search Intelligence
187
+ ## 🧠 Deep-Dive Feature Walkthroughs
128
188
 
129
- ### 0. Detailed Off-Page + On-Page SEO Merger (`gsc page` & `gsc site-audit`)
189
+ ### 1. Google AI Overview (AIO) Opportunity Hunter (`gsc aio-hunter`)
130
190
 
131
191
  #### The Problem
132
- On-page SEO browser extensions (like Detailed SEO Extension) inspect your DOM (titles, meta, headings, schemas), but they are blind to whether your page actually ranks on Google. Conversely, Google Search Console shows search impressions and positions, but tells you nothing about missing H1s, broken links, or images missing alt tags.
133
-
134
- #### The Magic
135
- `gsc page` merges both worlds into a single, cohesive 360° audit:
136
- ```bash
137
- # Audit any URL combining DOM inspection with GSC 90-day search performance
138
- gsc page https://packinglog.com/
139
-
140
- # Deep internal link verification: tests HTTP status codes (200, 404, 500)
141
- gsc page https://packinglog.com/ --check-links
192
+ Google AI Overviews (Gemini in search results) are intercepting high-intent search traffic before users ever click a blue link. If an AI Overview appears for your core keywords, your CTR can crater by 40% unless your site is cited inside the AI answer box.
142
193
 
143
- # Local template auditing before deploying
144
- gsc page src/routes/+page.svelte
145
- ```
194
+ #### The Solution
195
+ `gsc aio-hunter` queries SERPs, detects AI Overviews, extracts the exact cited sources, identifies your citation gap, and generates a structured snippet capture recipe:
146
196
 
147
- And `gsc site-audit` crawls entire XML sitemaps to generate prioritized AI fix sprints:
148
197
  ```bash
149
- gsc site-audit https://packinglog.com/sitemap.xml --report docs/seo/site_audit_issues.md
198
+ # Hunt AI Overview presence and extract cited competitor URLs
199
+ gsc aio-hunter "best technical seo audit tools"
200
+
201
+ # Filter by minimum impressions and export JSON for AI agents
202
+ gsc aio-hunter --min-imp 50 --json
150
203
  ```
151
204
 
152
205
  ---
153
206
 
154
- ### 1. Keywords Everywhere Dual Workflow (`gsc import clip` & `gsc ke`)
207
+ ### 2. AI Citation Simulator (`gsc cite-sim`)
155
208
 
156
209
  #### The Problem
157
- Knowing *what* people search is only half the battle. You need to know **exact monthly search volume**, **Cost Per Click (CPC)**, and **commercial competition**. But keyword tools either force you to buy expensive API subscriptions or lock valuable data inside disconnected browser spreadsheets.
158
-
159
- `gsc-cli` provides **two flexible workflows** tailored to how you work:
160
-
161
- ---
210
+ How do you know if an LLM (ChatGPT Search, Perplexity, Gemini) will actually cite your URL when answering user queries?
162
211
 
163
- #### 🆓 Method A: Zero-Cost Clipboard Ingestion (`gsc import clip`)
164
- > **No API key or paid credits required!** Works 100% free with the Keywords Everywhere web dashboard or browser extension.
212
+ #### The Solution
213
+ `gsc cite-sim` runs a local structural heuristics audit assessing citation readiness:
214
+ - **Information Density Ratio**: High-value facts per 1,000 DOM words.
215
+ - **Structural Heading Depth**: Clean H2/H3 question-and-answer hierarchy.
216
+ - **Entity Markup**: Schema.org JSON-LD definitions.
217
+ - **Citability Score (0–100)**: Clear breakdown with actionable optimization advice.
165
218
 
166
- If you don't have paid API credits, or prefer using the free daily lookups on the Keywords Everywhere website:
167
-
168
- 1. **Copy Your Keywords in the Browser**:
169
- * Open [Keywords Everywhere](https://keywordseverywhere.com/) (or use their Chrome/Firefox extension or bulk keyword tool).
170
- * View any table of search volumes, CPCs, and competition metrics.
171
- * Click **"Copy"** / **"Copy to Clipboard"** (or select the rows and press `Cmd+C` / `Ctrl+C`).
172
- 2. **Run One Command in Your Terminal**:
173
- ```bash
174
- gsc import clip
175
- ```
176
- 3. **Instant Analysis & GSC Correlation**:
177
- `gsc-cli` uses native OS clipboard tools (`pbpaste` on macOS, `xclip`/`wl-paste` on Linux) to:
178
- * Parse volume, CPC, competition score, and monthly history at zero cost.
179
- * Draw live **Unicode Sparklines (` ▂▃▄▅▆▇█`)** showing 12-month demand trajectory.
180
- * Calculate **Opportunity Scores (0–100)** to prioritize low-competition/high-volume wins.
181
- * Automatically cross-reference your live Google Search Console rankings (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`, or `🚀 Untargeted`).
182
- * Automatically archive the snapshot into `~/.config/gsc/domains/<domain>/keywords/` so you can track rank progress over time!
219
+ ```bash
220
+ gsc cite-sim https://example.com/guides/core-web-vitals
221
+ ```
183
222
 
184
223
  ---
185
224
 
186
- #### ⚡ Method B: Headless Direct API Integration (`gsc ke`)
187
- > **For automated, headless terminal lookups.** Requires a Keywords Everywhere API key with paid credits.
225
+ ### 3. Soft-404 Forensic Diagnostic Engine with Instant Stack Fixes (`gsc soft-404`)
188
226
 
189
- If you have purchased an API key from [Keywords Everywhere](https://keywordseverywhere.com/) (credits start at just $1.25 for 100,000 keyword lookups), you can query search demand directly from the terminal without ever opening a browser:
227
+ #### The Problem
228
+ Soft-404 errors silently destroy your Google crawl budget. These are pages that return a `200 OK` status code while showing "Product Not Found" or empty category pages. Finding them is painful; generating server redirect rules by hand is tedious and error-prone.
190
229
 
191
- 1. **Connect your API key once**:
192
- ```bash
193
- gsc connect ke YOUR_API_KEY
194
- ```
195
- *Your key is securely stored in `~/.config/gsc/config.json` alongside your Google service account.*
196
- 2. **Check your remaining account credits**:
197
- ```bash
198
- gsc ke-credits
199
- ```
200
- 3. **Query any keyword topic or seed directly**:
201
- ```bash
202
- gsc ke "mac cleaner" --limit 25
203
- ```
204
- 4. **Bulk inspect an entire keyword list headlessly**:
205
- ```bash
206
- gsc ke keywords.txt --country us --limit 100 --json
207
- ```
230
+ #### The Solution
231
+ `gsc soft-404` detects empty templates, blank pages, and canonical loops, auto-detects your underlying tech stack (SvelteKit, Cloudflare, Astro, Next.js, Caddy, Webflow, Shopify, Nginx), and generates production-ready redirect rules:
208
232
 
209
- Terminal Output:
210
- ```text
211
- 🔍 KEYWORDS EVERYWHERE SEARCH DEMAND (Seed: mac cleaner)
212
- Country: US · Provider: Google Keyword Planner via Keywords Everywhere API
213
- Correlated with GSC: superspeedapp.com
214
-
215
- KEYWORD VOL/MO CPC COMP OPP SCORE INTENT GSC RANK STATUS
216
- ──────────────────────────────────────────────────────────────────────────────────────────────────────────
217
- best mac cleaner 2025 18,100 $4.80 0.42 82/100 Commercial 🎯 Striking Distance (Pos 8.4)
218
- free mac disk cleaner 12,400 $3.10 0.28 88/100 Transactional 🚀 Untargeted
219
- clean my mac alternative 6,600 $6.50 0.35 81/100 Commercial 🥇 Page 1 (Pos 4.2)
220
- how to clear system storage mac 9,900 $1.20 0.15 89/100 Informational 🚀 Untargeted
233
+ ```bash
234
+ # Diagnose any URL for soft-404 status (auto-detects tech stack & server)
235
+ gsc soft-404 https://example.com/broken-page
236
+
237
+ # Generate copy-paste rules for your specific tech stack:
238
+ gsc soft-404 https://example.com/broken-page --fix sveltekit
239
+ gsc soft-404 https://example.com/broken-page --fix caddy
240
+ gsc soft-404 https://example.com/broken-page --fix cloudflare
241
+ gsc soft-404 https://example.com/broken-page --fix workers
242
+ gsc soft-404 https://example.com/broken-page --fix astro
243
+ gsc soft-404 https://example.com/broken-page --fix gatsby
244
+ gsc soft-404 https://example.com/broken-page --fix github
245
+ gsc soft-404 https://example.com/broken-page --fix webflow
246
+ gsc soft-404 https://example.com/broken-page --fix shopify
247
+ gsc soft-404 https://example.com/broken-page --fix nextjs
248
+ gsc soft-404 https://example.com/broken-page --fix nginx
249
+ gsc soft-404 https://example.com/broken-page --fix all
221
250
  ```
222
251
 
223
252
  ---
224
253
 
225
- ### 2. Google Trends Real-Time Demand Engine (`gsc trends`)
254
+ ### 4. Cross-Device Mobile vs. Desktop SERP Parity (`gsc mobile-parity`)
226
255
 
227
256
  #### The Problem
228
- Standard search volume metrics are **12-month trailing averages**. When consumer behavior shifts, or a seasonal moving spike occurs, static tools keep showing last year's data while you miss the active breakout.
257
+ Google indexes mobile-first. If your mobile layout has hidden content, slower load times, or truncated titles, your mobile ranking can drop 10 positions below desktop without you ever noticing in standard dashboards.
229
258
 
230
- #### The Magic
231
- `gsc trends` queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**. It calculates:
232
- - **Trajectory Velocity**: Compares recent interest vs historical baseline.
233
- - **Velocity Badges**: `🚀 (Explosive Breakout)`, `🔥 (Strong Surging)`, `📈 (Growing Demand)`, `⚖️ (Stable Demand)`, `📉 (Cooling)`.
234
- - **Unicode Sparklines**: Visualizes interest curves right in your terminal (` ▂▃▄▅▆▇█`).
235
- - **Geographic Heatmap**: Identifies top states and regions driving demand.
259
+ #### The Solution
260
+ `gsc mobile-parity` compares mobile and desktop impressions, average positions, and CTR side-by-side, flagging responsive suppression penalties:
236
261
 
237
262
  ```bash
238
- gsc trends "moving boxes" --geo US --time 12m
263
+ gsc mobile-parity example.com --gap-threshold 2.0
239
264
  ```
240
265
 
266
+ ---
267
+
268
+ ### 5. Detailed Off-Page + On-Page SEO Merger (`gsc page` & `gsc site-audit`)
269
+
241
270
  ```bash
242
- gsc trends "local llm" --geo US --time 5y --json
271
+ # Audit any URL combining DOM inspection with GSC 90-day search performance
272
+ gsc page https://example.com/
273
+
274
+ # Deep internal link verification: tests HTTP status codes (200, 404, 500)
275
+ gsc page https://example.com/ --check-links
276
+
277
+ # Crawl entire XML sitemaps to generate prioritized AI fix sprints
278
+ gsc site-audit https://example.com/sitemap.xml --report docs/seo/site_audit_issues.md
243
279
  ```
244
280
 
245
281
  ---
246
282
 
247
- ### 3. Autocomplete Keyword Intent Expander (`gsc planner`)
283
+ ### 6. Zero-Cost Clipboard Keyword Ingestion (`gsc import clip`)
248
284
 
249
- #### The Problem
250
- You need fresh keyword ideas based on what Google users are actively searching *right now*, without setting up paid APIs or logging into Google Ads.
285
+ > **No API key or paid credits required!** Works 100% free with the Keywords Everywhere web dashboard or Google Ads Keyword Planner.
286
+
287
+ 1. **Copy Your Keywords in the Browser**: Click "Copy to Clipboard" on any keyword volume table.
288
+ 2. **Run One Command in Your Terminal**:
289
+ ```bash
290
+ gsc import clip
291
+ ```
292
+ 3. **Instant Analysis & GSC Correlation**:
293
+ * Parses volume, CPC, competition score, and 12-month history at zero cost.
294
+ * Draws live **Unicode Sparklines (` ▂▃▄▅▆▇█`)** showing demand trajectories.
295
+ * Calculates **Opportunity Scores (0–100)** to prioritize low-competition wins.
296
+ * Automatically cross-references live Google Search Console rankings (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`, or `🚀 Untargeted`).
297
+ * Archives into `~/.config/gsc/domains/<domain>/keywords/` for historical rank tracking.
251
298
 
252
- #### The Magic
253
- `gsc planner` queries Google's autocomplete infrastructure with zero keys, extracts 20–50 qualified search phrases, and uses regex linguistic heuristics to classify **Search Intent**:
254
- - **Informational**: *"how to pack dishes for moving"*, *"why is mac running slow"*
255
- - **Commercial**: *"best moving apps"*, *"superspeed vs cleanmymac"*
256
- - **Transactional**: *"buy wardrobe moving boxes cheap"*, *"hire movers near me"*
299
+ ---
300
+
301
+ ### 7. Google Trends Real-Time Demand Engine (`gsc trends`)
257
302
 
258
- It then checks your active domain's GSC rankings so you instantly see untargeted opportunities:
303
+ Queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**:
259
304
  ```bash
260
- gsc planner "moving boxes" --limit 20
305
+ gsc trends "seo audit" --geo US --time 12m
306
+ gsc trends "local llm" --geo US --time 5y --json
261
307
  ```
262
308
 
263
309
  ---
264
310
 
265
- ### 4. Universal Keyword Ingestion: Clipboard, Google Ads & Files (`gsc import`)
311
+ ### 8. Agency Credential Vault (`gsc vault`)
266
312
 
267
313
  #### The Problem
268
- Exporting search volume and CPC data from keyword tools usually results in messy spreadsheets that sit forgotten in your downloads folder. Merging those keywords with your live Google Search Console rankings requires complex VLOOKUPs and manual position checking.
314
+ Agencies and multi-brand operators juggle dozens of client Google service account JSON files. Leaving unencrypted keys scattered across client folders invites credential leakage, path-traversal vulnerabilities, and accidental cross-client query pollution.
269
315
 
270
- #### The Magic
271
- `gsc import` accepts raw keyword data directly from your **clipboard** or files exported from **both Google Ads Keyword Planner and Keywords Everywhere** (in `.csv`, `.tsv`, or markdown table format):
316
+ #### The Solution
317
+ `gsc vault` provides a hardened, local **AES-256-GCM encrypted credential vault** supporting 50+ client service accounts with strict POSIX permissions (0700/0600) and instant zero-friction domain switching:
272
318
 
273
319
  ```bash
274
- # 1-click ingest directly from your system clipboard (free & zero setup):
275
- gsc import clip
276
-
277
- # Import a Keywords Everywhere markdown or CSV export:
278
- gsc import path/to/KW.md --limit 30
320
+ # Check encrypted vault status, stored keys & cipher health
321
+ gsc vault status
279
322
 
280
- # Import a Google Ads Keyword Planner CSV/TSV:
281
- gsc import path/to/google-ads-keywords.csv --limit 30
282
- ```
323
+ # Add a client service account key to the encrypted store
324
+ gsc vault add ./client-key.json --domain client.com --alias client1
283
325
 
284
- `gsc` automatically:
285
- - **Deduplicates** redundant keyword rows across multiple concatenated batches.
286
- - **Normalizes** search volumes, CPC bids, and competition tiers.
287
- - **Extracts 12-Month Historical Demand**: Automatically identifies monthly columns and renders a live **Unicode Sparkline** (` ▂▃▄▅▆▇█`) for each keyword in your terminal.
288
- - **Calculates Opportunity Scores (0–100)**:
289
- $$\text{Opportunity} = \text{Search Volume (0–50)} + (1 - \text{Competition}) \times 50$$
290
- - **Cross-References Live GSC Rankings**: Instantly flags whether your active domain is already ranking (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`) or represents an untapped gap (`🚀 Untargeted`).
291
- - **Auto-Archives to Domain Storage**: Automatically persists the dataset to `~/.config/gsc/domains/<domain>/keywords/` for historical rank tracking.
326
+ # List all vaulted domains, client emails & GA4 property links
327
+ gsc vault list
292
328
 
293
- Terminal Output:
294
- ```text
295
- Opp Score | Volume/mo | CPC | Comp | Tier | Trend% [12m] | GSC Status | Intent | Keyword
296
- --------------------------------------------------------------------------------------------------------------------------------
297
- 75 | 1,000 | $11.04 | 0.10 | Low | -69% ▄▅▅█▅▁ | 🚀 Untargeted | Navigational | moving from san francisco to new york
298
- 69 | 77 | $0.00 | 0.00 | Low | +0% ▄▄▄▄▄▄ | 🚀 Untargeted | Navigational | moving from dallas to orlando
299
- 68 | 390 | $1.99 | 0.17 | Low | +25% ▁▄▄▄██ | 🚀 Untargeted | Navigational | storage unit size calculator
300
- 68 | 110 | $1.74 | 0.05 | Low | -65% ▂██▁▄▁ | 🚀 Untargeted | Navigational | moving checklist app
301
- 64 | 30 | $2.19 | 0.05 | Low | +83% ▃▁▁▆██ | 🚀 Untargeted | Navigational | moving volume calculator
329
+ # Switch active client context instantly (by domain, alias, or index #)
330
+ gsc switch client.com
331
+ gsc switch client1
332
+ gsc use 2
302
333
  ```
303
334
 
304
335
  ---
305
336
 
306
- ### 5. Domain Keyword Archive & Rank Movement Tracker (`gsc saved`)
337
+ ### 9. Striking Distance Playbook & Organic CTR Curve (`gsc strike` & `gsc ctr-curve`)
307
338
 
308
339
  #### The Problem
309
- Keyword research is only valuable if you track whether your content efforts actually move the needle over time. Without historical snapshots, you cannot tell if an unranked keyword from two months ago has entered striking distance.
340
+ Most SEO reports simply dump a list of keywords without telling you **what to write, where to link, or what the revenue payoff will be**. Page 2 keywords (Positions 4–20) generate 80% of your search impressions but only 5% of your clicks.
310
341
 
311
- #### The Magic
312
- `gsc-cli` automatically stores all research and imported datasets in isolated domain directories under `~/.config/gsc/domains/<domain>/keywords/`.
313
-
314
- ```text
315
- ~/.config/gsc/
316
- ├── config.json
317
- ├── service-account.json
318
- └── domains/
319
- ├── packinglog.com/
320
- │ └── keywords/
321
- │ ├── 2026-09-10-kw-md.json
322
- │ └── 2026-09-10-moving-boxes.json
323
- └── superspeedapp.com/
324
- └── keywords/
325
- └── 2026-09-10-mac-cleaner.json
326
- ```
342
+ #### The Solution
343
+ - **`gsc ctr-curve`**: Generates an empirical, non-linear CTR regression curve mapping your domain's real CTR by position against Google's global benchmarks, simulating the exact click gain of advancing to Top 3.
344
+ - **`gsc strike`**: Automatically synthesizes a tactical Page 2 attack plan with **3 SERP-safe hook titles (< 560px)**, heading recipes, and targeted internal link anchor suggestions:
327
345
 
328
- #### List Saved Snapshots
329
346
  ```bash
330
- gsc saved
331
- ```
332
- ```text
333
- 📁 SAVED KEYWORD RESEARCH ARCHIVES (packinglog.com)
334
- Location: ~/.config/gsc/domains/packinglog.com/keywords
335
-
336
- # | Date | Source | Keywords | Seed / File
337
- --------------------------------------------------------------------------------
338
- [1] | 2026-09-10 | Import | 209 | KW.md
339
- [2] | 2026-09-10 | Google Autocomplete | 50 | moving boxes
340
- ```
347
+ # Simulate organic CTR curve and click upside for Page 2 rankings
348
+ gsc ctr-curve --days 30 --target-pos 3
341
349
 
342
- #### Re-Check Live Search Console Rankings & Track Wins
343
- Run `gsc saved check <id>` to re-query Search Console API in real-time and measure your rank progress:
344
- ```bash
345
- gsc saved check 1
346
- ```
350
+ # Generate tactical Page 2 striking distance playbook
351
+ gsc strike --limit 10
347
352
 
348
- ```text
349
- ══════════════════════════════════════════════════════════════
350
- 📊 KEYWORD RANKING & OPPORTUNITY TRACKER (packinglog.com)
351
- ══════════════════════════════════════════════════════════════
352
- 🏆 Top 3 Rankings: 2 (+2 new)
353
- 🥇 Page 1 Rankings (4–10): 5 (+3 new)
354
- 🎯 Striking Distance (11–20): 14 (+6 new)
355
- 🚀 Untargeted / Unranked: 188
356
- 📈 Total Tracked Keywords: 209
357
- ══════════════════════════════════════════════════════════════
353
+ # Export playbook directly to CSV for copywriters & content teams
354
+ gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
358
355
  ```
359
356
 
360
357
  ---
361
358
 
362
- ## 🛠️ Complete CLI Command Reference
363
-
364
- ### 1. Setup, Configuration & Domain Switching
365
- | Command | Description |
366
- |---|---|
367
- | `gsc connect` | 1-Click interactive setup wizard: auto-detects key in Downloads or drag & drop |
368
- | `gsc connect ke [key]` | Connect Keywords Everywhere API key and save to `~/.config/gsc/config.json` |
369
- | `gsc connect-ga4` | Interactive Google Analytics 4 linking wizard |
370
- | `gsc domains` | List all verified Search Console properties and linked GA4 properties |
371
- | `gsc use <domain or #>` | Switch active default domain (e.g. `gsc use 2` or `gsc use packinglog.com`) |
372
- | `gsc open` | Open `~/.config/gsc` configuration directory in Finder |
373
- | `gsc where` | Inspect CLI binary path, active credential file, and config path |
374
- | `gsc update` | Self-update `gsc` to the latest version directly from GitHub |
375
- | `gsc version` | Display CLI version and Ruby runtime environment |
376
-
377
- ### 2. Google Trends & Keyword Intelligence
378
- | Command | Description |
379
- |---|---|
380
- | `gsc trends <query>` | Real-time Google Trends 5y/1y demand velocity, sparklines, and geo breakdown |
381
- | `gsc planner <seed>` | Zero-auth Google Suggest intent expander with live GSC rank correlation |
382
- | `gsc import <file or clip>` | Ingest Google Ads / Keywords Everywhere data from clipboard (`gsc import clip`) or file (.csv, .tsv, .md) with 12m sparklines |
383
- | `gsc planner-import <file>` | Ingest Google Ads / Keywords Everywhere export (alias for `import`) |
384
- | `gsc ke <seed or file>` | Keywords Everywhere: Exact monthly volume, CPC, competition & GSC correlation |
385
- | `gsc ke-credits` | Check remaining Keywords Everywhere account API credits |
386
- | `gsc saved` | List saved keyword research snapshots for the active domain |
387
- | `gsc saved check [id]` | Re-check saved keyword snapshots against live GSC rankings to track wins |
388
- | `gsc saved view [id]` | View stored keyword metrics and opportunity scores |
389
- | `gsc saved delete [id]` | Delete a saved keyword research snapshot |
390
-
391
- ### 3. Search Performance & SEO Growth Intelligence
392
- | Command | Description |
393
- |---|---|
394
- | `gsc top-queries` | Top search queries, impressions, CTR, and average position |
395
- | `gsc top-pages` | Top indexed landing pages driving organic clicks & impressions |
396
- | `gsc opportunities` | **Striking-distance queries (Pos 7–20)** to push to Page 1 and Top 3 |
397
- | `gsc underperformers` | High-ranking queries (Top 10) with below-average CTR (title & meta tag wins) |
398
- | `gsc cannibalization` | Detect multiple internal URLs competing for the same search queries |
399
- | `gsc decay [--compare 28]` | Period-over-period decay detection (decaying vs surging queries) |
400
- | `gsc devices` | Search traffic breakdown by device (Desktop, Mobile, Tablet) |
401
- | `gsc countries` | Geographic search demand by country with flags and CTR |
402
- | `gsc snippets` | Search appearance appearances (Reviews, Products, FAQs) |
403
- | `gsc audit` | Comprehensive 4-step 360° SEO & Indexing Health Audit |
404
-
405
- ### 4. Detailed On-Page DOM & Autonomous Site Crawling
406
- | Command | Description |
407
- |---|---|
408
- | `gsc page <url or file>` | 360° On-Page DOM audit (Title pixel width, meta, H1-H6, images, schema) + GSC rankings |
409
- | `gsc page <url> --check-links` | Verify HTTP status codes (detects 404 broken links) across all page links |
410
- | `gsc site-audit [sitemap]` | Crawl sitemap/site, test dead links, audit DOM flaws, and output summary |
411
- | `gsc site-audit --report <file>` | Export comprehensive AI-actionable Markdown fix sprint (e.g. `site_issues.md`) |
412
-
413
- ### 4. Live Indexation & Googlebot Control
414
- | Command | Description |
415
- |---|---|
416
- | `gsc inspect <url>` | Live Google Search Console URL inspection (coverage, canonical, crawl date) |
417
- | `gsc index <url>` | Notify Googlebot to crawl/index a newly published URL immediately (`URL_UPDATED`) |
418
- | `gsc remove <url>` | Notify Googlebot a URL has been permanently deleted (`URL_DELETED`) |
419
- | `gsc status <url>` | Check Google Indexing API submission status and latest notification timestamp |
420
- | `gsc inspect-sitemap <file/url>` | Bulk inspect indexation status for all URLs in an XML sitemap |
421
- | `gsc index-sitemap <file/url>` | Batch submit all URLs in an XML sitemap to Google Indexing API |
422
- | `gsc zombies <sitemap>` | Identify zero-impression deadweight URLs wasting crawl budget over 90 days |
423
- | `gsc sitemaps-list` | List registered XML sitemaps in Search Console |
424
- | `gsc sitemaps-submit <url>` | Submit or re-submit an XML sitemap to Search Console |
425
-
426
- ### 5. Google Analytics 4 (GA4) On-Site Behavior
427
- | Command | Description |
428
- |---|---|
429
- | `gsc realtime [--watch]` | Stream active visitors, real-time page paths, and countries |
430
- | `gsc ga4 [--organic]` | Landing page bounce rates, engagement rates, and average session duration |
431
- | `gsc correlation` | Merge GSC keyword rankings with GA4 bounce rates per landing page |
432
- | `gsc channels` | Traffic acquisition channels (Organic Search, Direct, Referral, Paid) |
433
- | `gsc ads` | Google Ads campaign performance (Clicks, Cost, CPC, Conversions) |
359
+ ## 🛠️ Complete CLI Command Reference (80 Commands)
360
+
361
+ > **💡 Token Economy Note for AI Agents & Pipelines:**
362
+ > Every command supporting `--json` also natively supports `--compact` (single-line minified JSON saving **35–45% LLM tokens**) and `--ndjson` (newline-delimited streaming JSON). Commands handling tabular ranking data also support `--csv` (saving **65–75% LLM tokens**).
363
+
364
+ ### 1. Setup, Doctor & Authentication
365
+ | Command | Shortcut | Description | Flags |
366
+ |---|---|---|---|
367
+ | `gsc connect` | `auth` | 1-Click interactive setup wizard (auto-detects service account in Downloads) | `--json`, `--compact` |
368
+ | `gsc connect ke [key]` | — | Connect Keywords Everywhere API key | — |
369
+ | `gsc connect-ga4` | — | Interactive Google Analytics 4 property linking wizard | — |
370
+ | `gsc doctor` | `health` | Zero-Gem Stdlib & Cold Start Doctor: validates < 50ms latency & config integrity | `--fix`, `--json`, `--compact` |
371
+ | `gsc domains` | `sites` | List all verified Search Console properties and linked GA4 properties | `--json`, `--compact` |
372
+ | `gsc use <domain>` | `switch` | Switch active default domain property | — |
373
+ | `gsc switch <domain>` | `use` | Fast agency switch between client domains or credential vault profiles | — |
374
+ | `gsc vault [status|add|list|remove]`| — | AES-256-GCM encrypted credential vault manager (multi-client safe) | `--json`, `--compact` |
375
+ | `gsc where` | — | Inspect CLI binary path, active credential file, and config path | `--json`, `--compact` |
376
+ | `gsc version` | `-v` | Display CLI version and Ruby runtime environment | `--json`, `--compact` |
377
+ | `gsc commands` | — | Machine-readable catalog of all 80 commands | `--json`, `--compact` |
378
+
379
+ ### 2. Search Analytics & Organic Performance
380
+ | Command | Shortcut | Description | Flags |
381
+ |---|---|---|---|
382
+ | `gsc performance` | `perf` | Search performance summary (Clicks, Impressions, CTR, Position) | `--days`, `--json` |
383
+ | `gsc top-queries` | `queries` | Top search queries, impressions, CTR, and average position | `--limit`, `--days`, `--brand`, `--non-brand`, `--csv`, `--json` |
384
+ | `gsc top-pages` | `pages` | Top indexed landing pages driving organic clicks & impressions | `--limit`, `--days`, `--csv`, `--json` |
385
+ | `gsc opportunities` | `opps` | Striking-distance queries (Pos 7–20) with high impression volume | `--min-imp`, `--days`, `--csv`, `--json` |
386
+ | `gsc strike` | `striker` | Tactical Striking Playbook: High-yield queries primed for Top 3 rankings | `--min-imp`, `--limit`, `--json` |
387
+ | `gsc underperformers` | `u` | High-ranking queries with below-average CTR (title & meta tag wins) | `--limit`, `--days`, `--json` |
388
+ | `gsc cannibalization` | `cannibal` | Detect multiple internal URLs competing for the same search queries | `--limit`, `--days`, `--json` |
389
+ | `gsc decay` | — | Period-over-period decay detection (decaying vs surging queries) | `--compare`, `--days`, `--json` |
390
+ | `gsc devices` | — | Search traffic breakdown by device (Desktop, Mobile, Tablet) | `--days`, `--json` |
391
+ | `gsc countries` | — | Geographic search demand by country with flags and CTR | `--days`, `--json` |
392
+ | `gsc snippets` | — | Search appearance appearances (Reviews, Products, FAQs) | `--days`, `--json` |
393
+ | `gsc brand` | — | Brand vs. Non-brand query segmentation and traffic split | `--days`, `--brand-terms`, `--json` |
394
+ | `gsc ctr-curve` | — | Empirical CTR curve modeling by position with revenue lift simulator | `--days`, `--target-pos`, `--json` |
395
+ | `gsc intent-shift` | — | Search intent volatility and position shift monitor | `--days`, `--min-imp`, `--json` |
396
+ | `gsc kw-value` | `kwval` | Mathematical keyword conversion pipeline & dollar valuation matrix | `--aov`, `--conv-rate`, `--margin`, `--target-pos`, `--csv`, `--json` |
397
+ | `gsc landing-roi <url>` | `roi` | Landing page economic ROI & revenue leakage audit (merges GSC + bounce rates) | `--aov`, `--conv-rate`, `--benchmark`, `--csv`, `--json` |
398
+
399
+ ### 3. AI Search, Generative Engine Optimization (GEO) & SERP Simulation
400
+ | Command | Shortcut | Description | Flags |
401
+ |---|---|---|---|
402
+ | `gsc aio-hunter <query>` | `aio` | Google AI Overview Opportunity Hunter: detects AIO presence & cited sources | `--limit`, `--min-imp`, `--days`, `--csv`, `--json` |
403
+ | `gsc cite-sim <url>` | `citability` | AI Citation Simulator: tests LLM citability readiness and content density | `--json` |
404
+ | `gsc geo <url>` | `aeo` | Generative Engine Optimization (GEO) & LLM answer audit | `--json` |
405
+ | `gsc serp <title>` | `preview` | Google SERP Card & Pixel Simulator (Desktop 580px, Mobile 650px) | `--desc`, `--url`, `--json` |
406
+ | `gsc serp-features <q>` | — | Live SERP feature detector (AI Overviews, PAA, Featured Snippets) | `--geo`, `--json` |
407
+ | `gsc llms <url>` | `ai-ready` | AI Knowledge Base Generator: outputs structured `/llms.txt` bundle | `--save`, `--json` |
408
+ | `gsc entity <url>` | `kg` | Knowledge Graph & Entity Authority Auditor (Wikidata, Wikipedia links) | `--json` |
409
+ | `gsc firewall <url>` | `ai-bots` | AI Search Bot Firewall Scanner: audits robots.txt for GPTBot, ClaudeBot | `--json` |
410
+ | `gsc answer <q>` | — | Direct answer box and featured snippet synthesizer | `--json` |
411
+
412
+ ### 4. Technical SEO, Crawl Errors & Automated Fixes
413
+ | Command | Shortcut | Description | Flags |
414
+ |---|---|---|---|
415
+ | `gsc soft-404 <url>` | — | Soft-404 Diagnostic Engine with automated multi-stack redirect generation | `--fix <stack>`, `--json` |
416
+ | `gsc mobile-parity <dom>`| `mobile` | Mobile vs. Desktop SERP Parity Auditor: cross-device rank gap diagnosis | `--days`, `--gap-threshold`, `--csv`, `--json` |
417
+ | `gsc audit` | `360` | Comprehensive 360° technical and organic health audit | `--json` |
418
+ | `gsc report` | — | Executive 360° Health Scorecard with letter grade and sparklines | `--days`, `--sparkline`, `--json` |
419
+ | `gsc page <url>` | — | Detailed On-Page DOM audit (meta, headings, alts, schema) + GSC performance | `--check-links`, `--json` |
420
+ | `gsc site-audit <sitemap>`| — | Crawls sitemaps, tests 404 dead links, audits DOM flaws, and outputs fix sprint | `--report <file>`, `--json` |
421
+ | `gsc speed <url>` | `vitals` | Official Core Web Vitals via PageSpeed Insights (LCP, INP, CLS, TTFB) | `--strategy mobile|desktop`, `--json` |
422
+ | `gsc speed-correlate` | `sc-perf` | Correlates Core Web Vitals page speed with GSC organic rankings | `--days`, `--strategy`, `--json` |
423
+ | `gsc canonical-chains` | `chains` | Canonical redirect loops and multi-hop chain detector | `--limit`, `--json` |
424
+ | `gsc low-ctr` | — | High-impression low-CTR title & meta description rewriter | `--limit`, `--min-imp`, `--json` |
425
+ | `gsc titles <url>` | `title-opt` | Title pixel width calculator and SERP truncation optimizer | `--json` |
426
+ | `gsc headings <url>` | `h1` | Heading structure (H1–H6) depth, order, and keyword presence auditor | `--json` |
427
+ | `gsc orphans` | — | Internal link equity analyzer: rescues orphaned unlinked pages | `--json` |
428
+ | `gsc internal-links` | — | Deep internal link equity audit and anchor text distribution | `--json` |
429
+ | `gsc image-seo <url>` | — | Image SEO auditor: missing alt attributes, next-gen formats (WebP/AVIF) | `--json` |
430
+ | `gsc hreflang <url>` | — | International hreflang reciprocity and ISO language/region validator | `--json` |
431
+ | `gsc eeat <url>` | — | E-E-A-T Auditor: author credentials, publisher transparency & trust signals | `--json` |
432
+ | `gsc security <url>` | — | Security & HTTP headers auditor: SSL, HSTS, CSP, and X-Robots-Tag | `--json` |
433
+ | `gsc rich-results <url>` | `rich` | Google Rich Results eligibility and Schema.org test | `--type`, `--json` |
434
+ | `gsc schema <url>` | `ld-json` | JSON-LD Structured Data Validator and generator | `--json` |
435
+ | `gsc schema-generate` | `schema-gen`| Valid Schema.org JSON-LD generator (`faq`, `software`, `article`, `product`)| `--type`, `--json` |
436
+ | `gsc trace <domain>` | `redirects` | Multi-hop 301/302 redirect tracer with SSL and header inspection | `--json` |
437
+ | `gsc robots <url>` | `robots-txt`| Robots.txt crawler permissions simulator across major bots | `--bot`, `--json` |
438
+ | `gsc authority <domain>` | `opr` | OpenPageRank Domain Authority (0–10) and Global Rank from Common Crawl | `--json` |
439
+ | `gsc compare <u1> <u2>` | `vs` | Head-to-head on-page technical benchmark comparison | `--json` |
440
+ | `gsc content-gap <u1> <u2>`| `gap` | Topical content gap analyzer: missing 1-gram, 2-gram, and 3-gram keyphrases | `--json` |
441
+
442
+ ### 5. Live Indexation & Googlebot Control
443
+ | Command | Shortcut | Description | Flags |
444
+ |---|---|---|---|
445
+ | `gsc inspect <url>` | — | Live Google URL inspection (coverage status, assigned canonical, crawl date)| `--json` |
446
+ | `gsc index <url>` | — | Priority Googlebot crawl submission (`URL_UPDATED`) | `--dry-run`, `--json` |
447
+ | `gsc remove <url>` | — | Notify Googlebot of permanently deleted URL (`URL_DELETED`) | `--dry-run`, `--json` |
448
+ | `gsc status <url>` | — | Check Google Indexing API submission status and latest notification timestamp| `--json` |
449
+ | `gsc index-batch` | — | Batch URL indexing processor with daily 200-URL quota tracking | `--run`, `--status`, `--json` |
450
+ | `gsc indexnow <url>` | — | Multi-engine instant submission (Bing, Yandex, Seznam, Naver) | `--key`, `--json` |
451
+ | `gsc zombies <sitemap>` | — | Detect zero-impression deadweight URLs wasting crawl budget over 90 days | `--days`, `--json` |
452
+ | `gsc sitemaps-list` | — | List registered XML sitemaps in Search Console | `--json` |
453
+ | `gsc sitemaps-submit <url>`| — | Submit or re-submit an XML sitemap to Search Console | `--json` |
454
+ | `gsc sitemap-tree <url>` | — | Visual sitemap hierarchy tree and URL limit validator | `--json` |
455
+
456
+ ### 6. Keyword Research & Demand Trends
457
+ | Command | Shortcut | Description | Flags |
458
+ |---|---|---|---|
459
+ | `gsc trends <query>` | — | Real-time Google Trends trajectory velocity, sparklines & geo breakdown | `--geo`, `--time`, `--json` |
460
+ | `gsc planner <seed>` | — | Autocomplete seed expander with intent classification & live GSC correlation| `--limit`, `--json` |
461
+ | `gsc suggest <seed>` | — | Google Autocomplete & Alphabet Soup (a-z) keyword harvester | `--alphabet`, `--json` |
462
+ | `gsc questions <seed>` | `paa` | People Also Ask (PAA) question miner for FAQs and blog outlines | `--limit`, `--json` |
463
+ | `gsc import <file|clip>`| — | Ingest Google Ads / Keywords Everywhere data from clipboard (`clip`) or file | `--limit`, `--json` |
464
+ | `gsc ke <seed|file>` | — | Keywords Everywhere direct API: exact monthly volume, CPC & competition | `--country`, `--limit`, `--json` |
465
+ | `gsc ke-credits` | — | Check remaining Keywords Everywhere account API credits | `--json` |
466
+ | `gsc saved` | — | List saved keyword research snapshots for the active domain | `--json` |
467
+ | `gsc saved check [id]` | — | Re-check saved keyword snapshots against live GSC rankings to track wins | `--json` |
468
+ | `gsc saved view [id]` | — | View stored keyword metrics and opportunity scores | `--json` |
469
+ | `gsc saved delete [id]`| — | Delete a saved keyword research snapshot | — |
470
+ | `gsc seasonal <keyword>` | — | Seasonal keyword demand forecasting and peak month detection | `--json` |
471
+ | `gsc sparkline <query>` | — | High-resolution Unicode sparkline visualizer (` ▂▃▄▅▆▇█`) | `--days`, `--json` |
472
+
473
+ ### 7. Google Analytics 4 (GA4) On-Site Behavior
474
+ | Command | Shortcut | Description | Flags |
475
+ |---|---|---|---|
476
+ | `gsc realtime` | — | Stream active visitors, real-time page paths, and countries (`--watch`) | `--watch`, `--json` |
477
+ | `gsc ga4` | — | Landing page bounce rates, engagement rates, and average session duration | `--organic`, `--json` |
478
+ | `gsc correlation` | — | Merge GSC keyword rankings with GA4 bounce rates per landing page | `--json` |
479
+ | `gsc channels` | — | Traffic acquisition channels (Organic Search, Direct, Referral, Paid) | `--json` |
480
+ | `gsc ads` | — | Google Ads campaign performance (Clicks, Cost, CPC, Conversions) | `--json` |
481
+
482
+ ### 8. AI Agent Skills & System Tools
483
+ | Command | Shortcut | Description | Flags |
484
+ |---|---|---|---|
485
+ | `gsc skills [install|show]` | — | Inspect or auto-install native AI Agent Skill (`SKILL.md`) | `--json` |
486
+ | `gsc skill-pack` | — | Autonomous Agent Skill Pack Generator for Cursor, Antigravity, and Claude | `--install`, `--json` |
487
+ | `gsc prompts [list|show]` | — | 27 battle-tested tactical SEO growth prompts and playbooks | `--json` |
488
+ | `gsc vault [status|add|list|remove]` | — | AES-256-GCM encrypted credential vault manager | `--json` |
489
+ | `gsc cache [status|clear]` | — | Multi-tier gzip response cache manager | `--json` |
434
490
 
435
491
  ---
436
492
 
437
493
  ## 🤖 AI Agent Native Integration (Antigravity, Claude, Cursor)
438
494
 
439
- `gsc-cli` was built from the ground up for autonomous AI coding agents. Every single command supports the `--json` flag to return clean, deterministic, machine-readable JSON over stdout.
495
+ `gsc-cli` was engineered from the ground up to serve as the high-speed sensory organ for autonomous AI coding agents (**Antigravity**, **Claude Code**, **Cursor Composer**, **Windsurf**, and **OpenCode**).
440
496
 
441
- ### Agent Workflow Examples
497
+ Traditional CLI tools output ANSI-colored terminal text designed exclusively for human eyes—forcing AI agents to burn thousands of tokens scraping strings, guessing table columns, and hallucinating missing fields. `gsc-cli` eliminates this waste completely with **sub-millisecond execution**, **zero gem overhead**, and **three ultra-efficient machine output formats**.
442
498
 
443
- ```bash
444
- # 1. Ask your agent to inspect striking-distance keywords:
445
- gsc opportunities --min-imp 20 --json
446
-
447
- # 2. Ask your agent to audit indexation before shipping a release:
448
- gsc audit --json
499
+ ### 📉 Token Economics: Why Format Matters for AI Agents
449
500
 
450
- # 3. Ask your agent to discover keyword demand with volume and CPC:
451
- gsc ke "moving boxes" --limit 50 --json
501
+ Every token consumed by CLI output burns developer budget, introduces LLM generation latency, and pushes critical prompt context out of the agent's memory window. `gsc-cli` provides four deterministic output formats to optimize your token economics:
452
502
 
453
- # 4. Ask your agent to notify Googlebot the second it publishes a new blog post:
454
- gsc index https://example.com/blog/new-guide --json
455
- ```
503
+ | Format | Flag | Avg. Chars (100 Rows) | Est. Tokens | Token Savings | Optimal AI Agent Scenario |
504
+ | :--- | :--- | :--- | :--- | :--- | :--- |
505
+ | **Tabular CSV** | `--csv` | 3,920 | ~980 | **72.5% savings** | High-cardinality exports (100–5,000 keywords/pages) |
506
+ | **Compact JSON**| `--compact` | 8,110 | ~2,028 | **43.0% savings** | Default for Claude Code & Cursor single-turn queries |
507
+ | **Streaming NDJSON** | `--ndjson` | 8,230 | ~2,058 | **42.2% savings** | Streaming processors, jq/grep pipes & subagent tasks |
508
+ | **Pretty JSON** | `--json` | 14,240 | ~3,560 | 0% *(Baseline)* | Human developer terminal inspection & debugging |
456
509
 
457
- Install the official AI Agent Skill:
458
- ```bash
459
- gsc skills install
460
- ```
510
+ > ⚡ **The Bottom Line:** Switching your autonomous agents from `--json` to `--compact` immediately **cuts token consumption by ~43%**, allowing your agents to ingest more than **double the keyword and performance data** within identical context limits.
461
511
 
462
512
  ---
463
513
 
464
- ## 🏢 Proudly Backed by ApollosWave LLC
465
-
466
- `gsc-cli` is free and open-source software under the [MIT License](LICENSE). It is actively developed and maintained by the engineering team at **[ApollosWave LLC](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**.
467
-
468
- We build tools for high-performance software, e-commerce, and everyday logistics. Check out our commercial products:
514
+ ### 📋 Deterministic Output Contract & Zero-Pollution Guarantee
469
515
 
470
- - ⚡ **[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)** — The premier Shopify speed, CRO & revenue leak intelligence app. Detect ghost checkouts, rage clicks, and latency bottlenecks, then automatically optimize Core Web Vitals to reclaim lost sales.
471
- - 🛒 **[Supercart](https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)** — The modern slide cart drawer for Shopify. Boost Average Order Value (AOV) with automated in-cart upsells, free shipping progress bars, and instant 1-click checkout.
472
- - 📦 **[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)** — The personal and business moving box inventory management app. Batch-photograph box items with your phone, print scannable QR stickers, and locate any item in seconds.
516
+ Autonomous coding agents require strict, unpolluted output streams. `gsc-cli` enforces a military-grade stdout/stderr separation contract:
517
+ - **Zero ANSI Pollution**: When `--compact`, `--ndjson`, `--json`, or `--csv` is detected, all ANSI terminal colors, progress bars, and Unicode spinners are automatically suppressed.
518
+ - **Pure Stdout Payload**: Stdout contains *only* valid, parseable JSON, NDJSON, or CSV.
519
+ - **Stderr Diagnostic Routing**: Network warnings, rate-limit retries, and error traces are routed strictly to `stderr`.
520
+ - **POSIX Exit Codes**: Clean exit `0` on success, `1` on error or validation failure.
473
521
 
474
522
  ---
475
523
 
476
- ## 🧠 Modern SEO, AI Search (AEO) & Competitor Intelligence (v2.1)
524
+ ### 🚀 Autonomous Agent Workflow Recipes
477
525
 
478
- GSC CLI v2.1 introduces a zero-cost, zero-gem suite of tools covering **AI search readiness**, **competitor gap analysis**, **Core Web Vitals**, and **first-party Google autocompletions**:
479
-
480
- ### 1. Google Autocomplete & Alphabet Soup (`gsc suggest`)
481
- Harvest 100+ high-intent search suggestions across the full alphabet in seconds without paying for KeywordTool.io:
482
- ```bash
483
- # Standard Google search suggestions
484
- gsc suggest "moving boxes"
485
-
486
- # Alphabet soup harvester (a-z permutations)
487
- gsc suggest "storage units" --alphabet
488
-
489
- # Machine-readable JSON output for AI pipelines
490
- gsc suggest "commercial packaging" --alphabet --json
491
- ```
492
-
493
- ### 2. People Also Ask (PAA) Question Miner (`gsc questions`)
494
- Mine real user questions directly from Google search intent modules to build instant FAQ sections and blog content outlines:
495
- ```bash
496
- gsc questions "packing dishes"
497
- ```
526
+ Feed these exact commands to your AI agents (or add them to your `cursorrules` / agent system prompts):
498
527
 
499
- ### 3. Real Core Web Vitals via PageSpeed Insights (`gsc speed`)
500
- Directly measure Google's official Core Web Vitals (LCP, INP, CLS, FCP, TTFB) and Lighthouse scores with 25,000 free queries/day:
528
+ #### 1. Tactical Striking Distance Harvest
501
529
  ```bash
502
- # Audit mobile Core Web Vitals
503
- gsc speed https://packinglog.com/ --strategy mobile
504
-
505
- # Audit desktop performance with machine-readable diagnostics
506
- gsc speed https://packinglog.com/features --strategy desktop --json
530
+ # Agent prompt: "Find our highest-impression striking distance queries (Pos 7–20) and save token budget"
531
+ gsc strike --min-imp 25 --limit 15 --compact
507
532
  ```
508
533
 
509
- ### 4. SurferSEO-Style Topical Content Gap (`gsc content-gap`)
510
- Compare your page against any top-ranking competitor to uncover missing 1-gram, 2-gram, and 3-gram keyphrases and omitted headings:
534
+ #### 2. Google AI Overview (AIO) Defense Scan
511
535
  ```bash
512
- gsc content-gap https://packinglog.com/ https://uhaul.com/
536
+ # Agent prompt: "Check if Google is showing an AI Overview for our core product query and who they cite"
537
+ gsc aio-hunter "technical seo checklist" --compact
513
538
  ```
514
539
 
515
- ### 5. Head-to-Head On-Page Benchmark (`gsc compare`)
516
- Run an instant side-by-side comparison of titles, meta descriptions, H1 counts, image alt tags, JSON-LD schemas, and server response times:
540
+ #### 3. Forensic Soft-404 Audit & Automated Server Fix
517
541
  ```bash
518
- gsc compare https://packinglog.com/free-moving-labels https://uhaul.com/moving-supplies/boxes/
542
+ # Agent prompt: "Inspect missing landing page and synthesize an automated Nginx redirect block"
543
+ gsc soft-404 https://example.com/missing-guide --fix nginx --compact
519
544
  ```
520
545
 
521
- ### 6. AI Search & LLM Citation Readiness (`gsc llms`)
522
- Perplexity, ChatGPT, and Claude prioritize sites with clean markdown knowledge bases and structured layouts:
546
+ #### 4. Instant Googlebot Priority Indexing Notification
523
547
  ```bash
524
- # Generate a production-ready /llms.txt file from your sitemap
525
- gsc llms https://packinglog.com/ --save
526
-
527
- # Audit a page's citation readiness score for AI answer engines
528
- gsc llms https://packinglog.com/ audit
548
+ # Agent prompt: "Submit our newly published blog post to Google's Indexing API for crawl queueing"
549
+ gsc index https://example.com/blog/high-impact-seo --compact
529
550
  ```
530
551
 
531
- ### 7. Rich Schema Validator & Generator (`gsc schema`)
532
- Validate JSON-LD structured data against Google's Rich Result guidelines or generate copy-paste snippets:
552
+ #### 5. Multi-Client Agency Domain Switching
533
553
  ```bash
534
- # Validate existing structured data on a live page
535
- gsc schema https://packinglog.com/
536
-
537
- # Generate valid FAQPage JSON-LD snippet
538
- gsc schema generate faq
539
-
540
- # Generate valid SoftwareApplication JSON-LD snippet
541
- gsc schema generate software
554
+ # Agent prompt: "Switch to client domain and pull 28-day performance summary"
555
+ gsc switch clientdomain.com && gsc perf --days 28 --compact
542
556
  ```
543
557
 
544
- ### 8. Google SERP & Social Card Simulator (`gsc preview`)
545
- Render an exact ASCII preview of your Google desktop search snippet and OpenGraph/Twitter social cards before publishing:
546
- ```bash
547
- gsc preview https://packinglog.com/
548
- ```
558
+ ---
549
559
 
550
- ### 9. Redirect Chain & Header Tracer (`gsc trace`)
551
- Trace multi-hop 301/302 redirect loops, HSTS security headers, canonical links, and `X-Robots-Tag` directives:
552
- ```bash
553
- gsc trace packinglog.com
554
- ```
560
+ ### 📦 1-Click AI Agent Skill Installation
555
561
 
556
- ### 10. Robots.txt Crawler Simulator (`gsc robots`)
557
- Simulate crawl permissions for Googlebot, GPTBot, PerplexityBot, or ClaudeBot:
558
- ```bash
559
- gsc robots https://packinglog.com/ /admin --bot gptbot
560
- ```
562
+ Install the official `gsc-cli` skill directly into your coding agent's environment:
561
563
 
562
- ### 11. Domain Authority via OpenPageRank (`gsc authority`)
563
- Query PageRank (0–10) and Global Web Rank computed across Common Crawl's open graph with 300,000 free calls/month:
564
564
  ```bash
565
- gsc authority packinglog.com uhaul.com
565
+ # Installs SKILL.md into Antigravity, Claude, and Cursor skill directories
566
+ gsc skills install
566
567
  ```
567
568
 
568
- ### 12. GSC External Backlink Ingestion (`gsc backlinks`)
569
- Ingest your official Google Search Console External Links export without third-party crawler fees:
570
- ```bash
571
- # Ingest links from clipboard or CSV file
572
- gsc backlinks import clip
573
- gsc backlinks import Links_External_Pages.csv
574
-
575
- # View top referring domains and most linked landing pages
576
- gsc backlinks packinglog.com
577
- ```
569
+ Once installed, your agent automatically understands all 80 commands, flag permutations, token-saving modes, and diagnostic workflows without needing manual prompting.
578
570
 
579
571
  ---
580
572
 
581
573
  ## 🥊 How GSC CLI Compares (The Zero-Bloat Advantage)
582
574
 
583
- ### Full First-Party SEO Intelligence Without the $300/Mo Scraping Tax
584
- Get complete ground-truth Search Console analytics, instant Googlebot indexing, and real-time trends in under 50ms — even if you refuse to pay third-party API fees, run heavy Docker containers, or manage bloated database dependencies.
585
-
586
- Every other open-source SEO tool on GitHub falls into one of three painful traps:
587
-
588
- 1. **The DataForSEO Tax Trap**: Many open-source tools look impressive until you discover they are thin frontends around **DataForSEO**. Every single keyword search, competitor look-up, and rank check costs you per-query API credits. When your credit balance runs dry, the tool stops working completely.
589
- 2. **The 500MB Docker Bloat Trap**: Other suites require launching `docker-compose`, PostgreSQL databases, Redis queues, and heavy Node.js web servers just to audit 50 URLs. They are impossible to embed into lightweight terminal workflows or autonomous AI agent loops.
590
- 3. **The Fragile Single-Feature Script**: Python-based tools often drag in heavy `pandas` and `pytrends` dependencies that break whenever Google updates internal endpoint tokens, without offering Google Search Console, Google Indexing, or actionable ranking correlation.
591
-
592
- **`gsc-cli` was engineered on a radically different architectural philosophy**: Zero gems. Zero external databases. Zero middleman scraping fees. Pure Ruby standard library communicating directly with Google's bare-metal HTTP APIs in under 50 milliseconds.
593
-
594
- ### 📊 Feature Comparison Matrix
595
-
596
- | Capability | every-app/open-seo (18k ⭐) | crawlseo/crawlseo | akvise/trends-checker | ApollosWave/gsc-cli (v2.1.0) |
597
- | :--- | :--- | :--- | :--- | :--- |
598
- | **Price** | $10/mo + DataForSEO fees | Free (Requires VPS) | Free / DataForSEO | **100% Free & Open Source ($0)** |
599
- | **Dependencies** | 100+ npm packages + DB | Docker + Postgres + Node | Python 3.11 + pandas | **0 Gems / Pure Standard Library** |
600
- | **Binary Size / Footprint** | ~300 MB+ | ~500 MB+ (Docker images) | ~150 MB (Python venv) | **368 KB (Single executable file)** |
601
- | **Execution Latency** | 3–5 seconds (Web app) | Web UI | 2–4 seconds | **< 50 milliseconds** |
602
- | **Google Search Console** | Indirect / DataForSEO | ✅ Direct API | ❌ None | **✅ Direct API with Gzip compression** |
603
- | **Google Indexing API** | ❌ None | ❌ None | ❌ None | **✅ Direct 1-click Googlebot ping** |
604
- | **Google Analytics 4** | ❌ None | ❌ None | ❌ None | **✅ Realtime, Ads, & Traffic channels** |
605
- | **Google Trends** | ❌ None | ❌ None | ✅ Standalone only | **✅ Built-in velocity & sparklines** |
606
- | **Site Crawler & Audits** | Paid DataForSEO crawler | ✅ Max 2k pages | ❌ None | **✅ Sitemap + SERP pixel width checks** |
607
- | **Keyword Ingestion** | DataForSEO API only | ❌ Manual | ❌ None | **✅ `gsc import clip` (Free Clipboard)** |
608
- | **AI Agent Native Skill** | MCP server only | MCP server only | ❌ None | **✅ Claude Code / Antigravity Skill + JSON** |
575
+ | Capability | every-app/open-seo | crawlseo | nalyk/gsccli | benedict2310/gsc-cli | **ApollosWave/gsc-cli (v2.2.0)** |
576
+ | :--- | :--- | :--- | :--- | :--- | :--- |
577
+ | **Price** | $10/mo + DataForSEO | Free (Requires VPS) | Free (Go) | Free (Go) | **100% Free & Open Source ($0)** |
578
+ | **Dependencies** | 100+ npm packages + DB | Docker + Postgres + Node | Go runtime | Go runtime | **0 Gems / Pure Standard Library** |
579
+ | **Execution Latency** | 3–5 seconds (Web app) | Web UI | ~15ms | ~12ms | **< 1 millisecond (Compiled Binary)** |
580
+ | **Command Surface** | 5 web views | Web dashboard | ~8 commands | ~2 commands | **80 Production Commands** |
581
+ | **Actionable Fixes** | ❌ None | ❌ None | ❌ None | ❌ None | **✅ `--fix nginx`, JSON-LD, rewrites** |
582
+ | **Google AI Overviews (AIO)**| ❌ None | ❌ None | ❌ None | ❌ None | **✅ `aio-hunter` + `cite-sim`** |
583
+ | **Soft-404 Diagnostics** | ❌ None | ❌ None | ❌ None | ❌ None | **✅ Forensic heuristic engine** |
584
+ | **Mobile SERP Parity** | ❌ None | ❌ None | ❌ None | ❌ None | **✅ Cross-device rank gap auditor** |
585
+ | **Indexing API** | ❌ None | ❌ None | ✅ Yes | ❌ None | **✅ Google Indexing + Multi-IndexNow** |
586
+ | **Multi-Client Vault** | ❌ Plain files | ❌ Plain files | ❌ Single site | ❌ Single site | **✅ AES-256-GCM Encrypted Vault (`gsc vault`)** |
587
+ | **Token Economics** | ❌ None (Web) | ❌ None (Web) | ❌ Verbose | ❌ Text only | **✅ Native `--compact`, `--ndjson`, `--csv` (35–75% savings)** |
588
+ | **AI Agent Native Skill** | MCP server only | MCP server only | MCP server only | ❌ Refused | **✅ Antigravity, Claude, Cursor Skill + JSON** |
609
589
 
610
590
  ---
611
591
 
612
- ## 🏗️ Architecture & Development
592
+ ## 🏗️ Architecture & Pure-Ruby Design
613
593
 
614
- `gsc-cli` is engineered following a clean, modular Ruby architecture:
594
+ `gsc-cli` is engineered with 100% pure Ruby standard library. It compiles into a single, self-contained, zero-dependency executable:
615
595
 
616
596
  ```text
617
597
  gsc-cli/
618
598
  ├── bin/
619
- │ └── gsc # Lean executable runner (< 15 lines)
599
+ │ ├── gsc # Standalone executable runner (< 15 lines)
600
+ │ └── test_live # Visual showcase & internal test harness
620
601
  ├── lib/
621
- │ ├── gsc.rb # Central loader & stdlib requirements
602
+ │ ├── gsc.rb # Central stdlib loader
622
603
  │ └── gsc/
623
- │ ├── version.rb # Semantic versioning (2.0.0)
604
+ │ ├── version.rb # Semantic versioning (2.2.0)
624
605
  │ ├── color.rb # Zero-dependency ANSI formatting
625
- │ ├── config.rb # ~/.config/gsc/config.json persistence
606
+ │ ├── config.rb # Configuration persistence
626
607
  │ ├── auth.rb # Pure OpenSSL JWT generator
627
- │ ├── client.rb # Net::HTTP client with JSON serialization
628
- │ ├── api.rb # GSC, Indexing & GA4 API endpoints
629
- │ ├── sitemap_loader.rb # XML crawler & sitemap index parser
630
- │ ├── google_trends.rb # Real-time search demand engine
631
- │ ├── keyword_planner.rb # Autocomplete expander & intent classifier
632
- │ ├── keywords_everywhere.rb # Keywords Everywhere API client
633
- │ ├── command_registry.rb # Command catalog (47 commands) & AI skills
634
- │ └── cli.rb # Option parser, command router & wizards
608
+ │ ├── client.rb # Net::HTTP client with Gzip decompression
609
+ │ ├── api.rb # GSC, Indexing, GA4, PageSpeed endpoints
610
+ │ ├── aio_hunter.rb # Google AI Overview Opportunity Hunter
611
+ │ ├── citation_simulator.rb# AI Citability score & grounding heuristics
612
+ │ ├── soft_404_analyzer.rb # Soft-404 diagnostic & multi-stack fix generator
613
+ │ ├── mobile_parity.rb # Cross-device SERP parity auditor
614
+ │ ├── doctor.rb # Zero-gem cold-start benchmark doctor
615
+ │ ├── command_registry.rb # Catalog of all 80 production commands
616
+ │ ├── cli/ # Modular subcommand domains (audit, keywords, growth...)
617
+ │ └── cli.rb # Primary command dispatcher & router
635
618
  ├── dist/
636
- │ └── gsc # Standalone bundled binary (curl distribution)
619
+ │ └── gsc # Standalone bundled binary (1,368 KB)
637
620
  ├── gsc.gemspec # Standard RubyGem specification
638
- ├── Rakefile # Tasks for build, test, and install
621
+ ├── Rakefile # Build, test, and standalone install tasks
639
622
  └── install.sh # Universal 1-click shell installer
640
623
  ```
641
624
 
642
625
  ### Development Tasks
643
626
  ```bash
644
- # Run syntax verification across all modular files
627
+ # Run syntax checks and all 359 unit test suites
645
628
  rake test
646
629
 
630
+ # Run 100-scenario deep forensic regression suite
631
+ rake test:forensic
632
+
647
633
  # Build the standalone single-file binary into dist/gsc
648
634
  rake build:standalone
649
635
 
650
636
  # Install local development build to ~/.local/bin/gsc
651
637
  rake install:standalone
652
-
653
- # Build gem package
654
- rake gem:build
655
638
  ```
656
639
 
657
640
  ---
@@ -675,6 +658,7 @@ If GSC CLI saves your team hours of manual audit work or hundreds in monthly Saa
675
658
 
676
659
  👉 **[Read the Full Sponsorship Prospectus & Tier Breakdown →](FUNDING.md)**
677
660
 
661
+ ---
678
662
 
679
663
  ### ApollosWave Ecosystem
680
664
  GSC CLI is maintained by [ApollosWave LLC](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli). Check out our products:
@@ -692,6 +676,18 @@ GSC CLI is maintained by [ApollosWave LLC](https://apolloswave.com/?utm_source=g
692
676
 
693
677
  ---
694
678
 
679
+ ## 📬 A Personal Note from the Maintainers
680
+
681
+ **P.S.** If you've made it this far, you already know that relying on manual web dashboards and bloated dependencies is quietly costing your team hours every single week. Installing `gsc-cli` takes **under 10 seconds** (`gem install gsc-cli` or via our 1-line curl installer). In less time than it takes to log into Google Search Console, you can have sub-50ms ground-truth rankings streaming directly in your terminal.
682
+
683
+ **P.P.S.** Search has entered the most volatile shift in 20 years. Google AI Overviews are expanding across global queries every week, capturing clicks before users ever reach blue links. Every day your landing pages have unmonitored soft-404 errors, mobile rank suppression, or unstructured headings, you are leaking qualified organic customers to competitors who took 5 minutes to optimize their citation readiness.
684
+
685
+ **P.P.P.S.** `gsc-cli` is 100% free, MIT licensed, and backed by production businesses that rely on it daily. There are no surprise credit limits, no vendor lock-in, and zero third-party dependencies. If it saves your team even one afternoon of manual SEO busywork, drop a star on the repo and share it with a fellow builder.
686
+
687
+ 👉 **[Get Started Now with 1-Click Install](#-quick-installation)** | **[Drop a Star on GitHub ⭐](https://github.com/ApollosWave/gsc-cli)**
688
+
689
+ ---
690
+
695
691
  ## 📄 License
696
692
 
697
693
  This project is open-source software licensed under the **MIT License**. See [LICENSE](LICENSE) for details.