gsc-cli 2.0.2 → 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 (108) hide show
  1. checksums.yaml +4 -4
  2. data/AUTH.md +205 -0
  3. data/FUNDING.md +120 -0
  4. data/README.md +463 -299
  5. data/bin/gsc +29158 -4921
  6. data/dist/gsc +29158 -4921
  7. data/lib/gsc/aio_hunter.rb +343 -0
  8. data/lib/gsc/answer_synthesizer.rb +157 -0
  9. data/lib/gsc/api.rb +53 -1
  10. data/lib/gsc/auth.rb +26 -0
  11. data/lib/gsc/backlinks_manager.rb +96 -0
  12. data/lib/gsc/brand_segmenter.rb +140 -0
  13. data/lib/gsc/cache_manager.rb +806 -0
  14. data/lib/gsc/cannibalization_analyzer.rb +141 -0
  15. data/lib/gsc/canonical_chains.rb +367 -0
  16. data/lib/gsc/citation_simulator.rb +339 -0
  17. data/lib/gsc/cli/aio_hunter.rb +154 -0
  18. data/lib/gsc/cli/analytics.rb +788 -0
  19. data/lib/gsc/cli/audit.rb +1976 -0
  20. data/lib/gsc/cli/base.rb +384 -0
  21. data/lib/gsc/cli/cache.rb +266 -0
  22. data/lib/gsc/cli/canonical.rb +223 -0
  23. data/lib/gsc/cli/citation_simulator.rb +152 -0
  24. data/lib/gsc/cli/dashboard.rb +354 -0
  25. data/lib/gsc/cli/doctor.rb +129 -0
  26. data/lib/gsc/cli/eeat.rb +125 -0
  27. data/lib/gsc/cli/ga4.rb +852 -0
  28. data/lib/gsc/cli/growth.rb +650 -0
  29. data/lib/gsc/cli/hreflang.rb +164 -0
  30. data/lib/gsc/cli/image_seo.rb +162 -0
  31. data/lib/gsc/cli/indexing.rb +458 -0
  32. data/lib/gsc/cli/intent_shift.rb +125 -0
  33. data/lib/gsc/cli/keyword_value.rb +134 -0
  34. data/lib/gsc/cli/keywords.rb +795 -0
  35. data/lib/gsc/cli/landing_roi.rb +308 -0
  36. data/lib/gsc/cli/low_ctr.rb +213 -0
  37. data/lib/gsc/cli/mobile_parity.rb +150 -0
  38. data/lib/gsc/cli/report.rb +100 -0
  39. data/lib/gsc/cli/rich_results.rb +172 -0
  40. data/lib/gsc/cli/schema_generate.rb +149 -0
  41. data/lib/gsc/cli/seasonal.rb +232 -0
  42. data/lib/gsc/cli/security.rb +153 -0
  43. data/lib/gsc/cli/setup.rb +1291 -0
  44. data/lib/gsc/cli/sitemap_tree.rb +143 -0
  45. data/lib/gsc/cli/skill_pack.rb +62 -0
  46. data/lib/gsc/cli/soft_404.rb +199 -0
  47. data/lib/gsc/cli/sparkline.rb +227 -0
  48. data/lib/gsc/cli/watchdog.rb +150 -0
  49. data/lib/gsc/cli/zombie_purger.rb +208 -0
  50. data/lib/gsc/cli.rb +706 -5111
  51. data/lib/gsc/cli_advanced.rb +1513 -0
  52. data/lib/gsc/client.rb +17 -2
  53. data/lib/gsc/color.rb +16 -1
  54. data/lib/gsc/command_registry.rb +47 -9
  55. data/lib/gsc/config.rb +11 -2
  56. data/lib/gsc/content_gap.rb +112 -0
  57. data/lib/gsc/ctr_curve.rb +115 -0
  58. data/lib/gsc/decay_predictor.rb +322 -0
  59. data/lib/gsc/doctor.rb +434 -0
  60. data/lib/gsc/eeat_auditor.rb +428 -0
  61. data/lib/gsc/entity_auditor.rb +229 -0
  62. data/lib/gsc/firewall_scanner.rb +733 -0
  63. data/lib/gsc/geo_auditor.rb +368 -0
  64. data/lib/gsc/google_suggest.rb +109 -0
  65. data/lib/gsc/google_trends.rb +8 -1
  66. data/lib/gsc/heading_validator.rb +283 -0
  67. data/lib/gsc/hreflang_validator.rb +412 -0
  68. data/lib/gsc/image_seo.rb +286 -0
  69. data/lib/gsc/indexing_queue.rb +179 -0
  70. data/lib/gsc/indexnow.rb +93 -0
  71. data/lib/gsc/intent_shift.rb +188 -0
  72. data/lib/gsc/internal_links.rb +249 -0
  73. data/lib/gsc/keyword_value.rb +191 -0
  74. data/lib/gsc/landing_roi.rb +195 -0
  75. data/lib/gsc/llms_generator.rb +425 -0
  76. data/lib/gsc/low_ctr_rewriter.rb +408 -0
  77. data/lib/gsc/mobile_parity.rb +222 -0
  78. data/lib/gsc/network_tracer.rb +93 -0
  79. data/lib/gsc/open_page_rank.rb +72 -0
  80. data/lib/gsc/page_analyzer.rb +47 -7
  81. data/lib/gsc/page_comparator.rb +108 -0
  82. data/lib/gsc/page_speed.rb +110 -0
  83. data/lib/gsc/prompts.rb +38 -29
  84. data/lib/gsc/questions_harvester.rb +178 -0
  85. data/lib/gsc/report_generator.rb +461 -0
  86. data/lib/gsc/rich_results.rb +388 -0
  87. data/lib/gsc/robots_checker.rb +114 -0
  88. data/lib/gsc/schema_generator.rb +788 -0
  89. data/lib/gsc/schema_validator.rb +120 -0
  90. data/lib/gsc/seasonal_predictor.rb +381 -0
  91. data/lib/gsc/security_scanner.rb +496 -0
  92. data/lib/gsc/serp_feature_detector.rb +359 -0
  93. data/lib/gsc/serp_preview.rb +152 -0
  94. data/lib/gsc/site_crawler.rb +113 -21
  95. data/lib/gsc/sitemap_loader.rb +15 -4
  96. data/lib/gsc/sitemap_tree.rb +301 -0
  97. data/lib/gsc/skill_pack.rb +195 -0
  98. data/lib/gsc/soft_404_analyzer.rb +385 -0
  99. data/lib/gsc/sparkline.rb +171 -0
  100. data/lib/gsc/speed_correlator.rb +416 -0
  101. data/lib/gsc/striking_playbook.rb +190 -0
  102. data/lib/gsc/title_optimizer.rb +420 -0
  103. data/lib/gsc/vault.rb +260 -0
  104. data/lib/gsc/version.rb +1 -1
  105. data/lib/gsc/watchdog.rb +235 -0
  106. data/lib/gsc/zombie_purger.rb +366 -0
  107. data/lib/gsc.rb +144 -0
  108. metadata +91 -2
data/README.md CHANGED
@@ -1,13 +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
+ [![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)
10
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)
11
14
 
12
15
  ---
13
16
 
@@ -18,8 +21,8 @@
18
21
 
19
22
  <p align="center">
20
23
  <sub>Explore other software built by our team:</sub><br>
21
- ⚡ <a href="https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli"><b>Superspeed</b></a> — Lightning-fast macOS disk cleaner & RAM booster for Apple Silicon<br>
22
- 🛒 <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>
23
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
24
27
  </p>
25
28
 
@@ -27,36 +30,93 @@
27
30
 
28
31
  ## ⚡ The Brutal Truth About Modern SEO (And Why We Built GSC CLI)
29
32
 
30
- 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:
31
34
 
32
- 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.
33
- 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.
34
- 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.
35
- 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.
36
40
 
37
- ### The Epiphany Bridge
38
- At **[ApollosWave](https://apolloswave.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**, we run multiple production software businesses—from macOS system utilities (**[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**) and Shopify e-commerce 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)**).
41
+ ### The Origin of GSC-CLI
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)**).
39
43
 
40
- 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**.
41
45
 
42
- 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.
43
73
 
44
74
  ---
45
75
 
46
76
  ## 💎 Key Capabilities at a Glance
47
77
 
48
- - 📈 **Real-Time Google Trends Engine**: 5-year and 1-year search trajectory, growth velocity percentage, Unicode sparklines (` ▂▃▄▅▆▇█`), and regional demand breakdowns with zero authentication.
49
- - 🎯 **Zero-Auth Keyword Planner**: Instant seed expansion via Google Autocomplete with automated search intent classification (`Informational`, `Commercial`, `Transactional`).
50
- - 💰 **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`).
51
- - 📊 **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.
52
- - 🚀 **Instant Googlebot Re-Indexing**: Ping Google's Indexing API with `URL_UPDATED` or `URL_DELETED` for priority crawl queueing within seconds.
53
- - 🔍 **Live Google URL Inspection**: Direct Search Console API check for indexing verdict, assigned canonical URL, crawl timestamps, and robots.txt state.
54
- - 💀 **90-Day Zombie Page Detection**: Automatically scan XML sitemaps to find zero-impression deadweight URLs draining your Google crawl budget.
55
- - 🛡️ **Cannibalization & Decay Detection**: Spot internal URLs fighting for the same queries, and compare 28-day period-over-period traffic trends.
56
- - 📊 **Google Analytics 4 (GA4) Behavioral Link**: Stream live active visitors (`gsc realtime --watch`) and correlate SERP rankings with landing page bounce rates.
57
- - 📑 **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.
58
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.
59
- - 🤖 **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!
60
120
 
61
121
  ---
62
122
 
@@ -86,12 +146,16 @@ source ~/.zshrc
86
146
  Verify your installation:
87
147
  ```bash
88
148
  gsc version
