releasehx 0.1.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 (91) hide show
  1. checksums.yaml +7 -0
  2. data/README.adoc +2915 -0
  3. data/bin/releasehx +7 -0
  4. data/bin/rhx +7 -0
  5. data/bin/rhx-mcp +7 -0
  6. data/bin/sourcerer +32 -0
  7. data/build/docs/CNAME +1 -0
  8. data/build/docs/Gemfile.lock +95 -0
  9. data/build/docs/_config.yml +36 -0
  10. data/build/docs/config-reference.adoc +4104 -0
  11. data/build/docs/config-reference.json +1546 -0
  12. data/build/docs/index.adoc +2915 -0
  13. data/build/docs/landing.adoc +21 -0
  14. data/build/docs/manpage.adoc +68 -0
  15. data/build/docs/releasehx.1 +281 -0
  16. data/build/docs/releasehx_readme.html +367 -0
  17. data/build/docs/sample-config.adoc +9 -0
  18. data/build/docs/sample-config.yml +251 -0
  19. data/build/docs/schemagraphy_readme.html +0 -0
  20. data/build/docs/sourcerer_readme.html +46 -0
  21. data/build/snippets/helpscreen.txt +29 -0
  22. data/lib/docopslab/mcp/asset_packager.rb +30 -0
  23. data/lib/docopslab/mcp/manifest.rb +67 -0
  24. data/lib/docopslab/mcp/resource_pack.rb +46 -0
  25. data/lib/docopslab/mcp/server.rb +92 -0
  26. data/lib/docopslab/mcp.rb +6 -0
  27. data/lib/releasehx/cli.rb +937 -0
  28. data/lib/releasehx/configuration.rb +215 -0
  29. data/lib/releasehx/generated.rb +17 -0
  30. data/lib/releasehx/helpers.rb +58 -0
  31. data/lib/releasehx/mcp/asset_packager.rb +21 -0
  32. data/lib/releasehx/mcp/assets/agent-config-guide.md +178 -0
  33. data/lib/releasehx/mcp/assets/config-def.yml +1426 -0
  34. data/lib/releasehx/mcp/assets/config-reference.adoc +4104 -0
  35. data/lib/releasehx/mcp/assets/config-reference.json +1546 -0
  36. data/lib/releasehx/mcp/assets/sample-config.yml +251 -0
  37. data/lib/releasehx/mcp/manifest.rb +18 -0
  38. data/lib/releasehx/mcp/resource_pack.rb +26 -0
  39. data/lib/releasehx/mcp/server.rb +57 -0
  40. data/lib/releasehx/mcp.rb +7 -0
  41. data/lib/releasehx/ops/check_ops.rb +136 -0
  42. data/lib/releasehx/ops/draft_ops.rb +173 -0
  43. data/lib/releasehx/ops/enrich_ops.rb +221 -0
  44. data/lib/releasehx/ops/template_ops.rb +61 -0
  45. data/lib/releasehx/ops/write_ops.rb +124 -0
  46. data/lib/releasehx/rest/clients/github.yml +46 -0
  47. data/lib/releasehx/rest/clients/gitlab.yml +31 -0
  48. data/lib/releasehx/rest/clients/jira.yml +31 -0
  49. data/lib/releasehx/rest/yaml_client.rb +418 -0
  50. data/lib/releasehx/rhyml/adapter.rb +740 -0
  51. data/lib/releasehx/rhyml/change.rb +167 -0
  52. data/lib/releasehx/rhyml/liquid.rb +13 -0
  53. data/lib/releasehx/rhyml/loaders.rb +37 -0
  54. data/lib/releasehx/rhyml/mappings/github.yaml +60 -0
  55. data/lib/releasehx/rhyml/mappings/gitlab.yaml +73 -0
  56. data/lib/releasehx/rhyml/mappings/jira.yaml +29 -0
  57. data/lib/releasehx/rhyml/mappings/verb_past_tenses.yml +98 -0
  58. data/lib/releasehx/rhyml/release.rb +144 -0
  59. data/lib/releasehx/rhyml.rb +15 -0
  60. data/lib/releasehx/sgyml/helpers.rb +45 -0
  61. data/lib/releasehx/transforms/adf_to_markdown.rb +307 -0
  62. data/lib/releasehx/version.rb +7 -0
  63. data/lib/releasehx.rb +69 -0
  64. data/lib/schemagraphy/attribute_resolver.rb +48 -0
  65. data/lib/schemagraphy/cfgyml/definition.rb +90 -0
  66. data/lib/schemagraphy/cfgyml/doc_builder.rb +52 -0
  67. data/lib/schemagraphy/cfgyml/path_reference.rb +24 -0
  68. data/lib/schemagraphy/data_query/json_pointer.rb +42 -0
  69. data/lib/schemagraphy/loader.rb +59 -0
  70. data/lib/schemagraphy/regexp_utils.rb +215 -0
  71. data/lib/schemagraphy/safe_expression.rb +189 -0
  72. data/lib/schemagraphy/schema_utils.rb +124 -0
  73. data/lib/schemagraphy/tag_utils.rb +32 -0
  74. data/lib/schemagraphy/templating.rb +104 -0
  75. data/lib/schemagraphy.rb +17 -0
  76. data/lib/sourcerer/builder.rb +120 -0
  77. data/lib/sourcerer/jekyll/bootstrapper.rb +78 -0
  78. data/lib/sourcerer/jekyll/liquid/file_system.rb +74 -0
  79. data/lib/sourcerer/jekyll/liquid/filters.rb +215 -0
  80. data/lib/sourcerer/jekyll/liquid/tags.rb +44 -0
  81. data/lib/sourcerer/jekyll/monkeypatches.rb +73 -0
  82. data/lib/sourcerer/jekyll.rb +26 -0
  83. data/lib/sourcerer/plaintext_converter.rb +75 -0
  84. data/lib/sourcerer/templating.rb +190 -0
  85. data/lib/sourcerer.rb +322 -0
  86. data/specs/data/api-client-schema.yaml +160 -0
  87. data/specs/data/config-def.yml +1426 -0
  88. data/specs/data/mcp-manifest.yml +50 -0
  89. data/specs/data/rhyml-mapping-schema.yaml +410 -0
  90. data/specs/data/rhyml-schema.yaml +152 -0
  91. metadata +376 -0
