llms-txt-ruby 0.0.0 → 0.1.1

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: 57be54434134c87cc4939264861e7e64f1b721aeef9e52ebe11080b3f1ab08d1
4
- data.tar.gz: d413c3a1902cd259f9af274aefbcaf65df9714ba7e6ae958de2afc30101b4778
3
+ metadata.gz: 59e6ef21e4d8e7cfad82d91a1d0c6eede9528850622efef8738b718bbbe0ea43
4
+ data.tar.gz: 0247ceaaed63bea7ba5d86753cd77e19e032ec31561ab6fbfe35874d875cbda6
5
5
  SHA512:
6
- metadata.gz: 43ab2bcc770fb9f0486363b4904f006d6b462a6adfae1b9e7d05d8a1aed5c2b4356f02ca2737ca4c6e1d0a333f132d621d5cbb1033a28afcff8c8bafcd690b4a
7
- data.tar.gz: ba760b69ca401f1b3cf0e5ec14a9e76bef92e86c5804a040b03b203aa6af1e39361cbe8fb5e8fbb84ecbf48d557cb3ccd49e194f0e7e2eaeb872f0f7f07a171b
6
+ metadata.gz: 13bcd98389bbfd2193e1d21b3b5372bd1656145aec325a0f1456ce95cb699106008c35914cdab9c6ed4e7cefa4c955791347179e003def2a8569ab267c387abc
7
+ data.tar.gz: 4115db81602c0137224f7e5c8b9c536b5684776c3398e04893d6f1e0b2a327af71918d34c661d83eae9e773654ef282947fcd231af0a3c4cfe8263f085455381
@@ -0,0 +1,71 @@
1
+ name: CI
2
+
3
+ concurrency:
4
+ group: ${{ github.workflow }}-${{ github.ref }}
5
+ cancel-in-progress: true
6
+
7
+ on:
8
+ pull_request:
9
+ branches: [ master ]
10
+ push:
11
+ branches: [ master ]
12
+ schedule:
13
+ - cron: '0 1 * * *'
14
+
15
+ permissions:
16
+ contents: read
17
+
18
+ jobs:
19
+ specs:
20
+ timeout-minutes: 15
21
+ runs-on: ubuntu-latest
22
+ strategy:
23
+ fail-fast: false
24
+ matrix:
25
+ ruby:
26
+ - '3.4'
27
+ - '3.3'
28
+ - '3.2'
29
+ include:
30
+ - ruby: '3.4'
31
+ coverage: 'true'
32
+ steps:
33
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
34
+ with:
35
+ fetch-depth: 0
36
+
37
+ - name: Set up Ruby
38
+ uses: ruby/setup-ruby@v1
39
+ with:
40
+ ruby-version: ${{ matrix.ruby }}
41
+ bundler-cache: true
42
+ bundler: 'latest'
43
+
44
+ - name: Install latest bundler
45
+ run: |
46
+ gem install bundler --no-document
47
+ bundle config set without 'tools benchmarks docs'
48
+
49
+ - name: Bundle install
50
+ run: bundle install --jobs 4 --retry 3
51
+
52
+ - name: Run all tests
53
+ env:
54
+ GITHUB_COVERAGE: ${{ matrix.coverage }}
55
+ run: bundle exec rspec
56
+
57
+
58
+ ci-success:
59
+ name: CI Success
60
+ runs-on: ubuntu-latest
61
+ if: always()
62
+ needs:
63
+ - specs
64
+ steps:
65
+ - name: Check all jobs passed
66
+ if: |
67
+ contains(needs.*.result, 'failure') ||
68
+ contains(needs.*.result, 'cancelled') ||
69
+ contains(needs.*.result, 'skipped')
70
+ run: exit 1
71
+ - run: echo "All CI checks passed!"
@@ -0,0 +1,35 @@
1
+ name: Push Gem
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - v*
7
+
8
+ permissions:
9
+ contents: read
10
+
11
+ jobs:
12
+ push:
13
+ if: github.repository_owner == 'mensfeld'
14
+ runs-on: ubuntu-latest
15
+ environment: deployment
16
+
17
+ permissions:
18
+ contents: write
19
+ id-token: write
20
+
21
+ steps:
22
+ - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
23
+ with:
24
+ fetch-depth: 0
25
+
26
+ - name: Set up Ruby
27
+ uses: ruby/setup-ruby@0481980f17b760ef6bca5e8c55809102a0af1e5a # v1.263.0
28
+ with:
29
+ bundler-cache: false
30
+
31
+ - name: Bundle install
32
+ run: |
33
+ bundle install --jobs 4 --retry 3
34
+
35
+ - uses: rubygems/release-gem@a25424ba2ba8b387abc8ef40807c2c85b96cbe32 # v1.1.1
data/.gitignore CHANGED
@@ -9,9 +9,11 @@
9
9
  /test/tmp/
10
10
  /test/version_tmp/
11
11
  /tmp/
12
+ mise.toml
12
13
 
13
14
  # Used by dotenv library to load environment variables.
14
- # .env
15
+ .env
16
+ .env.*
15
17
 
16
18
  # Ignore Byebug command history file.
17
19
  .byebug_history
@@ -54,3 +56,11 @@ build-iPhoneSimulator/
54
56
 
55
57
  # Used by RuboCop. Remote config files pulled in from inherit_from directive.
56
58
  # .rubocop-https?--*