149
+ gsc doctor
89
150
  ```
90
151
 
91
152
  ---
92
153
 
93
154
  ## ⚡ 2-Minute Google Setup
94
155
 
156
+ > 🔑 **Need help with GA4, Google PageSpeed, OpenPageRank, or Keywords Everywhere?**
157
+ > Check out the complete **[Authentication & API Key Setup Guide (AUTH.md)](AUTH.md)** for 30-second walkthroughs and zero-key features.
158
+
95
159
  ### Step 1: Create a Google Cloud Service Account Key
96
160
  1. Open [Google Cloud Console](https://console.cloud.google.com/).
97
161
  2. In **APIs & Services > Library**, enable:
@@ -120,402 +184,490 @@ gsc domains
120
184
 
121
185
  ---
122
186
 
123
- ## 🧠 In-Depth Guides: Keyword Demand & Search Intelligence
187
+ ## 🧠 Deep-Dive Feature Walkthroughs
124
188
 
125
- ### 0. Detailed Off-Page + On-Page SEO Merger (`gsc page` & `gsc site-audit`)
189
+ ### 1. Google AI Overview (AIO) Opportunity Hunter (`gsc aio-hunter`)
126
190
 
127
191
  #### The Problem
128
- 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.
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.
129
193
 
130
- #### The Magic
131
- `gsc page` merges both worlds into a single, cohesive 360° audit:
132
- ```bash
133
- # Audit any URL combining DOM inspection with GSC 90-day search performance
134
- gsc page https://packinglog.com/
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:
135
196
 
136
- # Deep internal link verification: tests HTTP status codes (200, 404, 500)
137
- gsc page https://packinglog.com/ --check-links
197
+ ```bash
198
+ # Hunt AI Overview presence and extract cited competitor URLs
199
+ gsc aio-hunter "best technical seo audit tools"
138
200
 
139
- # Local template auditing before deploying
140
- gsc page src/routes/+page.svelte
201
+ # Filter by minimum impressions and export JSON for AI agents
202
+ gsc aio-hunter --min-imp 50 --json
141
203
  ```
142
204
 
143
- And `gsc site-audit` crawls entire XML sitemaps to generate prioritized AI fix sprints:
205
+ ---
206
+
207
+ ### 2. AI Citation Simulator (`gsc cite-sim`)
208
+
209
+ #### The Problem
210
+ How do you know if an LLM (ChatGPT Search, Perplexity, Gemini) will actually cite your URL when answering user queries?
211
+
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.
218
+
144
219
  ```bash
145
- gsc site-audit https://packinglog.com/sitemap.xml --report docs/seo/site_audit_issues.md
220
+ gsc cite-sim https://example.com/guides/core-web-vitals
146
221
  ```
147
222
 
148
223
  ---
149
224
 
150
- ### 1. Keywords Everywhere Dual Workflow (`gsc import clip` & `gsc ke`)
225
+ ### 3. Soft-404 Forensic Diagnostic Engine with Instant Stack Fixes (`gsc soft-404`)
151
226
 
152
227
  #### The Problem
153
- 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.
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.
154
229
 
155
- `gsc-cli` provides **two flexible workflows** tailored to how you work:
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:
232
+
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
250
+ ```
156
251
 
157
252
  ---
158
253
 
159
- #### 🆓 Method A: Zero-Cost Clipboard Ingestion (`gsc import clip`)
160
- > **No API key or paid credits required!** Works 100% free with the Keywords Everywhere web dashboard or browser extension.
254
+ ### 4. Cross-Device Mobile vs. Desktop SERP Parity (`gsc mobile-parity`)
161
255
 
162
- If you don't have paid API credits, or prefer using the free daily lookups on the Keywords Everywhere website:
256
+ #### The Problem
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.
163
258
 
164
- 1. **Copy Your Keywords in the Browser**:
165
- * Open [Keywords Everywhere](https://keywordseverywhere.com/) (or use their Chrome/Firefox extension or bulk keyword tool).
166
- * View any table of search volumes, CPCs, and competition metrics.
167
- * Click **"Copy"** / **"Copy to Clipboard"** (or select the rows and press `Cmd+C` / `Ctrl+C`).
168
- 2. **Run One Command in Your Terminal**:
169
- ```bash
170
- gsc import clip
171
- ```
172
- 3. **Instant Analysis & GSC Correlation**:
173
- `gsc-cli` uses native OS clipboard tools (`pbpaste` on macOS, `xclip`/`wl-paste` on Linux) to:
174
- * Parse volume, CPC, competition score, and monthly history at zero cost.
175
- * Draw live **Unicode Sparklines (` ▂▃▄▅▆▇█`)** showing 12-month demand trajectory.
176
- * Calculate **Opportunity Scores (0–100)** to prioritize low-competition/high-volume wins.
177
- * Automatically cross-reference your live Google Search Console rankings (`🏆 Top 3`, `🥇 Page 1`, `🎯 Striking Distance`, or `🚀 Untargeted`).
178
- * Automatically archive the snapshot into `~/.config/gsc/domains/<domain>/keywords/` so you can track rank progress over time!
259
+ #### The Solution
260
+ `gsc mobile-parity` compares mobile and desktop impressions, average positions, and CTR side-by-side, flagging responsive suppression penalties:
261
+
262
+ ```bash
263
+ gsc mobile-parity example.com --gap-threshold 2.0
264
+ ```
179
265
 
180
266
  ---
181
267
 
182
- #### ⚡ Method B: Headless Direct API Integration (`gsc ke`)
183
- > **For automated, headless terminal lookups.** Requires a Keywords Everywhere API key with paid credits.
268
+ ### 5. Detailed Off-Page + On-Page SEO Merger (`gsc page` & `gsc site-audit`)
184
269
 
185
- 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:
270
+ ```bash
271
+ # Audit any URL combining DOM inspection with GSC 90-day search performance
272
+ gsc page https://example.com/
186
273
 
187
- 1. **Connect your API key once**:
188
- ```bash
189
- gsc connect ke YOUR_API_KEY
190
- ```
191
- *Your key is securely stored in `~/.config/gsc/config.json` alongside your Google service account.*
192
- 2. **Check your remaining account credits**:
193
- ```bash
194
- gsc ke-credits
195
- ```
196
- 3. **Query any keyword topic or seed directly**:
197
- ```bash
198
- gsc ke "mac cleaner" --limit 25
199
- ```
200
- 4. **Bulk inspect an entire keyword list headlessly**:
201
- ```bash
202
- gsc ke keywords.txt --country us --limit 100 --json
203
- ```
274
+ # Deep internal link verification: tests HTTP status codes (200, 404, 500)
275
+ gsc page https://example.com/ --check-links
204
276
 
205
- Terminal Output:
206
- ```text
207
- 🔍 KEYWORDS EVERYWHERE SEARCH DEMAND (Seed: mac cleaner)
208
- Country: US · Provider: Google Keyword Planner via Keywords Everywhere API
209
- Correlated with GSC: superspeedapp.com
210
-
211
- KEYWORD VOL/MO CPC COMP OPP SCORE INTENT GSC RANK STATUS
212
- ──────────────────────────────────────────────────────────────────────────────────────────────────────────
213
- best mac cleaner 2025 18,100 $4.80 0.42 82/100 Commercial 🎯 Striking Distance (Pos 8.4)
214
- free mac disk cleaner 12,400 $3.10 0.28 88/100 Transactional 🚀 Untargeted
215
- clean my mac alternative 6,600 $6.50 0.35 81/100 Commercial 🥇 Page 1 (Pos 4.2)
216
- how to clear system storage mac 9,900 $1.20 0.15 89/100 Informational 🚀 Untargeted
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
217
279
  ```
218
280
 
219
281
  ---
220
282
 
221
- ### 2. Google Trends Real-Time Demand Engine (`gsc trends`)
283
+ ### 6. Zero-Cost Clipboard Keyword Ingestion (`gsc import clip`)
222
284
 
223
- #### The Problem
224
- 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.
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.
225
298
 
226
- #### The Magic
227
- `gsc trends` queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**. It calculates:
228
- - **Trajectory Velocity**: Compares recent interest vs historical baseline.
229
- - **Velocity Badges**: `🚀 (Explosive Breakout)`, `🔥 (Strong Surging)`, `📈 (Growing Demand)`, `⚖️ (Stable Demand)`, `📉 (Cooling)`.
230
- - **Unicode Sparklines**: Visualizes interest curves right in your terminal (` ▂▃▄▅▆▇█`).
231
- - **Geographic Heatmap**: Identifies top states and regions driving demand.
299
+ ---
232
300
 
233
- ```bash
234
- gsc trends "moving boxes" --geo US --time 12m
235
- ```
301
+ ### 7. Google Trends Real-Time Demand Engine (`gsc trends`)
236
302
 
303
+ Queries Google Trends explore and widget APIs directly in real time with **zero authentication and zero API keys**:
237
304
  ```bash
305
+ gsc trends "seo audit" --geo US --time 12m
238
306
  gsc trends "local llm" --geo US --time 5y --json
239
307
  ```
240
308
 
241
309
  ---
242
310
 
243
- ### 3. Autocomplete Keyword Intent Expander (`gsc planner`)
311
+ ### 8. Agency Credential Vault (`gsc vault`)
244
312
 
245
313
  #### The Problem
246
- 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.
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.
247
315
 
248
- #### The Magic
249
- `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**:
250
- - **Informational**: *"how to pack dishes for moving"*, *"why is mac running slow"*
251
- - **Commercial**: *"best moving apps"*, *"superspeed vs cleanmymac"*
252
- - **Transactional**: *"buy wardrobe moving boxes cheap"*, *"hire movers near me"*
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:
253
318
 
254
- It then checks your active domain's GSC rankings so you instantly see untargeted opportunities:
255
319
  ```bash
256
- gsc planner "moving boxes" --limit 20
320
+ # Check encrypted vault status, stored keys & cipher health
321
+ gsc vault status
322
+
323
+ # Add a client service account key to the encrypted store
324
+ gsc vault add ./client-key.json --domain client.com --alias client1
325
+
326
+ # List all vaulted domains, client emails & GA4 property links
327
+ gsc vault list
328
+
329
+ # Switch active client context instantly (by domain, alias, or index #)
330
+ gsc switch client.com
331
+ gsc switch client1
332
+ gsc use 2
257
333
  ```
258
334
 
259
335
  ---
260
336
 
261
- ### 4. Universal Keyword Ingestion: Clipboard, Google Ads & Files (`gsc import`)
337
+ ### 9. Striking Distance Playbook & Organic CTR Curve (`gsc strike` & `gsc ctr-curve`)
262
338
 
263
339
  #### The Problem
264
- 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.
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.
265
341
 
266
- #### The Magic
267
- `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):
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:
268
345
 
