dkit 0.3.1 → 0.3.3

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/bin/dkit +15 -21
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff6fc0e53b34c039584e579f8b866d5097ee8ef9ff3b5951e3fa6a905ef6320e
4
- data.tar.gz: cc0cf53bb9df918be82d7e38542175ef10421b522f06b746380f7c2a4fc74bea
3
+ metadata.gz: b0b4a5d2779f046a28fd08f82a5564621b5856617507e5e9a7891981818318ff
4
+ data.tar.gz: e5f0e728e94bc3b45a80f7834dfc3cdc76458689eda7b5000e6851d1e6ed31a8
5
5
  SHA512:
6
- metadata.gz: 153b4417073e89d4b28da38ee174049e16439406e1915bc631e41b81d7986bf91dcd8effa28db55b861f0f563378ea63417562889e737b9b8435a4835a781d5e
7
- data.tar.gz: 9e8b738739abfd0c65b1815d7d30f948bdbe3bf26e5af42a8582f60712e71be02639f739ac30293de22e1b6d0fa27fab8836c0e802e73fe9844d616591e4c28f
6
+ metadata.gz: 7236faaaad611849ad0446036ab189bfd16fd54f39f7f032569658859a21c64236fc103b9516ca90369ae454ed5616f681ee1ce912a2729e5a2d321d7d86f1de
7
+ data.tar.gz: b0d487ab8e2df9f522bc7d6a9fd58a697492020f1dc8bd71ec8946e25f152b3a686d1489b7986e42fd128fa5a7cddb2f2f0a69550f2ce30089344e3839ddfb08
data/CHANGELOG.md CHANGED
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.3.3] - 2026-04-13
9
+
10
+ ### Changed
11
+ - Verbose fallback messages are now printed in red and include a `(fallback)` label: `[dkit] bundle → host (fallback)`
12
+
8
13
  ## [0.3.1] - 2026-04-13
9
14
 
10
15
  ### Added
data/bin/dkit CHANGED
@@ -16,7 +16,7 @@ require 'pathname'
16
16
  require 'shellwords'
17
17
  require 'fileutils'
18
18
 
19
- VERSION = "0.3.1"
19
+ VERSION = "0.3.3"
20
20
  DC_CONFIG = ".devcontainer/devcontainer.json"
21
21
  DC_INTERCEPT = ".devcontainer/dkit-intercept"
22
22
 
@@ -237,6 +237,13 @@ def cmd_hook
237
237
  _DKIT_ACTIVE_CMDS=()
238
238
  }
239
239
 
240
+ _dkit_verbose_fallback() {
241
+ [[ "${DKIT_VERBOSE}" == "0" || -z "${_DKIT_ROOT}" ]] && return
242
+ local _ic="${_DKIT_ROOT}/.devcontainer/dkit-intercept"
243
+ grep -qxF 'verbose: false' "$_ic" 2>/dev/null && return
244
+ printf '\033[31m[dkit] %s → host (fallback)\033[0m\n' "$1" >&2
245
+ }
246
+
240
247
  _dkit_load() {
241
248
  local root="$1"
242
249
  local intercept="$root/.devcontainer/dkit-intercept"
@@ -252,12 +259,7 @@ def cmd_hook
252
259
  if dkit status --quiet 2>/dev/null; then
253
260
  dkit run ${cmd} \"\$@\"
254
261
  else
255
- if [[ \"\${DKIT_VERBOSE}\" != \"0\" && -n \"\${_DKIT_ROOT}\" ]]; then
256
- local _ic=\"\${_DKIT_ROOT}/.devcontainer/dkit-intercept\"
257
- if ! grep -qxF 'verbose: false' \"\$_ic\" 2>/dev/null; then
258
- print -u2 \"[dkit] ${cmd} → host\"
259
- fi
260
- fi
262
+ _dkit_verbose_fallback \"${cmd}\"
261
263
  command ${cmd} \"\$@\"
262
264
  fi
263
265
  }"
@@ -283,12 +285,7 @@ def cmd_hook
283
285
  if dkit status --quiet 2>/dev/null; then
284
286
  dkit code "$@"
285
287
  else
286
- if [[ "${DKIT_VERBOSE}" != "0" && -n "${_DKIT_ROOT}" ]]; then
287
- local _ic="${_DKIT_ROOT}/.devcontainer/dkit-intercept"
288
- if ! grep -qxF 'verbose: false' "$_ic" 2>/dev/null; then
289
- print -u2 "[dkit] code → host"
290
- fi
291
- fi
288
+ _dkit_verbose_fallback "code"
292
289
  command code "$@"
293
290
  fi
294
291
  }
@@ -297,12 +294,7 @@ def cmd_hook
297
294
  if dkit status --quiet 2>/dev/null; then
298
295
  dkit claude "$@"
299
296
  else
300
- if [[ "${DKIT_VERBOSE}" != "0" && -n "${_DKIT_ROOT}" ]]; then
301
- local _ic="${_DKIT_ROOT}/.devcontainer/dkit-intercept"
302
- if ! grep -qxF 'verbose: false' "$_ic" 2>/dev/null; then
303
- print -u2 "[dkit] claude → host"
304
- fi
305
- fi
297
+ _dkit_verbose_fallback "claude"
306
298
  command claude "$@"
307
299
  fi
308
300
  }
@@ -315,14 +307,14 @@ end
315
307
 
316
308
  def cmd_exec(ctx, args)
317
309
  abort_err("exec: no command given") if args.empty?
318
- warn "[dkit] #{args.join(" ")} → #{ctx.container}" if verbose_enabled?(ctx.project_root)
310
+ warn "\e[32m[dkit] #{args.join(" ")} → #{ctx.container}\e[0m" if verbose_enabled?(ctx.project_root)
319
311
  system("docker", "exec", "--user", ctx.user, "--workdir", ctx.cwd, ctx.container, *args)
320
312
  exit $?.exitstatus
321
313
  end
322
314
 
323
315
  def cmd_run(ctx, args)
324
316
  abort_err("run: no command given") if args.empty?
325
- warn "[dkit] #{args.join(" ")} → #{ctx.container}" if verbose_enabled?(ctx.project_root)
317
+ warn "\e[32m[dkit] #{args.join(" ")} → #{ctx.container}\e[0m" if verbose_enabled?(ctx.project_root)
326
318
  exec("docker", "exec", "-it", "--user", ctx.user, "--workdir", ctx.cwd, ctx.container, *args)
327
319
  end
328
320
 
@@ -331,10 +323,12 @@ def cmd_shell(ctx)
331
323
  end
332
324
 
333
325
  def cmd_claude(ctx, args)
326
+ warn "\e[32m[dkit] claude → #{ctx.container}\e[0m" if verbose_enabled?(ctx.project_root)
334
327
  exec("docker", "exec", "-it", "--user", ctx.user, "--workdir", ctx.cwd, ctx.container, "claude", *args)
335
328
  end
336
329
 
337
330
  def cmd_code(ctx, path_arg)
331
+ warn "\e[32m[dkit] code → #{ctx.container}\e[0m" if verbose_enabled?(ctx.project_root)
338
332
  host_path = path_arg ? File.expand_path(path_arg) : ctx.project_root
339
333
  rel = begin
340
334
  Pathname(host_path).relative_path_from(Pathname(ctx.project_root)).to_s
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Augusto Stroligo