llm-docs-builder 0.8.1 → 0.9.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8104ee730f22ce1c3ff1f13dea2e784e82b617ea5c20332185351922c1d75710
4
- data.tar.gz: 4cc077637f04d658a35b97aee35aed031f27c44a59f87d961e64af4aed268f77
3
+ metadata.gz: 7f0653d0b7cbe76ef97429cd96ebf225783d2d454c765346c1c13279b73b7527
4
+ data.tar.gz: 206472b3a91c477827c3adeb73679758ebe1b3d73b47ef9c60a04afcce183c79
5
5
  SHA512:
6
- metadata.gz: 22c9b908b4473c8207027107f68c85fc7a8751d459a781ba67bcebc4034da5dcd8b0d748c1931b78b9e7d3ee891ac9f814350fb052930d1715fc38fb0e870eae
7
- data.tar.gz: 6dea4a2987218ca92c9eb0162460870a15cdf24a0feaca559e31d734075d40be1da46186d437ccde47bf5cc0c9b2d2784180625fb0754926d0e1c7baf6708e86
6
+ metadata.gz: eca112eb185027b8fd905d062d1abf54ed147025d16608176aae6ee6caf836af658d66bb315f5e11137d109e10fb6fce85aedd6d730afbafd9379c49061e1bbd
7
+ data.tar.gz: 2b6b7c2227e1b3926378238f743825b36f350cbfa97abaffad2a26e1061063e6185eafb18762152c1174cbcd3dd1c7132cce6affc1b2cbf1ad19be8eda83dfc0
@@ -79,7 +79,7 @@ jobs:
79
79
  - name: Test Docker image
80
80
  run: |
81
81
  docker run --rm ${{ fromJSON(steps.meta.outputs.json).tags[0] }} version
82
- docker run --rm ${{ fromJSON(steps.meta.outputs.json).tags[0] }} --help
82
+ docker run --rm ${{ fromJSON(steps.meta.outputs.json).tags[0] }} generate --help
83
83
 
84
84
  docker-success:
85
85
  name: Docker Success
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.9.0 (2025-10-17)
4
+ - [Feature] **No AI Version Detection** - The `compare` command now detects when websites don't serve AI-optimized versions.
5
+ - Triggers when reduction is <5% (nearly identical content for human and AI User-Agents)
6
+ - Displays prominent warning: "WARNING: NO DEDICATED AI VERSION DETECTED"
7
+ - Shows potential savings estimates based on typical 83% reduction rate
8
+ - Provides page-specific calculations (estimated token savings, potential size)
9
+ - Includes implementation guide with actionable steps
10
+ - Helps identify opportunities to optimize documentation
11
+ - [Enhancement] Updated `OutputFormatter#display_comparison_results` to include marketing message for unoptimized sites.
12
+ - [Enhancement] Added utility script `probe_karafka_simple.rb` for batch comparison testing.
13
+
14
+ ## 0.8.2 (2025-10-17)
15
+ - [Fix] Fixed Docker workflow test to properly invoke help command (use `generate --help` instead of `--help`).
16
+
3
17
  ## 0.8.1 (2025-10-17)
4
18
  - [Enhancement] Ship the docker container.
5
19
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- llm-docs-builder (0.8.1)
4
+ llm-docs-builder (0.9.0)
5
5
  zeitwerk (~> 2.6)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ <p align="center">
2
+ <img src="misc/logo_wide.png" alt="llm-docs-builder logo">
3
+ </p>
4
+
1
5
  # llm-docs-builder
2
6
 
