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
@@ -0,0 +1,160 @@
1
+ $schema:
2
+ type: Map
3
+ desc: |
4
+ Structural governance for the files that define simple REST API clients for ReleaseHx to query for Issues payloads.
5
+
6
+ Files following this shema will have Liquid parsing available in all fields.
7
+ Available Liquid variables are:
8
+
9
+ `user`::
10
+ The user credential determined according to config.api.auth settings.
11
+
12
+ `key`::
13
+ The API key or token used for authentication.
14
+
15
+ `host`::
16
+ The `config.api.host` value.
17
+
18
+ `proj`::
19
+ The `config.api.project` value.
20
+
21
+ properties:
22
+ name:
23
+ type: String
24
+ desc: |
25
+ The name of the API client configuration file, which should match the API endpoint it is designed to query.
26
+ sgyml:
27
+ templating:
28
+ stage: load
29
+ desc:
30
+ type: Multiline
31
+ desc: |
32
+ A brief description of the API client configuration, explaining its purpose and functionality.
33
+ auth:
34
+ type: Map
35
+ desc: |
36
+ Authentication configuration for the API client, including details on how to authenticate requests.
37
+ properties:
38
+ mode:
39
+ type: String
40
+ desc: |
41
+ The type of authentication to use.
42
+
43
+ Options are: `basic`, `token`, `bearer`, `header`, `query`, `none`.
44
+ sgyml:
45
+ templating:
46
+ stage: load
47
+ header:
48
+ type: String
49
+ desc: |
50
+ The header to use for authentication.
51
+ Only used if `auth.mode` is `header`.
52
+ format:
53
+ type: String
54
+ desc: |
55
+ The format string for the authentication header value.
56
+ Supports Liquid templating for dynamic token/credential injection.
57
+ sgyml:
58
+ templating:
59
+ delay: true
60
+ href:
61
+ type: String
62
+ desc: |
63
+ The base URL endpoint for the API.
64
+ Supports Liquid templating for dynamic URL construction.
65
+ sgyml:
66
+ templating:
67
+ delay: true
68
+ query_type:
69
+ type: String
70
+ desc: |
71
+ The type of query parameter encoding to use.
72
+ Options are: `key_value`, `jql`, `query_string`.
73
+ query_params:
74
+ type: Map
75
+ desc: |
76
+ Structured query parameters for the API request.
77
+ Each parameter supports Liquid templating for dynamic values.
78
+ sgyml:
79
+ templating:
80
+ delay: true
81
+ query_string:
82
+ type: String
83
+ desc: |
84
+ Legacy query string format (use query_params instead).
85
+ Supports Liquid templating for dynamic query construction.
86
+ sgyml:
87
+ templating:
88
+ delay: true
89
+ resolutions:
90
+ type: Map
91
+ desc: |
92
+ Dynamic resolution configurations for transforming template values.
93
+ Used to resolve human-readable identifiers to API-specific IDs.
94
+ properties:
95
+ $meta:
96
+ arb: true # allows arbitrary naming of child Maps
97
+ <resolution_name>: # as many unique keys as user needs
98
+ type: Map
99
+ desc: |
100
+ Configuration for a specific resolution endpoint.
101
+ The key is the resolution name, which can be used in query_params.
102
+ properties:
103
+ endpoint:
104
+ type: String
105
+ desc: |
106
+ The API endpoint to query for resolution data.
107
+ Supports Liquid templating for dynamic endpoint construction.
108
+ sgyml:
109
+ templating:
110
+ delay: true
111
+ query_param:
112
+ type: String
113
+ desc: |
114
+ The query parameter name that needs resolution.
115
+ lookup_field:
116
+ type: String
117
+ desc: |
118
+ The field name to match against in the resolution response.
119
+ return_field:
120
+ type: String
121
+ desc: |
122
+ The field name to extract as the resolved value.
123
+ match_value:
124
+ type: String
125
+ desc: |
126
+ The value to match against the lookup_field.
127
+ Supports Liquid templating for dynamic matching.
128
+ sgyml:
129
+ templating:
130
+ delay: true
131
+ pagination:
132
+ type: Map
133
+ desc: |
134
+ Pagination configuration for handling paginated API responses.
135
+ properties:
136
+ param:
137
+ type: String
138
+ desc: |
139
+ The query parameter name for the page number.
140
+ page_size_param:
141
+ type: String
142
+ desc: |
143
+ The query parameter name for the page size.
144
+ page_size:
145
+ type: Integer
146
+ desc: |
147
+ The number of items per page.
148
+ max_pages:
149
+ type: Integer
150
+ desc: |
151
+ Maximum number of pages to fetch.
152
+ response_format:
153
+ type: String
154
+ desc: |
155
+ Expected response format from the API (typically 'json').
156
+ root_issues_path:
157
+ type: String
158
+ desc: |
159
+ JSONPath to the issues array in the API response.
160
+ Use '.' for root-level arrays.