-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.kettle-jem.yml
More file actions
378 lines (364 loc) · 26.1 KB
/
.kettle-jem.yml
File metadata and controls
378 lines (364 loc) · 26.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
# kettle-jem configuration file
#
# This file is both configuration and field guide for templated gems.
# In most projects this comment block is the first place to look when you
# want to understand what kettle-jem will merge, what it will copy as-is,
# and which values you may want to customize.
#
# High-level structure:
# defaults - default merge behavior for files that use strategy: merge
# tokens - values for {KJ|...} placeholders used across template files
# patterns - glob-based overrides for files/directories
# files - exact per-file overrides using a nested directory tree
#
# Default behavior:
# If a file is NOT mentioned under files: and does NOT match a patterns:
# entry, kettle-jem will merge it using the format-aware merge gem for that
# file type.
#
# Strategies:
# merge:
# Resolve tokens, then merge template + destination using the appropriate
# AST-aware/text-aware merger for the file type.
# accept_template:
# Resolve tokens, then write the template result without merging.
# If the file is missing in the destination, it will be created from the template.
# keep_destination:
# Ignore this file during templating.
# No merge. No replacement. No creation when the destination file is missing.
# Use this when you want to permanently exclude a file from the template.
# raw_copy:
# Copy bytes exactly as they appear in the template.
# No token resolution. No merge. Use for immutable/binary assets such as certs.
#
# Merge options (used only with strategy: merge):
# preference:
# template - template wins when both sides define the same node/value
# destination - destination wins when both sides define the same node/value
# add_template_only_nodes:
# true - add nodes/entries that exist only in the template
# false - do not add template-only nodes
# freeze_token:
# Marker name used for frozen sections (default: kettle-jem)
# file_type:
# Optional explicit merge-engine hint for extensionless or ambiguous files.
# Supported values: ruby, gemfile, appraisals, gemspec, rakefile,
# yaml, markdown, bash, tool_versions, text, json, jsonc, toml,
# dotenv, rbs
# max_recursion_depth:
# Limit for recursive merging when a merger supports it
#
# Token values:
# Precedence is:
# 1) ENV variables
# 2) tokens: values in this file
# 3) safe automatic derivation (author fields only, where possible)
#
# Important merge note for tokens in THIS file:
# Existing destination values are respected.
# That means:
# - a real value you already set here stays in place on future runs
# - an empty string also counts as an explicit destination value
# If you want kettle-jem to re-seed a missing value on a later run,
# delete that key instead of leaving it blank.
#
# Safe automatic derivations currently implemented:
# AUTHOR:NAME <- first author from the gemspec
# AUTHOR:EMAIL <- first email from the gemspec
# AUTHOR:DOMAIN <- domain part of AUTHOR:EMAIL
# AUTHOR:GIVEN_NAMES <- AUTHOR:NAME minus the last word
# AUTHOR:FAMILY_NAMES <- last word of AUTHOR:NAME
#
# Everything else should be set explicitly here or via ENV.
# This project's identifying emoji.
# Used as the leading emoji in the README H1 heading and in the gemspec
# summary and description. Every gem should have its own unique emoji.
#
# Set this to a single emoji that represents your gem. Examples: 🪙 🔑 🛠️ 🔮
# This key is REQUIRED. kettle-jem will abort if it is absent.
# ENV override: KJ_PROJECT_EMOJI
project_emoji: "☯️"
# Engines this project supports.
# List the Ruby engines that your gem targets. kettle-jem uses this to decide
# which CI workflows, README compatibility rows, and badge references to
# include. Engines not listed here are pruned from generated files.
#
# Supported values: ruby, jruby, truffleruby
# Default (when key is absent): all three engines.
engines:
- ruby
- jruby
- truffleruby
# README top logo mode.
# Controls whether the generated README header includes the GitHub org logo,
# the project logo, or both after the shared Galtzo and ruby-lang logos.
# Supported values: org, project, org_and_project
# Default (when key is absent): org_and_project
readme:
top_logo_mode: org
# SPDX license identifiers for this project.
# List one or more licenses that apply to the gem. Users may use the software
# under the terms of any one license listed here (OR semantics, not AND).
#
# Accepted values (initial supported set):
# MIT - MIT License (open source, permissive)
# AGPL-3.0-only - GNU Affero General Public License v3
# PolyForm-Noncommercial-1.0.0 - PolyForm Noncommercial License 1.0.0
# PolyForm-Small-Business-1.0.0 - PolyForm Small Business License 1.0.0
# LicenseRef-Big-Time-Public-License - Big Time Public License 2.0.2
#
# Defaults to spec.licenses from the gemspec when this key is absent.
#
# Template behaviour:
# - Each listed license is copied as <SPDX-basename>.md into the project.
# - A LICENSE.md index file is generated referencing all chosen licenses.
# - Any non-MIT license adds a "contact for commercial license" prompt.
# - When MIT (or AGPL), a PolyForm variant, AND LicenseRef-Big-Time-Public-License
# are all present, a use-case guide table is added to README and LICENSE.md.
licenses:
- AGPL-3.0-only
# Machine / automation accounts to exclude from generated copyright output.
#
# When kettle-jem collects copyright information via `git blame`, it filters
# out known GitHub/GitLab bot accounts automatically. Use this list to also
# exclude internal automation accounts that are not bots in the git sense
# (i.e. they do not follow the "[bot]" naming convention).
#
# Each entry is matched case-insensitively against the commit author name AND
# the commit author email, so you can list either form.
#
# Default (when key is absent or empty): ["autobolt"]
machine_users:
- autobolt
# Self-test / templating CI threshold.
# Set to a number from 0 to 100 to fail `rake kettle:jem:selftest` once
# divergence reaches or exceeds that percent. Leave blank to report only.
# Divergence is currently measured as the percent of produced files that would
# change or be added during templating (100 - unchanged-file score).
min_divergence_threshold:
# Default merge options
defaults:
preference: "template"
add_template_only_nodes: true
freeze_token: "kettle-jem"
# Token replacement values.
#
# General rules:
# - Empty strings are treated as unset.
# - Use the bare identifier/slug/handle expected by the inline comment.
# - Do NOT paste full URLs unless the comment explicitly says to.
#
# Tip:
# The author fields in a newly created destination config are normally seeded
# from the gemspec via safe derivation. After that, destination values win.
tokens:
forge:
gh_user: "pboling" # GitHub username only, no @, no URL. Used for GitHub Sponsors and profile links. ENV: KJ_GH_USER
gl_user: "pboling" # GitLab username only, no @, no URL. Used for profile links. ENV: KJ_GL_USER
cb_user: "pboling" # Codeberg username only, no @, no URL. Used for profile links. ENV: KJ_CB_USER
sh_user: "galtzo" # SourceHut username only, no leading ~, no URL. Used as https://sr.ht/~<value>/. ENV: KJ_SH_USER
author:
name: "Peter H. Boling" # Full display name. Example: Ada Lovelace. ENV: KJ_AUTHOR_NAME. Auto-seeded from gemspec authors.first
given_names: "Peter H." # Given/personal names only. Example: Ada. ENV: KJ_AUTHOR_GIVEN_NAMES. Auto-seeded when AUTHOR:NAME can be split
family_names: "Boling" # Family/surname only. Example: Lovelace. ENV: KJ_AUTHOR_FAMILY_NAMES. Auto-seeded when AUTHOR:NAME can be split
email: "floss@glatzo.com" # Primary public email address. Example: floss@galtzo.com. ENV: KJ_AUTHOR_EMAIL. Auto-seeded from gemspec email.first
domain: "galtzo.com" # Bare domain only, no scheme, no email. Example: galtzo.com. ENV: KJ_AUTHOR_DOMAIN. Auto-seeded from AUTHOR:EMAIL
orcid: "0009-0008-8519-441X" # ORCID identifier only, not the full URL. Example: 0000-0001-2345-6789. ENV: KJ_AUTHOR_ORCID
funding:
patreon: "galtzo" # Patreon account slug only. Used as https://patreon.com/<value>. ENV: KJ_FUNDING_PATREON
kofi: "pboling" # Ko-fi handle/slug only. Used as https://ko-fi.com/<value>. ENV: KJ_FUNDING_KOFI
paypal: "peterboling" # PayPal.Me slug only. Used as https://www.paypal.com/paypalme/<value>. ENV: KJ_FUNDING_PAYPAL
buymeacoffee: "pboling" # Buy Me a Coffee slug only. Used as https://www.buymeacoffee.com/<value>. ENV: KJ_FUNDING_BUYMEACOFFEE
polar: "pboling" # Polar handle/slug only. Used as https://polar.sh/<value>. ENV: KJ_FUNDING_POLAR
liberapay: "pboling" # Liberapay account slug only. Used as https://liberapay.com/<value>/donate. ENV: KJ_FUNDING_LIBERAPAY
issuehunt: "pboling" # IssueHunt identifier/handle only, not a URL. ENV: KJ_FUNDING_ISSUEHUNT
social:
mastodon: "galtzo" # Local handle only for the instance assumed by the template link. Current template uses https://ruby.social/@<value>. ENV: KJ_SOCIAL_MASTODON
bluesky: "galtzo.com" # Full Bluesky handle. Example: peterboling.dev or alice.bsky.social. Used as https://bsky.app/profile/<value>. ENV: KJ_SOCIAL_BLUESKY
linktree: "galtzo" # Linktree username only. Used as https://linktr.ee/<value>. ENV: KJ_SOCIAL_LINKTREE
devto: "galtzo" # DEV Community username only. Used as https://dev.to/<value>. ENV: KJ_SOCIAL_DEVTO
# Glob patterns evaluated in order (first match wins)
patterns:
- path: "certs/**"
strategy: raw_copy
# Per-file configuration (nested directory structure)
# Only files that need overrides belong here. Everything else defaults to merge.
files:
AGENTS.md:
strategy: accept_template
gemfiles:
modular:
templating.gemfile:
strategy: accept_template
templating_local.gemfile:
strategy: accept_template
# To override specific files, add entries like:
#
# files:
# README.md:
# strategy: accept_template
#
# SECURITY.md:
# strategy: keep_destination
#
# certs:
# pboling.pem:
# strategy: raw_copy
#
# .git-hooks:
# commit-msg:
# strategy: merge
# file_type: ruby
#
# Rakefile:
# strategy: merge
# preference: destination
# add_template_only_nodes: false
kettle-jem:
version: "1.0.0"
checksums:
".aiignore.example": "48a5dfdd93afd1a15fdce39cc28ca9920263f00018b0968ab031fa744521e5ce"
".config/mise/env.sh": "aeea5a2ab489ba6e5467ae8de6e386ec8c8fe4ff31a044e69d0cd6a092dd6654"
".devcontainer/apt-install/devcontainer-feature.json.example": "273a07f9d3926e1b6287c37709a469ee05d724cfedae62ad3b0cd8c09befc9ec"
".devcontainer/apt-install/install.sh.example": "b61e020b60ca172bb7b658e63c9cd4342e49bda0531a6b19b36475e515ad20b0"
".devcontainer/devcontainer.json.example": "4a80d471379b9720cc65cc89543cbbc0a7be87b188a818160296577c4e87606f"
".devcontainer/scripts/setup-tree-sitter.sh.example": "c34f48d7bac8561fb780c4c7a81cec5004c3ac0edc11f229799ec9a4e3eccd54"
".env.local.example": "14106f301299d62f61045e4869dbd91fb6c2a96803eb5b57e56bf3bd6ea30f3c"
".envrc.example": "b7232f4bae0fb399cc9c9cdc4a5eb694bd69623aeeadcbab18c9990e443040a1"
".envrc.no-osc.example": "b7232f4bae0fb399cc9c9cdc4a5eb694bd69623aeeadcbab18c9990e443040a1"
".gemrc.example": "77b1c36ae6f91bedf08b99e662a971b02f7e66e0d65267805d068d30ff118aba"
".git-hooks/commit-msg.example": "d8c42b512b0a6ba0879670cb6855d938c846ec1b5dfb654ff003e797d39a7a78"
".git-hooks/commit-subjects-goalie.txt.example": "bb1179c8911af8afeb1f9a604b3de789d4a4b33d9d4a7743b3145998c15b0a94"
".git-hooks/footer-template.erb.txt.example": "70ed3616ee04a4062126f53892cc255e7aa2b66741fe22d6b372f7df99676718"
".git-hooks/prepare-commit-msg.example": "a7c2788ba23a27fc8723c3574f5453b857fd0a7826a538978d6e10fdf2c5ca55"
".github/.codecov.yml.example": "d6ef3208a90eca74f79d8ff4e5ae21a915562b075cb17978b1eaadc231dd4e85"
".github/COPILOT_INSTRUCTIONS.md.example": "f5c5791df013e89e170fd436379b14e251d0ff4cb6b330a6d961e80c9071f2d3"
".github/FUNDING.yml.example": "3ee318b360682312dcec19b9f3b6edb814a1e99896ca1fc5b9e790cb6982b0e4"
".github/FUNDING.yml.no-osc.example": "0284dc0e9b37db88a1a3526a625665e7c2166a984ec152090758bf27bf02b7dd"
".github/dependabot.yml.example": "db84d1c13f64100d2f48212c022f0d985e9061ca76c36d82e7057fd845ecd528"
".github/workflows/auto-assign.yml.example": "bafe3a06f48a03b06107ebf21f5f711713fa3e55608bb0f0ecddb5f85e472308"
".github/workflows/codeql-analysis.yml.example": "d724c2392cd37c180ea10ecc8dbfc7669e916164c1f4d35293fdc353439a76a3"
".github/workflows/coverage.yml.example": "46ddb3234b631e32b9eb064839bc684c2a9cb9cf75d5422cd090e86951d863da"
".github/workflows/current.yml.example": "03ede3732e7b94414fe5f4f21cc4535d4d7f0c9fff79ccdc27c6e3d192d3c173"
".github/workflows/dep-heads.yml.example": "4c762757dc93a0b690c7b17064b75445b7aff9427d14ef7f2554250081e61835"
".github/workflows/dependency-review.yml.example": "c748e9e97c77a95856e908979690b5db744d4cd1283b333d8a50c397af915f55"
".github/workflows/discord-notifier.yml.example": "f9cc83a87058bd420426444510a1dd1520fd7cc15af50832ad52c25c5766be94"
".github/workflows/framework-ci.yml.example": "25543579896b6437830f31d2ead045df4bc3a0560af57accaf7a70373fceb1ac"
".github/workflows/heads.yml.example": "32726dabdbca2f73dbe61687638c69938771acb15d035fb94ed9129a5ba82aa5"
".github/workflows/jruby-9.1.yml.example": "b50f1d0c48483e75802168ae9ea11bf6856597782504429c90a5599c72610a49"
".github/workflows/jruby-9.2.yml.example": "d63bcb5125e9d247f5f83419fabb9ccdb0cdffbb67f725986d77c219a2e65b13"
".github/workflows/jruby-9.3.yml.example": "843ba555ec6af8685fd1d4e13dbd381eaf57dcc03af599e4f22c167e44fdb457"
".github/workflows/jruby-9.4.yml.example": "7d7577e6122a8c1b07f6696f520e800b957762a65e465e86a92224357f58c171"
".github/workflows/jruby.yml.example": "e5d483ad3649c01afcafd500f0894f89acf56a6ce17a413b7587fb0955ff70d0"
".github/workflows/license-eye.yml.example": "1a7ebd85fd9bb60efc87802eca6f259484455d62b2d24c9683f07ccf52092db0"
".github/workflows/locked_deps.yml.example": "5334322e98d42c4d847b645861cd09f7d548f95e4801274373d5117c56e4d9ce"
".github/workflows/opencollective.yml.example": "50a210fc200c0d300a4109d0a842b0d678870677a740654eb932525ec1cc56f7"
".github/workflows/ruby-2.3.yml.example": "678109d7486778e55d2ff58ce2b599f6d69ef00ff07b0cac9fce8262f34a65ee"
".github/workflows/ruby-2.4.yml.example": "fe6c2d0faac65fb86ec456382d8ad6115b55ea2303aefd4a9bb794818dceba0b"
".github/workflows/ruby-2.5.yml.example": "81f1168190eb31b1b95b146fca7f94cb2abd816983555a4810282228eac28c48"
".github/workflows/ruby-2.6.yml.example": "4cdad36a77c3f86821aebe007f78e663aa10e6c1148820c65b88333d1340ba45"
".github/workflows/ruby-2.7.yml.example": "dfed215ef6e3f39a00999f88ebd061a2e6c04aac9a20f4b86af3dcad0e879b75"
".github/workflows/ruby-3.0.yml.example": "691b8c680726d3440a62281d11ae4d3051a8a6e049c5c701645f292e8b642834"
".github/workflows/ruby-3.1.yml.example": "b0833210552df469f73a07d38d290ba3790c1cf6f6be44bf37354289fb2e1803"
".github/workflows/ruby-3.2.yml.example": "f17aaa3baa4a81061ec91326286d23982216072d3e5da861afde560385b006e4"
".github/workflows/ruby-3.3.yml.example": "ea1164f9dfa4cf7680559c2215a6c28da93d7ae459b91b186227df054483d329"
".github/workflows/ruby-3.4.yml.example": "de4c3e79e01226b803da2558d4ca4a5910a8cf5536ee23d779e0477aef0da39f"
".github/workflows/style.yml.example": "b988c5070adde63da484375684cf2df55d99b578376681a4c99f7082fc80257c"
".github/workflows/templating.yml.example": "9460613a77c6a2dc7e01351c6a1ae88c7ee25be0c42afb234b4d80a9f4f6941f"
".github/workflows/truffle.yml.example": "f112a6f577caee30a64a30a3fce05031c49b774a1f05a1a390ce174734e95e05"
".github/workflows/truffleruby-22.3.yml.example": "06798068ca5059ff4a1bfd54e85ee841b303dcf94fe7dcd6a5465d16ac9db59f"
".github/workflows/truffleruby-23.0.yml.example": "4f7312629858869796c4f45df928dd1a7a1ef6486ee2e2729816f2d8c3b29511"
".github/workflows/truffleruby-23.1.yml.example": "6d864fddc9f0304bf4706c38e98732e2e9ed53fb6f1fc48d3c486fc22178cd09"
".github/workflows/truffleruby-24.2.yml.example": "110c24871e3617b2d0ff017e6899c219c319042b69fcbf9feb6db03ce847d574"
".github/workflows/truffleruby-25.0.yml.example": "b87360e2e0df5643bd5b6f390791fb0786c8097195e118dc09bcdc7227c439e2"
".github/workflows/unlocked_deps.yml.example": "a3b74a53995aa86e6957cd841ef24f74066acbd6436f37fd3d207d745f6c14f3"
".gitignore.example": "645d3b62b54c3754620b4106a7cb462e6247b0045c8a03759a2cb419f1d787e0"
".gitlab-ci.yml.example": "ef64afa9855ebb59bbc87446fa9533238d3ce180966ceb19649a7f165715b92b"
".idea/.gitignore.example": "b44a5aa16bf9fe5635558af347454b05a76d600084308a9f43d4d0b54789ecab"
".kettle-jem.yml.example": "a5a43512f9fbed2ea79fbb35e59acbff39a133670b8c4e3fdd677f4f46a8a893"
".licenserc.yaml.example": "8003ce187b5ee35020ee78f8d135ee8ffa48dea82518876e58cd774cdc144c8d"
".opencollective.yml.example": "9ad9b83fe54f0bddac7fb614575585d98f78df0e181ee70a7acd0168d26e3142"
".qlty/qlty.toml.example": "cf3d750d2328f6c057b08b7ce3d7ec00a4056c7f0eedda59af321d6caca03553"
".rspec.example": "40d3f3ff435b0f9e5863772a95df8725b939c2dc11aead2bca68dcd6d85a9788"
".rubocop.example": "591e4b45430e85b0dd460cc11c70650912fa2734988420b934109d06a749344f"
".rubocop.yml.example": "916ddbe9b8e4852a28ab9e694b22ad5c1844a1a44a651d065ccc79ad40a5565e"
".rubocop_rspec.yml.example": "288ad75e7eb14d87d80fafe6f7272217be5c57547536ee56c780a7d10ac7ec74"
".simplecov.example": "1a1d00174566b1764e4a1efbbcff64dd77b3f1b868bbcc18d8ab22b6ca463f56"
".tool-versions.example": "01d81a30674a389a8db0bb1347a2468bb6b902e566e7f893518c9c09edff182d"
".yardignore.example": "821f453c609df7d46145d675424b39dfbe6dfdca8edac5f367b85fff48502455"
".yardopts.example": "8e33c4218df459fa56c0b4e2fe28966cf7db18eef9f5f4cd889ee189c747c4ef"
"AGENTS.md.example": "0eb4eaa341b94d49d24ee86bd8894f8fc54ed3aee8450947084fa3a412d79448"
"AGPL-3.0-only.md.example": "d8a6cc31abc16b6748c7a21f21611f5a1ec33f67d22ca23d7da1c19b95496bee"
"Appraisal.root.gemfile.example": "d4c7b5938ccd6a996cd179aecd394b170bcaf3fa4a6a66e9715a26b8d10a260d"
"Appraisals.example": "60f795bb7c8dae86e3f8046590bb7d3cc63a531d70be4053a7dea29cdb325ad2"
"Big-Time-Public-License.md.example": "b0c02a112c9eee0ed69f05fd8f22277a2f8bc62d447b6cb75d6df560e05bf431"
"CHANGELOG.md.example": "ac79c412af2b097c4e107740e6196989b2e407286d8bdf83cc6cd83dbecf5f57"
"CITATION.cff.example": "88c60b525b11016b03c074bc951657ba3e02abe950e687e8933fb75abff9d597"
"CODE_OF_CONDUCT.md.example": "f1ad532f1860f73ef774c6b27a26d41f4bc1cb8813034f5957487766ebb0986b"
"CONTRIBUTING.md.example": "e18be215c20545c6287c74d108faeab3acf7b8e6bb609e37f795f822df274053"
"FUNDING.md.example": "df90c5d413ec535d28b04c0b90e3a950c87bfad8689aaa95b90cdb85d6760d5f"
"FUNDING.md.no-osc.example": "b61479b70f4b0fe7aee523b82792b8083898eed75c0ca5eca6a6d987c1b71614"
"Gemfile.example": "7b804eb0d969784e196bc26cab607408cfa85c47c4fcf9d5a21891f026a72c2a"
"LICENSE.md.example": "3fbefea0b919b2dd83e2aa0baea7bcc4efc7f34422a11a6c2b62681f880e0f11"
"MIT.md.example": "365fce2a82f9d258ada9a527accfd5754b406ee9cdd8f8ed86bbec64b8c42ab2"
"PolyForm-Noncommercial-1.0.0.md.example": "ffcca38841adb694b6f380647e15f17c446a4d1656fed51a1e2041d064c94cc8"
"PolyForm-Small-Business-1.0.0.md.example": "2f81e317d36f83a199c9fa10bcb250775fd90510303eaeb15aac2d8f0c1fc2d6"
"README.md.example": "5807b832211a7ab66bb45d4a5f7755387c81374b029d153e49766eb6f393a905"
"README.md.no-osc.example": "704e302a48b2e221458ba8f18c35d55c331cc3b339dfd9211d3eb682af08966d"
"REEK.example": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
"RUBOCOP.md.example": "67cfedd1d0e3b8a597641124ed5c4e736b8b42bd490fea33d1153264ee25757e"
"Rakefile.example": "6e3d9f7d36add81892b1d5811974e14c9d126217ed0530351a0f7e14b22dbdfd"
"SECURITY.md.example": "d8cf4b656c2835735c4950b7cd0d9859b6840a3e675c769b58127f6094ee81ff"
"bin/setup.example": "0ac35089c95a91d8973fe7a318bf9fd98b9f8e00db92c5d9ca6cd858abb8d41b"
"certs/pboling.pem.example": "18956f60643666cc181e2743b3b3691bec08c5326f514f60af54d0cdb9ebc554"
"gem.gemspec.example": "d6d24ebfeb8ac2e3b01ed70b4b73bbd509aea3ce2cf9e1cd5cdf3c07584ec68b"
"gemfiles/modular/benchmark/r4/v0.5.gemfile.example": "5bc3190090ae456df1a8cce28dd47a7fb293495f6d845ec7e53a7a8b50f14ae1"
"gemfiles/modular/benchmark/vHEAD.gemfile.example": "ca6cd52c55c3082759c6ddc97638970f12d953aec1822470823d316086aa6e25"
"gemfiles/modular/coverage.gemfile.example": "cd5a04439c316c608735ffa62e0f8461579ea8612e3b0284f2f87ec3b669cdbb"
"gemfiles/modular/coverage_local.gemfile.example": "9e95aaf2ece13bfb0b71c66ca406f96aae2c0f2fc459b4c89ea41b55c6990df5"
"gemfiles/modular/debug.gemfile.example": "0a508bfb02e51b75394b43f4f09d98174dac36ead41cba09c1f730671a1f5905"
"gemfiles/modular/documentation.gemfile.example": "4dc4f5665c8ab96a844b9e1e8adb31b165412c8d10300f62b9acb3a770eae64d"
"gemfiles/modular/erb/r2.3/default.gemfile.example": "9da0d08fb6a299b965c37fe85efcaebd9eb0a82b2ea35fdc157c41bd75431396"
"gemfiles/modular/erb/r2.6/v2.2.gemfile.example": "01787cbdf7136c0d75cc7b734c6bb3d2ef6c70d6c1c50e7d0ad2112c0f8ef8e7"
"gemfiles/modular/erb/r2/v3.0.gemfile.example": "3793e7dc9ef23a7ccd893d48cbba092fd27594c63e65cca011cc658218425670"
"gemfiles/modular/erb/r3.1/v4.0.gemfile.example": "bdf71ddcfe5001aab7d71b10a645a785928957ef7bae61d49307eb7f712279f3"
"gemfiles/modular/erb/r3/v5.0.gemfile.example": "178b56dda9f4220cc2bd8311dcba699793b2e4699299ba60951954d80e7b2ce0"
"gemfiles/modular/erb/r4/v5.0.gemfile.example": "178b56dda9f4220cc2bd8311dcba699793b2e4699299ba60951954d80e7b2ce0"
"gemfiles/modular/erb/vHEAD.gemfile.example": "ad6f104a49e80e0cf625440e3dc816343fe7e2f037fc4971df75e7bb4305c683"
"gemfiles/modular/mutex_m/r2.4/v0.1.gemfile.example": "09728bdc10807b3ca9dd3b9f12986acbe8c40ac08ada438bcfd49cd69445c650"
"gemfiles/modular/mutex_m/r2/v0.3.gemfile.example": "887eaaff14e1f1d24087a82ec117450559eab9552260a132caf56f21e4c681e1"
"gemfiles/modular/mutex_m/r3/v0.3.gemfile.example": "887eaaff14e1f1d24087a82ec117450559eab9552260a132caf56f21e4c681e1"
"gemfiles/modular/mutex_m/r4/v0.3.gemfile.example": "887eaaff14e1f1d24087a82ec117450559eab9552260a132caf56f21e4c681e1"
"gemfiles/modular/mutex_m/vHEAD.gemfile.example": "08018641c97f894788fa91b462da504ab2237213d18d95404136c393274ae3cb"
"gemfiles/modular/optional.gemfile.example": "a3a83dedc0e542695df75c89cc656b58ea93e7db1798b3926fec2469e6030b10"
"gemfiles/modular/recording/r2.3/recording.gemfile.example": "154da539583c51ca78ff8affa7a7caaf7f354d321b5e748beb64de61ff72f80a"
"gemfiles/modular/recording/r2.4/recording.gemfile.example": "6d69381eb2f8be681c72e7a5a8b5d6ec6ee586da8ce51b9b39d845d2a87e4ecf"
"gemfiles/modular/recording/r2.5/recording.gemfile.example": "c0ca8bbf47c34e144be90d96526f894af60cf062f2aecfa861492104170548d9"
"gemfiles/modular/recording/r3/recording.gemfile.example": "c0ca8bbf47c34e144be90d96526f894af60cf062f2aecfa861492104170548d9"
"gemfiles/modular/recording/r4/recording.gemfile.example": "c0ca8bbf47c34e144be90d96526f894af60cf062f2aecfa861492104170548d9"
"gemfiles/modular/recording/vHEAD.gemfile.example": "7480fd116e9671972a2735d1d97050a4fd5754aa7abfab3d115bf9bebbca038c"
"gemfiles/modular/rspec.gemfile.example": "d043f5c9344f6435edb4607c5adaf42c78e7fb6b8b6726007de2bbedefb376c3"
"gemfiles/modular/runtime_heads.gemfile.example": "02d16f89318d31d64347bfc2895806f9157e0cb1daf51c35c862c5151f87caa0"
"gemfiles/modular/shunted.gemfile.example": "78c82edea9a86b0cd7ae8e14093955a11cb4e058b090c7e00ef44decd94db34a"
"gemfiles/modular/stringio/r2.4/v0.0.2.gemfile.example": "6425ebcd70b2e782f4c1d9074f8685c1e93ca7bf371728ef7ebbc8b5ebdf491a"
"gemfiles/modular/stringio/r2/v3.0.gemfile.example": "6a21546445b166b784f5dc0458d9f9acc506f3b6fcc1931daa5c62821da90d6c"
"gemfiles/modular/stringio/r3/v3.0.gemfile.example": "6a21546445b166b784f5dc0458d9f9acc506f3b6fcc1931daa5c62821da90d6c"
"gemfiles/modular/stringio/r4/v3.0.gemfile.example": "6a21546445b166b784f5dc0458d9f9acc506f3b6fcc1931daa5c62821da90d6c"
"gemfiles/modular/stringio/vHEAD.gemfile.example": "e0497ab6dad9667b22725485b781e9d99349a079250eb29cb125d58f01f4a5be"
"gemfiles/modular/style.gemfile.example": "7121e53e4a8f799804c6c4cea3bac7c7f7e89bf263b83e19fc5d4a554fa9f432"
"gemfiles/modular/style_local.gemfile.example": "c0e0e5a8ed2a2349034e4ec60cdcbda265fbc1e092d3fcc1ae646b6e900237e1"
"gemfiles/modular/templating.gemfile.example": "f65421e4dead9f61e9d66155222b4c815ec30888aa9c48622d8861970c374620"
"gemfiles/modular/templating_local.gemfile.example": "5fe0b6ed38137e869562f0a31c89225b786d49c3fbc0236c38ea20325dcb2036"
"gemfiles/modular/x_std_libs.gemfile.example": "5cb837a90084deca54b9ecb7efe626d63db43476f649cb69cc89a8377198625a"
"gemfiles/modular/x_std_libs/r2.3/libs.gemfile.example": "379ac2a3698615789e39dc18a961b9c793b2cc594856bb3163524a99fd4ac86f"
"gemfiles/modular/x_std_libs/r2.4/libs.gemfile.example": "ccad8f592943481317c082ce8d340316b9e90a52463c8c1eea5c5109b23e8c3d"
"gemfiles/modular/x_std_libs/r2.6/libs.gemfile.example": "9af20396f404a32bf76d8999c7fdd112f0282ba331f71100ab093663b2ab5670"
"gemfiles/modular/x_std_libs/r2/libs.gemfile.example": "e80ec8ad06cb1b31ac982bc25cf7696987fca131aa1001eaefd0bf5cd379c273"
"gemfiles/modular/x_std_libs/r3.1/libs.gemfile.example": "38068bd6a0f5d02918eb286af9bdbdf0c7cf7cf026486b9fd157b541b6153d58"
"gemfiles/modular/x_std_libs/r3/libs.gemfile.example": "546f8849f4267bb19aa10ff0de40be30957197f229e6887847181ea9127b2650"
"gemfiles/modular/x_std_libs/r4/libs.gemfile.example": "716f64c1f0008bcae713a179c547072f399eb7cd09e90d111fde230d4c60d7a8"
"gemfiles/modular/x_std_libs/vHEAD.gemfile.example": "6505568619d332e12d9ba880f99c2d3c179e611aa155c29046f28bb1aa742995"
"mise.toml.example": "f68bc4bd23d4bf1245be93ab99e319db2296544ed05b68c98026f909591051bb"
"mise.toml.no-osc.example": "006bfce3aaed4bdac42e0788cf30af6cd5e8cdafc0002ddc7db74f186c5875f4"
"parsers.toml.example": "f0538ae7ad8596be2dc39b3ea663f1164dec21fb0457233c1885097e774aff6f"
"tmp/.gitignore.example": "240a3e0d37d2e86b614063f5347eb02d4f99ca6c254de6b82871ff8d95532a7d"