bundler-skills 0.1.0 → 0.2.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +7 -0
- data/README.md +1 -0
- data/lib/bundler_skills/command.rb +31 -1
- data/lib/bundler_skills/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f4b67969f065e52b55c29a4631c529bd2aa8c0ca6e180349f5ccb7812ce0b6c1
|
|
4
|
+
data.tar.gz: 26872dd8825ee1160f33e2343083909debfd5c3a860f3e9c80bddd932ab341a9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8ae3e4cd495c9f8bc51b61e9d28141eb13118413e4aa162e0cf5cc769f98fe04b57841c24ab6d292b88a063551bc9b7f15a7c05646c2fe5221d9e39c199fd20c
|
|
7
|
+
data.tar.gz: 3a36fbcddc882e7e3509213f1b8cb2b728a75fb0aa6489e145b9714b4e9e6ce6eac8a84aba82b49aced700b1e812cf17fb5f9e90dde3a7ad5b00d907ddd35caa
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.2.0] - 2026-06-18
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- `bundle skills init` command: creates a `bundler-skills.yml` config file with
|
|
10
|
+
all keys commented out, so users can enable only the options they need.
|
|
11
|
+
|
|
5
12
|
## [0.1.0] - 2026-06-18
|
|
6
13
|
|
|
7
14
|
### Added
|
data/README.md
CHANGED
|
@@ -72,6 +72,7 @@ Use the command to sync manually, or to inspect/clean:
|
|
|
72
72
|
bundle skills # (or: bundle skills sync) re-create symlinks
|
|
73
73
|
bundle skills list # show discovered skills and target agents (no changes)
|
|
74
74
|
bundle skills clean # remove all gem-*--* symlinks this plugin created
|
|
75
|
+
bundle skills init # create a bundler-skills.yml config file with defaults
|
|
75
76
|
bundle skills <cmd> --dry-run # show what would change without writing
|
|
76
77
|
```
|
|
77
78
|
|
|
@@ -9,14 +9,32 @@ module BundlerSkills
|
|
|
9
9
|
class Command < Bundler::Plugin::API
|
|
10
10
|
command "skills"
|
|
11
11
|
|
|
12
|
+
INIT_TEMPLATE = <<~YAML
|
|
13
|
+
# bundler-skills.yml — all keys are optional
|
|
14
|
+
#
|
|
15
|
+
# enabled: # nil (auto) | false (off) | [development] (env list)
|
|
16
|
+
# agents: # omit = auto-detect; or list: [claude, cursor]; or "*"
|
|
17
|
+
# - claude
|
|
18
|
+
# - cursor
|
|
19
|
+
# gitignore: true # manage .gitignore (default true)
|
|
20
|
+
# cleanup: true # prune stale gem-*--* links when a gem is removed (default true)
|
|
21
|
+
# recursive: false # also scan skills/**/SKILL.md (default false)
|
|
22
|
+
# include: # only these gems (empty = all). fnmatch on "gem" or "gem/skill"
|
|
23
|
+
# - rubocop
|
|
24
|
+
# - "rails-*"
|
|
25
|
+
# exclude: # exclude these (wins over include)
|
|
26
|
+
# - some-noisy-gem
|
|
27
|
+
YAML
|
|
28
|
+
|
|
12
29
|
def exec(_command_name, args)
|
|
13
|
-
dry_run = args.delete("--dry-run")
|
|
30
|
+
dry_run = !!args.delete("--dry-run")
|
|
14
31
|
subcommand = args.shift || "sync"
|
|
15
32
|
|
|
16
33
|
case subcommand
|
|
17
34
|
when "sync" then run_sync(dry_run)
|
|
18
35
|
when "list" then run_list
|
|
19
36
|
when "clean" then run_clean(dry_run)
|
|
37
|
+
when "init" then run_init
|
|
20
38
|
when "help", "-h", "--help" then print_help
|
|
21
39
|
else
|
|
22
40
|
Bundler.ui.error("[bundler-skills] unknown subcommand: #{subcommand}")
|
|
@@ -51,6 +69,17 @@ module BundlerSkills
|
|
|
51
69
|
end
|
|
52
70
|
end
|
|
53
71
|
|
|
72
|
+
def run_init
|
|
73
|
+
path = Bundler.root / Config::CONFIG_FILENAME
|
|
74
|
+
if File.exist?(path)
|
|
75
|
+
Bundler.ui.warn("[bundler-skills] #{Config::CONFIG_FILENAME} already exists")
|
|
76
|
+
return
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
File.write(path, INIT_TEMPLATE)
|
|
80
|
+
Bundler.ui.info("[bundler-skills] created #{Config::CONFIG_FILENAME}")
|
|
81
|
+
end
|
|
82
|
+
|
|
54
83
|
def run_clean(dry_run)
|
|
55
84
|
removed = synchronizer(dry_run: dry_run).clean
|
|
56
85
|
total = removed.values.sum(&:size)
|
|
@@ -68,6 +97,7 @@ module BundlerSkills
|
|
|
68
97
|
sync (default) discover skills and (re)create symlinks
|
|
69
98
|
list show discovered skills and target agents (no changes)
|
|
70
99
|
clean remove all gem-*--* symlinks this plugin created
|
|
100
|
+
init create a bundler-skills.yml config file with defaults
|
|
71
101
|
|
|
72
102
|
Options:
|
|
73
103
|
--dry-run show what would change without writing
|