data/bin/releasehx ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../lib/releasehx'
5
+ require_relative '../lib/releasehx/cli'
6
+
7
+ ReleaseHx::CLI.start(ARGV)
data/bin/rhx ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../lib/releasehx'
5
+ require_relative '../lib/releasehx/cli'
6
+
7
+ ReleaseHx::CLI.start(ARGV)
data/bin/rhx-mcp ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require_relative '../lib/releasehx'
5
+ require_relative '../lib/releasehx/mcp'
6
+
7
+ ReleaseHx::MCP::Server.new.start_stdio
data/bin/sourcerer ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'pathname'
5
+
6
+ # Find gemspec (assumes run from root)
7
+ gemspec_path = Dir.glob('*.gemspec').first or abort('No gemspec found.')
8
+ require_relative File.join('lib', 'sourcerer') # path fixed for dev gem use
9
+
10
+ # Load and eval the gemspec just enough to get SOURCERER_EMBED
11
+ gemspec_code = File.read(gemspec_path)
12
+ embed_config = begin
13
+ match = gemspec_code.match(/SOURCERER_EMBED\s*=\s*(\[.*?^\])/m)
14
+ raise 'SOURCERER_EMBED not found in gemspec' unless match
15
+
16
+ # rubocop:disable Security/Eval
17
+ # Safe: Only evaluates controlled array literal from gemspec at build time, never user input
18
+ eval(match[1], binding, gemspec_path)
19
+ # rubocop:enable Security/Eval
20
+ end
21
+
22
+ embed_config.each do |entry|
23
+ File.expand_path(entry[:input])
24
+ File.expand_path(entry[:output])
25
+ entry[:include] || {}
26
+
27
+ # snippet = Sourcerer.load_include input, **inc
28
+
29
+ # FileUtils.mkdir_p(File.dirname(output))
30
+ # File.write(output, snippet)
31
+ # puts "✅ Wrote #{output}"
32
+ end
data/build/docs/CNAME ADDED
@@ -0,0 +1 @@
1
+ releasehx.docopslab.org
@@ -0,0 +1,95 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ addressable (2.8.7)
5
+ public_suffix (>= 2.0.2, < 7.0)
6
+ asciidoctor (2.0.23)
7
+ base64 (0.3.0)
8
+ bigdecimal (3.2.3)
9
+ colorator (1.1.0)
10
+ concurrent-ruby (1.3.5)
11
+ csv (3.3.5)
12
+ em-websocket (0.5.3)
13
+ eventmachine (>= 0.12.9)
14
+ http_parser.rb (~> 0)
15
+ eventmachine (1.2.7)
16
+ ffi (1.17.2-x86_64-linux-gnu)
17
+ forwardable-extended (2.6.0)
18
+ google-protobuf (4.32.1-x86_64-linux-gnu)
19
+ bigdecimal
20
+ rake (>= 13)
21
+ http_parser.rb (0.8.0)
22
+ i18n (1.14.7)
23
+ concurrent-ruby (~> 1.0)
24
+ jekyll (4.4.1)
25
+ addressable (~> 2.4)
26
+ base64 (~> 0.2)
27
+ colorator (~> 1.0)
28
+ csv (~> 3.0)
29
+ em-websocket (~> 0.5)
30
+ i18n (~> 1.0)
31
+ jekyll-sass-converter (>= 2.0, < 4.0)
32
+ jekyll-watch (~> 2.0)
33
+ json (~> 2.6)
34
+ kramdown (~> 2.3, >= 2.3.1)
35
+ kramdown-parser-gfm (~> 1.0)
36
+ liquid (~> 4.0)
37
+ mercenary (~> 0.3, >= 0.3.6)
38
+ pathutil (~> 0.9)
39
+ rouge (>= 3.0, < 5.0)
40
+ safe_yaml (~> 1.0)
41
+ terminal-table (>= 1.8, < 4.0)
42
+ webrick (~> 1.7)
43
+ jekyll-asciidoc (3.0.1)
44
+ asciidoctor (>= 1.5.0, < 3.0.0)
45
+ jekyll (>= 3.0.0)
46
+ jekyll-include-cache (0.2.1)
47
+ jekyll (>= 3.7, < 5.0)
48
+ jekyll-sass-converter (3.1.0)
49
+ sass-embedded (~> 1.75)
50
+ jekyll-seo-tag (2.8.0)
51
+ jekyll (>= 3.8, < 5.0)
52
+ jekyll-watch (2.2.1)
53
+ listen (~> 3.0)
54
+ json (2.15.0)
55
+ just-the-docs (0.10.1)
56
+ jekyll (>= 3.8.5)
57
+ jekyll-include-cache
58
+ jekyll-seo-tag (>= 2.0)
59
+ rake (>= 12.3.1)
60
+ kramdown (2.5.1)
61
+ rexml (>= 3.3.9)
62
+ kramdown-parser-gfm (1.1.0)
63
+ kramdown (~> 2.0)
64
+ liquid (4.0.4)
65
+ listen (3.9.0)
66
+ rb-fsevent (~> 0.10, >= 0.10.3)
67
+ rb-inotify (~> 0.9, >= 0.9.10)
68
+ mercenary (0.4.0)
69
+ pathutil (0.16.2)
70
+ forwardable-extended (~> 2.6)
71
+ public_suffix (6.0.2)
72
+ rake (13.3.0)
73
+ rb-fsevent (0.11.2)
74
+ rb-inotify (0.11.1)
75
+ ffi (~> 1.0)
76
+ rexml (3.4.4)
77
+ rouge (4.6.1)
78
+ safe_yaml (1.0.5)
79
+ sass-embedded (1.93.2-x86_64-linux-gnu)
80
+ google-protobuf (~> 4.31)
81
+ terminal-table (3.0.2)
82
+ unicode-display_width (>= 1.1.1, < 3)
83
+ unicode-display_width (2.6.0)
84
+ webrick (1.9.1)
85
+
86
+ PLATFORMS
87
+ x86_64-linux
88
+
89
+ DEPENDENCIES
90
+ jekyll
91
+ jekyll-asciidoc
92
+ just-the-docs
93
+
94
+ BUNDLED WITH
95
+ 2.4.19
@@ -0,0 +1,36 @@
1
+ title: ReleaseHx Documentation
2
+ theme: just-the-docs
3
+ baseurl: /
4
+
5
+ plugins:
6
+ - jekyll-asciidoc
7
+
8
+ defaults:
9
+ - scope:
10
+ path: "api"
11
+ values:
12
+ render_with_liquid: false
13
+
14
+ include:
15
+ - index.adoc
16
+ - config-reference.adoc
17
+
18
+ exclude:
19
+ - manpage.adoc
20
+
21
+ # Enable Rouge for syntax highlighting in AsciiDoc blocks
22
+ asciidoctor:
23
+ attributes:
24
+ includedir: "{docdir}"
25
+ source-highlighter: rouge
26
+
27
+ # Enable Just the Docs dark theme
28
+ color_scheme: dark
29
+
30
+ # Sass configuration
31
+ sass:
32
+ sass_dir: jekyll/_sass
33
+ quiet_deps: true
34
+ silence_deprecations:
35
+ - color-functions
36
+ - import