Skip to content

Commit a5a251a

Browse files
committed
🎨 Template bootstrap by kettle-jem v1.0.0
1 parent 7f4e0f5 commit a5a251a

8 files changed

Lines changed: 81 additions & 39 deletions

File tree

.kettle-jem.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,14 @@
7777
#
7878
# Everything else should be set explicitly here or via ENV.
7979

80+
# This project's identifying emoji.
81+
# Used as the leading emoji in the README H1 heading and in the gemspec
82+
# summary and description. Every gem should have its own unique emoji.
83+
#
84+
# Set this to a single emoji that represents your gem. Examples: 🪙 🔑 🛠️ 🔮
85+
# This key is REQUIRED. kettle-jem will abort if it is absent.
86+
# ENV override: KJ_PROJECT_EMOJI
87+
project_emoji: ""
8088
# Engines this project supports.
8189
# List the Ruby engines that your gem targets. kettle-jem uses this to decide
8290
# which CI workflows, README compatibility rows, and badge references to

CONTRIBUTING.md

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,15 @@ Take a look at the `reek` list which is the file called `REEK` and find somethin
1414

1515
Follow these instructions:
1616

17-
1. Fork the repository
18-
2. Create a feature branch (`git checkout -b my-new-feature`)
19-
3. Make some fixes.
20-
4. Commit changes (`git commit -am 'Added some feature'`)
21-
5. Push to the branch (`git push origin my-new-feature`)
22-
6. Make sure to add tests for it. This is important, so it doesn't break in a future release.
23-
7. Create new Pull Request.
17+
1. Join the Discord: [![Live Chat on Discord][✉️discord-invite-img]][✉️discord-invite]
18+
2. Fork the repository
19+
3. Create your feature branch (`git checkout -b my-new-feature`)
20+
4. Make some fixes.
21+
5. Commit your changes (`git commit -am 'Added some feature'`)
22+
6. Push to the branch (`git push origin my-new-feature`)
23+
7. Make sure to add tests for it. This is important, so it doesn't break in a future release.
24+
8. Create new Pull Request.
25+
9. Announce it in the channel for this org in the [Discord][✉️discord-invite]!
2426