269
346
  ```bash
270
- # 1-click ingest directly from your system clipboard (free & zero setup):
271
- gsc import clip
347
+ # Simulate organic CTR curve and click upside for Page 2 rankings
348
+ gsc ctr-curve --days 30 --target-pos 3
272
349
 
273
- # Import a Keywords Everywhere markdown or CSV export:
274
- gsc import path/to/KW.md --limit 30
350
+ # Generate tactical Page 2 striking distance playbook
351
+ gsc strike --limit 10
275
352
 
276
- # Import a Google Ads Keyword Planner CSV/TSV:
277
- gsc import path/to/google-ads-keywords.csv --limit 30
353
+ # Export playbook directly to CSV for copywriters & content teams
354
+ gsc strike --limit 20 --csv docs/seo/striking_playbook.csv
278
355
  ```
279
356
 
280
- `gsc` automatically:
281
- - **Deduplicates** redundant keyword rows across multiple concatenated batches.
282
- - **Normalizes** search volumes, CPC bids, and competition tiers.
283
- - **Extracts 12-Month Historical Demand**: Automatically identifies monthly columns and renders a live **Unicode Sparkline** (` ▂▃▄▅▆▇█`) for each keyword in your terminal.
284
- - **Calculates Opportunity Scores (0–100)**:
285
- $$\text{Opportunity} = \text{Search Volume (0–50)} + (1 - \text{Competition}) \times 50$$
286
- - **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`).
287
- - **Auto-Archives to Domain Storage**: Automatically persists the dataset to `~/.config/gsc/domains/<domain>/keywords/` for historical rank tracking.
357
+ ---
288
358
 
289
- Terminal Output:
290
- ```text
291
- Opp Score | Volume/mo | CPC | Comp | Tier | Trend% [12m] | GSC Status | Intent | Keyword
292
- --------------------------------------------------------------------------------------------------------------------------------
293
- 75 | 1,000 | $11.04 | 0.10 | Low | -69% ▄▅▅█▅▁ | 🚀 Untargeted | Navigational | moving from san francisco to new york
294
- 69 | 77 | $0.00 | 0.00 | Low | +0% ▄▄▄▄▄▄ | 🚀 Untargeted | Navigational | moving from dallas to orlando
295
- 68 | 390 | $1.99 | 0.17 | Low | +25% ▁▄▄▄██ | 🚀 Untargeted | Navigational | storage unit size calculator
296
- 68 | 110 | $1.74 | 0.05 | Low | -65% ▂██▁▄▁ | 🚀 Untargeted | Navigational | moving checklist app
297
- 64 | 30 | $2.19 | 0.05 | Low | +83% ▃▁▁▆██ | 🚀 Untargeted | Navigational | moving volume calculator
298
- ```
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` |
299
490
 
300
491
  ---
301
492
 
302
- ### 5. Domain Keyword Archive & Rank Movement Tracker (`gsc saved`)
303
-
304
- #### The Problem
305
- 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.
493
+ ## 🤖 AI Agent Native Integration (Antigravity, Claude, Cursor)
306
494
 
307
- #### The Magic
308
- `gsc-cli` automatically stores all research and imported datasets in isolated domain directories under `~/.config/gsc/domains/<domain>/keywords/`.
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**).
309
496
 
310
- ```text
311
- ~/.config/gsc/
312
- ├── config.json
313
- ├── service-account.json
314
- └── domains/
315
- ├── packinglog.com/
316
- │ └── keywords/
317
- │ ├── 2026-09-10-kw-md.json
318
- │ └── 2026-09-10-moving-boxes.json
319
- └── superspeedapp.com/
320
- └── keywords/
321
- └── 2026-09-10-mac-cleaner.json
322
- ```
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**.
323
498
 
324
- #### List Saved Snapshots
325
- ```bash
326
- gsc saved
327
- ```
328
- ```text
329
- 📁 SAVED KEYWORD RESEARCH ARCHIVES (packinglog.com)
330
- Location: ~/.config/gsc/domains/packinglog.com/keywords
499
+ ### 📉 Token Economics: Why Format Matters for AI Agents
331
500
 
332
- # | Date | Source | Keywords | Seed / File
333
- --------------------------------------------------------------------------------
334
- [1] | 2026-09-10 | Import | 209 | KW.md
335
- [2] | 2026-09-10 | Google Autocomplete | 50 | moving boxes
336
- ```
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:
337
502
 
338
- #### Re-Check Live Search Console Rankings & Track Wins
339
- Run `gsc saved check <id>` to re-query Search Console API in real-time and measure your rank progress:
340
- ```bash
341
- gsc saved check 1
342
- ```
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 |
343
509
 