3
7
  [![CI](https://github.com/mensfeld/llm-docs-builder/actions/workflows/ci.yml/badge.svg)](
@@ -438,10 +442,6 @@ generate_toc: true
438
442
  normalize_whitespace: true
439
443
  ```
440
444
 
441
- ## Contributing
442
-
443
- Bug reports and pull requests welcome at [github.com/mensfeld/llm-docs-builder](https://github.com/mensfeld/llm-docs-builder).
444
-
445
445
  ## License
446
446
 
447
447
  Available as open source under the [MIT License](https://opensource.org/licenses/MIT).
@@ -8,6 +8,8 @@ module LlmDocsBuilder
8
8
  #
9
9
  # @api private
10
10
  class OutputFormatter
11
+ # Threshold percentage below which we consider there's no AI-optimized version
12
+ NO_AI_VERSION_THRESHOLD = 5
11
13
  # Format bytes into human-readable string
12
14
  #
13
15
  # @param bytes [Integer] number of bytes
@@ -56,10 +58,16 @@ module LlmDocsBuilder
56
58
 
57
59
  if result[:reduction_bytes].positive?
58
60
  display_reduction(result)
61
+
62
+ # Detect if there's no dedicated AI version
63
+ if result[:reduction_percent] < NO_AI_VERSION_THRESHOLD
64
+ display_no_ai_version_message(result)
65
+ end
59
66
  elsif result[:reduction_bytes].negative?
60
67
  display_increase(result)
61
68
  else
62
69
  puts 'Same size'
70
+ display_no_ai_version_message(result)
63
71
  end
64
72
 
65
73
  puts '=' * 60
@@ -89,5 +97,43 @@ module LlmDocsBuilder
89
97
  puts "Token increase: #{format_number(token_increase)} tokens (#{token_increase_percent}%)"
90
98
  puts "Factor: #{result[:factor]}x larger"
91
99
  end
100
+
101
+ # Display message when no dedicated AI version is detected
102
+ #
103
+ # @param result [Hash] comparison results
104
+ # @api private
105
+ def self.display_no_ai_version_message(result)
106
+ puts ''
107
+ puts 'WARNING: NO DEDICATED AI VERSION DETECTED'
108
+ puts ''
109
+ puts 'The server is returning nearly identical content to both human and AI'
110
+ puts 'User-Agents, indicating no AI-optimized version is currently served.'
111
+ puts ''
112
+ puts 'POTENTIAL SAVINGS WITH AI OPTIMIZATION:'
113
+ puts ''
114
+ puts 'Based on typical documentation optimization results, you could expect:'
115
+ puts ' • 67-95% token reduction (average 83%)'
116
+ puts ' • 3-20x smaller file sizes'
117
+ puts ' • Faster LLM processing times'
118
+ puts ' • Reduced API costs for AI queries'
119
+ puts ' • Improved response accuracy'
120
+ puts ''
121
+ puts "For this page specifically (~#{format_number(result[:human_tokens])} tokens):"
122
+ puts " • Estimated savings: ~#{format_number((result[:human_tokens] * 0.83).round)} tokens (83% reduction)"
123
+ puts " • Could reduce to: ~#{format_number((result[:human_tokens] * 0.17).round)} tokens"
124
+ puts " • Potential size: ~#{format_bytes((result[:human_size] * 0.17).round)}"
125
+ puts ''
126
+ puts 'HOW TO IMPLEMENT AI-OPTIMIZED DOCUMENTATION:'
127
+ puts ''
128
+ puts '1. Transform your docs with llm-docs-builder:'
129
+ puts ' llm-docs-builder bulk-transform --docs ./docs --config llm-docs-builder.yml'
130
+ puts ''
131
+ puts '2. Configure your web server to serve .md files to AI bots:'
132
+ puts ' See: https://github.com/mensfeld/llm-docs-builder#serving-optimized-docs'
133
+ puts ''
134
+ puts '3. Measure your actual savings:'
135
+ puts ' llm-docs-builder compare --url <your-url> --file <local-md>'
136
+ puts ''
137
+ end
92
138
  end
93
139
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module LlmDocsBuilder
4
4
  # Current version of the LlmDocsBuilder gem
5
- VERSION = '0.8.1'
5
+ VERSION = '0.9.0'
6
6
  end
data/misc/logo.png ADDED
Binary file
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: llm-docs-builder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Maciej Mensfeld
@@ -147,6 +147,8 @@ files:
147
147
  - lib/llm_docs_builder/version.rb
148
148
  - llm-docs-builder.gemspec
149
149
  - llm-docs-builder.yml.example
150
+ - misc/logo.png
151
+ - misc/logo_wide.png
150
152
  - renovate.json
151
153
  homepage: https://github.com/mensfeld/llm-docs-builder
152
154
  licenses: