llm-docs-builder 0.3.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.
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'lib/llm_docs_builder/version'
4
+
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'llm-docs-builder'
7
+ spec.version = LlmDocsBuilder::VERSION
8
+ spec.authors = ['Maciej Mensfeld']
9
+ spec.email = %w[maciej@mensfeld.pl]
10
+
11
+ spec.summary = 'Build and optimize documentation for LLMs - generate llms.txt, transform markdown, and more'
12
+ spec.description = <<~DESC
13
+ A comprehensive Ruby tool for building and optimizing documentation for Large Language Models.
14
+ Features include: generating llms.txt files from documentation directories with automatic file
15
+ prioritization, transforming individual markdown files by expanding relative links to absolute URLs,
16
+ bulk transforming entire documentation trees with customizable exclusion patterns, comparing content
17
+ sizes to measure context window savings, and serving LLM-optimized documentation. Provides both CLI
18
+ and Ruby API with configuration file support.
19
+ DESC
20
+
21
+ spec.homepage = 'https://github.com/mensfeld/llm-docs-builder'
22
+ spec.license = 'MIT'
23
+ spec.required_ruby_version = '>= 3.2'
24
+
25
+ spec.metadata['allowed_push_host'] = 'https://rubygems.org'
26
+ spec.metadata['homepage_uri'] = spec.homepage
27
+ spec.metadata['source_code_uri'] = 'https://github.com/mensfeld/llm-docs-builder'
28
+ spec.metadata['changelog_uri'] = 'https://github.com/mensfeld/llm-docs-builder/blob/master/CHANGELOG.md'
29
+ spec.metadata['documentation_uri'] = 'https://github.com/mensfeld/llm-docs-builder'
30
+ spec.metadata['rubygems_mfa_required'] = 'true'
31
+
32
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec|test)/}) }
33
+
34
+ spec.bindir = 'bin'
35
+ spec.executables = spec.files.grep(%r{\Abin/}) { |f| File.basename(f) }
36
+ spec.require_paths = ['lib']
37
+
38
+ spec.add_dependency 'zeitwerk', '~> 2.6'
39
+
40
+ spec.add_development_dependency 'bundler', '~> 2.0'
41
+ spec.add_development_dependency 'rake', '~> 13.0'
42
+ spec.add_development_dependency 'rspec', '~> 3.0'
43
+ spec.add_development_dependency 'rubocop', '~> 1.0'
44
+ spec.add_development_dependency 'simplecov', '~> 0.21'
45
+ end
@@ -0,0 +1,7 @@
1
+ docs: ./docs
2
+ base_url: https://myproject.io
3
+ title: My Awesome Project
4
+ description: A Ruby library that helps developers build amazing applications
5
+ output: llms.txt
6
+ convert_urls: true
7
+ verbose: false
@@ -0,0 +1,26 @@
1
+ # Example llms-txt.yml configuration file
2
+ # Copy to llms-txt.yml and customize for your project
3
+
4
+ # Path to documentation directory or file
5
+ docs: ./docs
6
+
7
+ # Base URL for expanding relative links (optional)
8
+ base_url: https://myproject.io
9
+
10
+ # Project information (optional - will auto-detect from docs if not provided)
11
+ title: My Awesome Project
12
+ description: A Ruby library that helps developers build amazing applications
13
+
14
+ # Output file path (optional)
15
+ output: llms.txt
16
+
17
+ # Transform options (optional)
18
+ convert_urls: true # Convert .html links to .md
19
+ verbose: false # Verbose output
20
+
21
+ # Bulk transformation options (optional)
22
+ suffix: .llm # Suffix for transformed files (creates file.llm.md)
23
+ excludes: # Patterns for files to exclude from bulk transformation
24
+ - "**/private/**" # Exclude private directories
25
+ - "**/draft-*.md" # Exclude draft files
26
+ - "**/.*" # Exclude hidden files
data/renovate.json ADDED
@@ -0,0 +1,33 @@
1
+ {
2
+ "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
+ "extends": [
4
+ "config:recommended"
5
+ ],
6
+ "ignorePaths": [
7
+ "spec/integrations"
8
+ ],
9
+ "github-actions": {
10
+ "enabled": true,
11
+ "pinDigests": true
12
+ },
13
+ "packageRules": [
14
+ {
15
+ "matchCategories": [
16
+ "ruby"
17
+ ],
18
+ "enabled": true
19
+ },
20
+ {
21
+ "matchManagers": [
22
+ "github-actions"
23
+ ],
24
+ "minimumReleaseAge": "7 days"
25
+ },
26
+ {
27
+ "matchManagers": [
28
+ "bundler"
29
+ ],
30
+ "minimumReleaseAge": "7 days"
31
+ }
32
+ ]
33
+ }
metadata ADDED
@@ -0,0 +1,171 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: llm-docs-builder
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.0
5
+ platform: ruby
6
+ authors:
7
+ - Maciej Mensfeld
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: zeitwerk
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - "~>"
17
+ - !ruby/object:Gem::Version
18
+ version: '2.6'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - "~>"
24
+ - !ruby/object:Gem::Version
25
+ version: '2.6'
26
+ - !ruby/object:Gem::Dependency
27
+ name: bundler
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '2.0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.0'
40
+ - !ruby/object:Gem::Dependency
41
+ name: rake
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '13.0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '13.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rspec
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '3.0'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '3.0'
68
+ - !ruby/object:Gem::Dependency
69
+ name: rubocop
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '1.0'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '1.0'
82
+ - !ruby/object:Gem::Dependency
83
+ name: simplecov
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.21'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.21'
96
+ description: |
97
+ A comprehensive Ruby tool for building and optimizing documentation for Large Language Models.
98
+ Features include: generating llms.txt files from documentation directories with automatic file
99
+ prioritization, transforming individual markdown files by expanding relative links to absolute URLs,
100
+ bulk transforming entire documentation trees with customizable exclusion patterns, comparing content
101
+ sizes to measure context window savings, and serving LLM-optimized documentation. Provides both CLI
102
+ and Ruby API with configuration file support.
103
+ email:
104
+ - maciej@mensfeld.pl
105
+ executables:
106
+ - llm-docs-builder
107
+ - rspecs
108
+ extensions: []
109
+ extra_rdoc_files: []
110
+ files:
111
+ - ".dockerignore"
112
+ - ".github/workflows/ci.yml"
113
+ - ".github/workflows/docker.yml"
114
+ - ".github/workflows/push.yml"
115
+ - ".gitignore"
116
+ - ".rubocop.yml"
117
+ - ".ruby-version"
118
+ - CHANGELOG.md
119
+ - CLAUDE.md
120
+ - Dockerfile
121
+ - Gemfile
122
+ - Gemfile.lock
123
+ - LICENSE
124
+ - README.md
125
+ - Rakefile
126
+ - bin/llm-docs-builder
127
+ - bin/rspecs
128
+ - lib/llm_docs_builder.rb
129
+ - lib/llm_docs_builder/bulk_transformer.rb
130
+ - lib/llm_docs_builder/cli.rb
131
+ - lib/llm_docs_builder/comparator.rb
132
+ - lib/llm_docs_builder/config.rb
133
+ - lib/llm_docs_builder/errors.rb
134
+ - lib/llm_docs_builder/generator.rb
135
+ - lib/llm_docs_builder/markdown_transformer.rb
136
+ - lib/llm_docs_builder/parser.rb
137
+ - lib/llm_docs_builder/validator.rb
138
+ - lib/llm_docs_builder/version.rb
139
+ - llm-docs-builder.gemspec
140
+ - llm-docs-builder.yml
141
+ - llm-docs-builder.yml.example
142
+ - renovate.json
143
+ homepage: https://github.com/mensfeld/llm-docs-builder
144
+ licenses:
145
+ - MIT
146
+ metadata:
147
+ allowed_push_host: https://rubygems.org
148
+ homepage_uri: https://github.com/mensfeld/llm-docs-builder
149
+ source_code_uri: https://github.com/mensfeld/llm-docs-builder
150
+ changelog_uri: https://github.com/mensfeld/llm-docs-builder/blob/master/CHANGELOG.md
151
+ documentation_uri: https://github.com/mensfeld/llm-docs-builder
152
+ rubygems_mfa_required: 'true'
153
+ rdoc_options: []
154
+ require_paths:
155
+ - lib
156
+ required_ruby_version: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '3.2'
161
+ required_rubygems_version: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
+ requirements: []
167
+ rubygems_version: 3.6.9
168
+ specification_version: 4
169
+ summary: Build and optimize documentation for LLMs - generate llms.txt, transform
170
+ markdown, and more
171
+ test_files: []