344
- ```text
345
- ══════════════════════════════════════════════════════════════
346
- 📊 KEYWORD RANKING & OPPORTUNITY TRACKER (packinglog.com)
347
- ══════════════════════════════════════════════════════════════
348
- 🏆 Top 3 Rankings: 2 (+2 new)
349
- 🥇 Page 1 Rankings (4–10): 5 (+3 new)
350
- 🎯 Striking Distance (11–20): 14 (+6 new)
351
- 🚀 Untargeted / Unranked: 188
352
- 📈 Total Tracked Keywords: 209
353
- ══════════════════════════════════════════════════════════════
354
- ```
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.
355
511
 
356
512
  ---
357
513
 
358
- ## 🛠️ Complete CLI Command Reference
359
-
360
- ### 1. Setup, Configuration & Domain Switching
361
- | Command | Description |
362
- |---|---|
363
- | `gsc connect` | 1-Click interactive setup wizard: auto-detects key in Downloads or drag & drop |
364
- | `gsc connect ke [key]` | Connect Keywords Everywhere API key and save to `~/.config/gsc/config.json` |
365
- | `gsc connect-ga4` | Interactive Google Analytics 4 linking wizard |
366
- | `gsc domains` | List all verified Search Console properties and linked GA4 properties |
367
- | `gsc use <domain or #>` | Switch active default domain (e.g. `gsc use 2` or `gsc use packinglog.com`) |
368
- | `gsc open` | Open `~/.config/gsc` configuration directory in Finder |
369
- | `gsc where` | Inspect CLI binary path, active credential file, and config path |
370
- | `gsc update` | Self-update `gsc` to the latest version directly from GitHub |
371
- | `gsc version` | Display CLI version and Ruby runtime environment |
372
-
373
- ### 2. Google Trends & Keyword Intelligence
374
- | Command | Description |
375
- |---|---|
376
- | `gsc trends <query>` | Real-time Google Trends 5y/1y demand velocity, sparklines, and geo breakdown |
377
- | `gsc planner <seed>` | Zero-auth Google Suggest intent expander with live GSC rank correlation |
378
- | `gsc import <file or clip>` | Ingest Google Ads / Keywords Everywhere data from clipboard (`gsc import clip`) or file (.csv, .tsv, .md) with 12m sparklines |
379
- | `gsc planner-import <file>` | Ingest Google Ads / Keywords Everywhere export (alias for `import`) |
380
- | `gsc ke <seed or file>` | Keywords Everywhere: Exact monthly volume, CPC, competition & GSC correlation |
381
- | `gsc ke-credits` | Check remaining Keywords Everywhere account API credits |
382
- | `gsc saved` | List saved keyword research snapshots for the active domain |
383
- | `gsc saved check [id]` | Re-check saved keyword snapshots against live GSC rankings to track wins |
384
- | `gsc saved view [id]` | View stored keyword metrics and opportunity scores |
385
- | `gsc saved delete [id]` | Delete a saved keyword research snapshot |
386
-
387
- ### 3. Search Performance & SEO Growth Intelligence
388
- | Command | Description |
389
- |---|---|
390
- | `gsc top-queries` | Top search queries, impressions, CTR, and average position |
391
- | `gsc top-pages` | Top indexed landing pages driving organic clicks & impressions |
392
- | `gsc opportunities` | **Striking-distance queries (Pos 7–20)** to push to Page 1 and Top 3 |
393
- | `gsc underperformers` | High-ranking queries (Top 10) with below-average CTR (title & meta tag wins) |
394
- | `gsc cannibalization` | Detect multiple internal URLs competing for the same search queries |
395
- | `gsc decay [--compare 28]` | Period-over-period decay detection (decaying vs surging queries) |
396
- | `gsc devices` | Search traffic breakdown by device (Desktop, Mobile, Tablet) |
397
- | `gsc countries` | Geographic search demand by country with flags and CTR |
398
- | `gsc snippets` | Search appearance appearances (Reviews, Products, FAQs) |
399
- | `gsc audit` | Comprehensive 4-step 360° SEO & Indexing Health Audit |
400
-
401
- ### 4. Detailed On-Page DOM & Autonomous Site Crawling
402
- | Command | Description |
403
- |---|---|
404
- | `gsc page <url or file>` | 360° On-Page DOM audit (Title pixel width, meta, H1-H6, images, schema) + GSC rankings |
405
- | `gsc page <url> --check-links` | Verify HTTP status codes (detects 404 broken links) across all page links |
406
- | `gsc site-audit [sitemap]` | Crawl sitemap/site, test dead links, audit DOM flaws, and output summary |
407
- | `gsc site-audit --report <file>` | Export comprehensive AI-actionable Markdown fix sprint (e.g. `site_issues.md`) |
408
-
409
- ### 4. Live Indexation & Googlebot Control
410
- | Command | Description |
411
- |---|---|
412
- | `gsc inspect <url>` | Live Google Search Console URL inspection (coverage, canonical, crawl date) |
413
- | `gsc index <url>` | Notify Googlebot to crawl/index a newly published URL immediately (`URL_UPDATED`) |
414
- | `gsc remove <url>` | Notify Googlebot a URL has been permanently deleted (`URL_DELETED`) |
415
- | `gsc status <url>` | Check Google Indexing API submission status and latest notification timestamp |
416
- | `gsc inspect-sitemap <file/url>` | Bulk inspect indexation status for all URLs in an XML sitemap |
417
- | `gsc index-sitemap <file/url>` | Batch submit all URLs in an XML sitemap to Google Indexing API |
418
- | `gsc zombies <sitemap>` | Identify zero-impression deadweight URLs wasting crawl budget over 90 days |
419
- | `gsc sitemaps-list` | List registered XML sitemaps in Search Console |
420
- | `gsc sitemaps-submit <url>` | Submit or re-submit an XML sitemap to Search Console |
421
-
422
- ### 5. Google Analytics 4 (GA4) On-Site Behavior
423
- | Command | Description |
424
- |---|---|
425
- | `gsc realtime [--watch]` | Stream active visitors, real-time page paths, and countries |
426
- | `gsc ga4 [--organic]` | Landing page bounce rates, engagement rates, and average session duration |
427
- | `gsc correlation` | Merge GSC keyword rankings with GA4 bounce rates per landing page |
428
- | `gsc channels` | Traffic acquisition channels (Organic Search, Direct, Referral, Paid) |
429
- | `gsc ads` | Google Ads campaign performance (Clicks, Cost, CPC, Conversions) |
514
+ ### 📋 Deterministic Output Contract & Zero-Pollution Guarantee
430
515
 