59
+
60
+ # Project-specific generated files
61
+ llms.txt
62
+ *-output.txt
63
+
64
+ # Config files that might contain sensitive data
65
+ llms-txt.yml
66
+ .llms-txt.yml
data/.rubocop.yml ADDED
@@ -0,0 +1,27 @@
1
+ AllCops:
2
+ TargetRubyVersion: 3.1
3
+ NewCops: enable
4
+
5
+ Style/Documentation:
6
+ Enabled: false
7
+
8
+ Style/StringLiterals:
9
+ EnforcedStyle: single_quotes
10
+
11
+ Layout/LineLength:
12
+ Max: 120
13
+
14
+ Metrics/ClassLength:
15
+ Max: 150
16
+
17
+ Metrics/MethodLength:
18
+ Max: 20
19
+
20
+ Metrics/AbcSize:
21
+ Max: 20
22
+
23
+ Metrics/CyclomaticComplexity:
24
+ Max: 10
25
+
26
+ Style/FrozenStringLiteralComment:
27
+ Enabled: true
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.4.6
data/CHANGELOG.md ADDED
@@ -0,0 +1,15 @@
1
+ # Changelog
2
+
3
+ ## 0.1.1 (2025-10-07)
4
+ - [Change] Updated repository metadata to use `master` branch instead of `main`.
5
+
6
+ ## 0.1.0 (2025-10-07)
7
+ - [Feature] Generate `llms.txt` files from markdown documentation.
8
+ - [Feature] Transform individual markdown files to be AI-friendly.
9
+ - [Feature] Bulk transformation of entire documentation directories.
10
+ - [Feature] CLI with commands: `generate`, `transform`, `bulk-transform`, `parse`, `validate`.
11
+ - [Feature] Configuration file support (`llms-txt.yml`).
12
+ - [Feature] Automatic link expansion from relative to absolute URLs.
13
+ - [Feature] File prioritization (README first, then guides, APIs, etc.).
14
+ - [Feature] Exclusion patterns for bulk transformations.
15
+ - [Feature] Ruby API for programmatic usage.
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ group :development do
8
+ gem 'pry'
9
+ gem 'pry-byebug'
10
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,88 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ llms-txt-ruby (0.1.1)
5
+ zeitwerk (~> 2.6)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ ast (2.4.3)
11
+ byebug (12.0.0)
12
+ coderay (1.1.3)
13
+ diff-lcs (1.6.2)
14
+ docile (1.4.1)
15
+ json (2.13.2)
16
+ language_server-protocol (3.17.0.5)
17
+ lint_roller (1.1.0)
18
+ method_source (1.1.0)
19
+ parallel (1.27.0)
20
+ parser (3.3.9.0)
21
+ ast (~> 2.4.1)
22
+ racc
23
+ prism (1.4.0)
24
+ pry (0.15.2)
25
+ coderay (~> 1.1)
26
+ method_source (~> 1.0)
27
+ pry-byebug (3.11.0)
28
+ byebug (~> 12.0)
29
+ pry (>= 0.13, < 0.16)
30
+ racc (1.8.1)
31
+ rainbow (3.1.1)
32
+ rake (13.3.0)
33
+ regexp_parser (2.11.2)
34
+ rspec (3.13.1)
35
+ rspec-core (~> 3.13.0)
36
+ rspec-expectations (~> 3.13.0)
37
+ rspec-mocks (~> 3.13.0)
38
+ rspec-core (3.13.5)
39
+ rspec-support (~> 3.13.0)
40
+ rspec-expectations (3.13.5)
41
+ diff-lcs (>= 1.2.0, < 2.0)
42
+ rspec-support (~> 3.13.0)
43
+ rspec-mocks (3.13.5)
44
+ diff-lcs (>= 1.2.0, < 2.0)
45
+ rspec-support (~> 3.13.0)
46
+ rspec-support (3.13.5)
47
+ rubocop (1.80.0)
48
+ json (~> 2.3)
49
+ language_server-protocol (~> 3.17.0.2)
50
+ lint_roller (~> 1.1.0)
51
+ parallel (~> 1.10)
52
+ parser (>= 3.3.0.2)
53
+ rainbow (>= 2.2.2, < 4.0)
54
+ regexp_parser (>= 2.9.3, < 3.0)
55
+ rubocop-ast (>= 1.46.0, < 2.0)
56
+ ruby-progressbar (~> 1.7)
57
+ unicode-display_width (>= 2.4.0, < 4.0)
58
+ rubocop-ast (1.46.0)
59
+ parser (>= 3.3.7.2)
60
+ prism (~> 1.4)
61
+ ruby-progressbar (1.13.0)
62
+ simplecov (0.22.0)
63
+ docile (~> 1.1)
64
+ simplecov-html (~> 0.11)
65
+ simplecov_json_formatter (~> 0.1)
66
+ simplecov-html (0.13.2)
67
+ simplecov_json_formatter (0.1.4)
68
+ unicode-display_width (3.1.5)
69
+ unicode-emoji (~> 4.0, >= 4.0.4)
70
+ unicode-emoji (4.0.4)
71
+ zeitwerk (2.7.3)
72
+
73
+ PLATFORMS
74
+ ruby
75
+ x86_64-linux
76
+
77
+ DEPENDENCIES
78
+ bundler (~> 2.0)
79
+ llms-txt-ruby!
80
+ pry
81
+ pry-byebug
82
+ rake (~> 13.0)
83
+ rspec (~> 3.0)
84
+ rubocop (~> 1.0)
85
+ simplecov (~> 0.21)
86
+
87
+ BUNDLED WITH
88
+ 2.7.1