2527
```shell
2628
bin/rake -T
@@ -42,15 +44,6 @@ Coverage (kettle-soup-cover / SimpleCov)
4244
Executables shipped by dependencies, such as kettle-dev, and stone_checksums, are available
4345
after running `bin/setup`. These include:
4446

45-
- gem_checksums
46-
- kettle-changelog
47-
- kettle-commit-msg
48-
- kettle-dev-setup
49-
- kettle-dvcs
50-
- kettle-pre-release
51-
- kettle-readme-backers
52-
- kettle-release
53-
5447
- K_SOUP_COV_DO: Enable coverage collection (default: true in `mise.toml`)
5548
- K_SOUP_COV_FORMATTERS: Comma-separated list of formatters (html, xml, rcov, lcov, json, tty)
5649
- K_SOUP_COV_MIN_LINE: Minimum line coverage threshold (integer, e.g., 100)
@@ -78,6 +71,15 @@ Git hooks and commit message helpers (exe/kettle-commit-msg)
7871
- GIT_HOOK_FOOTER_SENTINEL: Required when footer append is enabled — a unique first-line sentinel to prevent duplicates
7972
- GIT_HOOK_FOOTER_APPEND_DEBUG: Extra debug output in the footer template (true/false)
8073

74+
- gem_checksums
75+
- kettle-changelog
76+
- kettle-commit-msg
77+
- kettle-dev-setup
78+
- kettle-dvcs
79+
- kettle-pre-release
80+
- kettle-readme-backers
81+
- kettle-release
82+
8183
There are many Rake tasks available as well. You can see them by running:
8284

8385
For a quick starting point, this repository’s `mise.toml` defines the shared defaults, and `.env.local` can override them locally. Copy `.env.local.example` to `.env.local`, use `KEY=value` lines, and either activate `mise` in your shell or run commands through `mise exec -C /path/to/project -- ...`.
@@ -232,3 +234,4 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
232234
[📌major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
233235
[🚎appraisal2]: https://github.com/appraisal-rb/appraisal2
234236
[🏃‍♂️runner-tool-cache]: https://github.com/ruby/ruby-builder/releases/tag/toolcache
237+
[✉️discord-invite]: https://discord.gg/3qme4XHNKN

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
[🖼️ruby-oauth-i]: https://logos.galtzo.com/assets/images/ruby-oauth/avatar-192px.svg
88
[🖼️ruby-oauth]: https://github.com/ruby-oauth
99

10-
# 🍲 VersionGem
10+
# 🔖 VersionGem
1111

1212
[![Version][👽versioni]][👽version] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] [![License: MIT][📄license-img]][📄license-ref] [![Downloads Rank][👽dl-ranki]][👽dl-rank] [![Open Source Helpers][👽oss-helpi]][👽oss-help] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] [![CodeQL][🖐codeQL-img]][🖐codeQL] [![Apache SkyWalking Eyes License Compatibility Check][🚎15-🪪-wfi]][🚎15-🪪-wf]
1313

gemfiles/modular/templating.gemfile

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
# frozen_string_literal: true
22

3+
remote = ENV.fetch("KETTLE_RB_DEV", "false").casecmp("false").zero?
4+
5+
# Cross-platform parsers
36
gem "toml"
47
gem "parslet"
58
gem "prism", "~> 1.6"
@@ -17,6 +20,10 @@ platform :mri do
1720
"~> 2.1",
1821
require: false # DO NOT LOAD, because conflicts with FFI
1922

23+
if remote
24+
# AST parsing for advanced templating.
25+
# Kettle-rb's Merge Recipes (released)
26+
end
2027
# AST parsing for advanced templating.
2128
# Set KETTLE_RB_DEV=true (or path) for local development with path-based dependencies.
2229
# When false (default / CI), gemspec runtime dependencies are used (no extras needed here).
@@ -27,3 +34,8 @@ platform :mri do
2734
eval_gemfile "templating_local.gemfile"
2835
end
2936
end
37+
38+
# Set KETTLE_RB_DEV=true (or path) for local development with path-based dependencies.
39+
# When false (default / CI), released gems are used and explicit parser pins are needed.
40+
# Local path overrides — merge gems bring their own parser dependencies
41+
eval_gemfile "templating_local.gemfile" unless remote

lib/version_gem.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# frozen_string_literal: true
22

3+
require "version_gem"
34
require_relative "version_gem/version"
45

56
require_relative "version_gem/basic"

mise.toml

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,34 @@
11
# Shared development environment for this gem.
22
# Local overrides belong in .env.local (loaded via dotenvy through mise).
3-
43
[env]
4+
DEBUG = "false"
5+
FLOSS_CFG_FUND_DEBUG = "false"
6+
FLOSS_CFG_FUND_LOGFILE = "tmp/log/debug.log"
7+
FUNDING_ORG = "ruby-oauth"
8+
KETTLE_DEV_DEBUG = "false"
9+
KETTLE_TEST_SILENT = "true"
510
KJ_PROJECT_EMOJI = "🔖"
11+
K_SOUP_COV_COMMAND_NAME = "Test Coverage"
12+
K_SOUP_COV_DO = "true"
13+
K_SOUP_COV_FORMATTERS = "html,xml,rcov,lcov,json,tty"
14+
K_SOUP_COV_MIN_BRANCH = "76"
15+
K_SOUP_COV_MIN_HARD = "true"
16+
K_SOUP_COV_MIN_LINE = "92"
17+
K_SOUP_COV_MULTI_FORMATTERS = "true"
18+
K_SOUP_COV_OPEN_BIN = ""
19+
MAX_ROWS = "1"
20+
OPENCOLLECTIVE_HANDLE = "ruby-oauth"
21+
RUBOCOP_LTS_LOCAL = "false"
622
TREE_SITTER_BASH_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-bash.so"
723
TREE_SITTER_CSS_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-css.so"
824
TREE_SITTER_JAVASCRIPT_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-javascript.so"
9-
TREE_SITTER_JSON_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-json.so"
1025
TREE_SITTER_JSONC_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-jsonc.so"
26+
TREE_SITTER_JSON_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-json.so"
1127
TREE_SITTER_PYTHON_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-python.so"
1228
TREE_SITTER_RBS_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-rbs.so"
1329
TREE_SITTER_RUBY_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-ruby.so"
1430
TREE_SITTER_TOML_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-toml.so"
1531
TREE_SITTER_YAML_PATH = "/home/pboling/.local/lib/tree-sitter/libtree-sitter-yaml.so"
16-
K_SOUP_COV_DO = "true"
17-
K_SOUP_COV_COMMAND_NAME = "Test Coverage"
18-
K_SOUP_COV_FORMATTERS = "html,xml,rcov,lcov,json,tty"
19-
K_SOUP_COV_MIN_BRANCH = "76"
20-
K_SOUP_COV_MIN_LINE = "92"
21-
K_SOUP_COV_MIN_HARD = "true"
22-
K_SOUP_COV_MULTI_FORMATTERS = "true"
23-
K_SOUP_COV_OPEN_BIN = ""
24-
MAX_ROWS = "1"
25-
KETTLE_TEST_SILENT = "true"
26-
KETTLE_DEV_DEBUG = "false"
27-
DEBUG = "false"
28-
FLOSS_CFG_FUND_DEBUG = "false"
29-
FLOSS_CFG_FUND_LOGFILE = "tmp/log/debug.log"
30-
RUBOCOP_LTS_LOCAL = "false"
31-
OPENCOLLECTIVE_HANDLE = "ruby-oauth"
32-
FUNDING_ORG = "ruby-oauth"
33-
_.path = ["exe", "bin"]
3432
_.file = { path = ".env.local", redact = true }
33+
_.path = ["exe", "bin"]
3534
_.source = ".config/mise/env.sh"

parsers.toml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# tsdl configuration — tree-sitter grammar versions
2+
# https://github.com/stackmystack/tsdl
3+
#
4+
# Run: tsdl build --out-dir /usr/local/lib
5+
# Or let .devcontainer/scripts/setup-tree-sitter.sh handle it.
6+
7+
out-dir = "/usr/local/lib"
8+
9+
[parsers]
10+
json = "v0.24.8"
11+
bash = "v0.25.1"
12+
13+
[parsers.toml]
14+
ref = "v0.7.0"
15+
from = "https://github.com/tree-sitter-grammars/tree-sitter-toml"
16+
17+
[parsers.rbs]
18+
ref = "v0.2.2"
19+
from = "https://github.com/joker1007/tree-sitter-rbs"

version_gem.gemspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ Gem::Specification.new do |spec|
2929
spec.authors = ["Peter Boling"]
3030
spec.email = ["floss@galtzo.com", "oauth-ruby@googlegroups.com"]
3131

32-
spec.summary = "🍲 Enhance your VERSION! Sugar for Version modules."
33-
spec.description = "🍲 Versions are good. Versions are cool. Versions will win."
32+
spec.summary = "🔖 Enhance your VERSION! Sugar for Version modules."
33+
spec.description = "🔖 Versions are good. Versions are cool. Versions will win."
3434
spec.homepage = "https://github.com/ruby-oauth/version_gem"
3535
spec.licenses = ["MIT"]
3636
spec.required_ruby_version = ">= 2.2"

0 commit comments

Comments
 (0)