431
- ---
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.
432
521
 
433
- ## 🤖 AI Agent Native Integration (Antigravity, Claude, Cursor)
522
+ ---
434
523
 
435
- `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.
524
+ ### 🚀 Autonomous Agent Workflow Recipes
436
525
 
437
- ### Agent Workflow Examples
526
+ Feed these exact commands to your AI agents (or add them to your `cursorrules` / agent system prompts):
438
527
 
528
+ #### 1. Tactical Striking Distance Harvest
439
529
  ```bash
440
- # 1. Ask your agent to inspect striking-distance keywords:
441
- gsc opportunities --min-imp 20 --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
532
+ ```
442
533
 
443
- # 2. Ask your agent to audit indexation before shipping a release:
444
- gsc audit --json
534
+ #### 2. Google AI Overview (AIO) Defense Scan
535
+ ```bash
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
538
+ ```
445
539
 
446
- # 3. Ask your agent to discover keyword demand with volume and CPC:
447
- gsc ke "moving boxes" --limit 50 --json
540
+ #### 3. Forensic Soft-404 Audit & Automated Server Fix
541
+ ```bash
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
544
+ ```
448
545
 
449
- # 4. Ask your agent to notify Googlebot the second it publishes a new blog post:
450
- gsc index https://example.com/blog/new-guide --json
546
+ #### 4. Instant Googlebot Priority Indexing Notification
547
+ ```bash
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
451
550
  ```
452
551
 
453
- Install the official AI Agent Skill:
552
+ #### 5. Multi-Client Agency Domain Switching
454
553
  ```bash
455
- gsc skills install
554
+ # Agent prompt: "Switch to client domain and pull 28-day performance summary"
555
+ gsc switch clientdomain.com && gsc perf --days 28 --compact
456
556
  ```
457
557
 
458
558
  ---
459
559
 
460
- ## 🏢 Proudly Backed by ApollosWave LLC
560
+ ### 📦 1-Click AI Agent Skill Installation
461
561
 
462
- `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)**.
562
+ Install the official `gsc-cli` skill directly into your coding agent's environment:
463
563
 
464
- We build tools for high-performance software, e-commerce, and everyday logistics. Check out our commercial products:
564
+ ```bash
565
+ # Installs SKILL.md into Antigravity, Claude, and Cursor skill directories
566
+ gsc skills install
567
+ ```
465
568
 
466
- - ⚡ **[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)** — The native, lightning-fast macOS performance & storage cleaner designed for Apple Silicon. Purge multi-gigabyte Xcode caches, app leftovers, and reclaim RAM in one tap.
467
- - 🛒 **[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.
468
- - 📦 **[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.
569
+ Once installed, your agent automatically understands all 80 commands, flag permutations, token-saving modes, and diagnostic workflows without needing manual prompting.
469
570
 
470
571
  ---
471
572
 
472
- ## 🏗️ Architecture & Development
573
+ ## 🥊 How GSC CLI Compares (The Zero-Bloat Advantage)
574
+
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** |
589
+
590
+ ---
473
591
 
474
- `gsc-cli` is engineered following a clean, modular Ruby architecture:
592
+ ## 🏗️ Architecture & Pure-Ruby Design
593
+
594
+ `gsc-cli` is engineered with 100% pure Ruby standard library. It compiles into a single, self-contained, zero-dependency executable:
475
595
 
476
596
  ```text
477
597
  gsc-cli/
478
598
  ├── bin/
479
- │ └── gsc # Lean executable runner (< 15 lines)
599
+ │ ├── gsc # Standalone executable runner (< 15 lines)
600
+ │ └── test_live # Visual showcase & internal test harness
480
601
  ├── lib/
481
- │ ├── gsc.rb # Central loader & stdlib requirements
602
+ │ ├── gsc.rb # Central stdlib loader
482
603
  │ └── gsc/
483
- │ ├── version.rb # Semantic versioning (2.0.0)
604
+ │ ├── version.rb # Semantic versioning (2.2.0)
484
605
  │ ├── color.rb # Zero-dependency ANSI formatting
485
- │ ├── config.rb # ~/.config/gsc/config.json persistence
606
+ │ ├── config.rb # Configuration persistence
486
607
  │ ├── auth.rb # Pure OpenSSL JWT generator
487
- │ ├── client.rb # Net::HTTP client with JSON serialization
488
- │ ├── api.rb # GSC, Indexing & GA4 API endpoints
489
- │ ├── sitemap_loader.rb # XML crawler & sitemap index parser
490
- │ ├── google_trends.rb # Real-time search demand engine
491
- │ ├── keyword_planner.rb # Autocomplete expander & intent classifier
492
- │ ├── keywords_everywhere.rb # Keywords Everywhere API client
493
- │ ├── command_registry.rb # Command catalog (47 commands) & AI skills
494
- │ └── 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
495
618
  ├── dist/
496
- │ └── gsc # Standalone bundled binary (curl distribution)
619
+ │ └── gsc # Standalone bundled binary (1,368 KB)
497
620
  ├── gsc.gemspec # Standard RubyGem specification
498
- ├── Rakefile # Tasks for build, test, and install
621
+ ├── Rakefile # Build, test, and standalone install tasks
499
622
  └── install.sh # Universal 1-click shell installer
500
623
  ```
501
624
 
502
625
  ### Development Tasks
503
626
  ```bash
504
- # Run syntax verification across all modular files
627
+ # Run syntax checks and all 359 unit test suites
505
628
  rake test
506
629
 
630
+ # Run 100-scenario deep forensic regression suite
631
+ rake test:forensic
632
+
507
633
  # Build the standalone single-file binary into dist/gsc
508
634
  rake build:standalone
509
635
 
510
636
  # Install local development build to ~/.local/bin/gsc
511
637
  rake install:standalone
512
-
513
- # Build gem package
514
- rake gem:build
515
638
  ```
516
639
 
517
640
  ---
518
641
 
642
+ ## 💖 Sponsorship & Backing
643
+
644
+ `gsc-cli` is free, open-source software built to eliminate predatory monthly subscriptions for indie developers, founders, and AI builders.
645
+
646
+ If GSC CLI saves your team hours of manual audit work or hundreds in monthly SaaS fees, consider backing continuous development:
647
+
648
+ | Tier | Monthly | Perks | Sponsorship Link |
649
+ | :--- | :--- | :--- | :--- |
650
+ | **Community Supporter** | **$10 / mo** | Name in README Backers list + Discord/GitHub badge | [**Sponsor $10/mo**](https://buy.stripe.com/fZu6oG4Qz1EucVT4ygbAs00) |
651
+ | **Backer** | **$50 / mo** | Name + link in Backers section + priority issue triage | [**Sponsor $50/mo**](https://buy.stripe.com/7sY00ier91Eu5tr0i0bAs01) |
652
+ | **Agency Partner** | **$100 / mo** | Small logo/link in Agency Backers gallery + priority triage | [**Sponsor $100/mo**](https://buy.stripe.com/6oU9AS1Engzog853ucbAs02) |
653
+ | **Bronze Sponsor** | **$500 / mo** | Medium logo with dofollow backlink in README & docs | [**Sponsor $500/mo**](https://buy.stripe.com/eVqdR882LgzobRP9SAbAs03) |
654
+ | **Silver Sponsor** | **$1,500 / mo** | Large logo on top fold + monthly feature priority request | [**Sponsor $1,500/mo**](https://buy.stripe.com/8x2aEWbeX2IybRP1m4bAs04) |
655
+ | **Gold Title Sponsor** | **$2,500 / mo** | Title banner at top of README + 1h monthly consulting | [**Sponsor $2,500/mo**](https://buy.stripe.com/cNi7sK4Qz6YOaNL3ucbAs05) |
656
+
657
+ > *All sponsorships are processed securely via **Stripe** by ApollosWave LLC. Invoices with company VAT / Business Tax ID provided automatically upon checkout.*
658
+
659
+ 👉 **[Read the Full Sponsorship Prospectus & Tier Breakdown →](FUNDING.md)**
660
+
661
+ ---
662
+
663
+ ### ApollosWave Ecosystem
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:
665
+ - **[Superspeed](https://superspeedapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Autonomous Core Web Vitals & website speed optimization engine.
666
+ - **[Supercart](https://supercartapp.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: High-converting slide cart drawer for Shopify merchants.
667
+ - **[PackingLog](https://packinglog.com/?utm_source=github&utm_medium=readme&utm_campaign=gsc-cli)**: Smart QR-code moving box inventory organizer.
668
+
669
+ ---
670
+
519
671
  ## 🙏 Acknowledgments & Credits
520
672
 
521
673
  - **[Ben Sheldon](https://github.com/bensheldon)**: Inspired by Ben Sheldon's backend Ruby Google Ads API implementation and the Rails performance community's passion for lean, zero-dependency, server-side tools.
@@ -524,6 +676,18 @@ rake gem:build
524
676
 
525
677
  ---
526
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
+
527
691
  ## 📄 License
528
692
 
529
693
  This project is open-source software licensed under the **MIT License**. See [LICENSE](LICENSE) for details.