ixt-cli 0.8.0__py3-none-any.whl

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 (84) hide show
  1. ixt/__init__.py +8 -0
  2. ixt/__main__.py +8 -0
  3. ixt/backends/__init__.py +1 -0
  4. ixt/backends/binary.py +935 -0
  5. ixt/backends/binary_resolver.py +307 -0
  6. ixt/backends/node.py +490 -0
  7. ixt/backends/python.py +234 -0
  8. ixt/cli/__init__.py +31 -0
  9. ixt/cli/argparse_completion.py +557 -0
  10. ixt/cli/cmd_apply.py +404 -0
  11. ixt/cli/cmd_cache.py +86 -0
  12. ixt/cli/cmd_config.py +295 -0
  13. ixt/cli/cmd_info.py +116 -0
  14. ixt/cli/cmd_install.py +508 -0
  15. ixt/cli/cmd_misc.py +261 -0
  16. ixt/cli/cmd_registry.py +35 -0
  17. ixt/cli/cmd_upgrade.py +336 -0
  18. ixt/cli/commands.py +70 -0
  19. ixt/cli/parser.py +555 -0
  20. ixt/cli/render.py +85 -0
  21. ixt/config/__init__.py +5 -0
  22. ixt/config/asset_index.py +305 -0
  23. ixt/config/asset_pattern_cache.py +87 -0
  24. ixt/config/env_policy.py +340 -0
  25. ixt/config/flags.py +29 -0
  26. ixt/config/fs_policy.py +17 -0
  27. ixt/config/heuristics.py +465 -0
  28. ixt/config/models.py +176 -0
  29. ixt/config/registry.py +145 -0
  30. ixt/config/settings.py +173 -0
  31. ixt/config/setup_toml.py +179 -0
  32. ixt/config/toml.py +416 -0
  33. ixt/core/__init__.py +16 -0
  34. ixt/core/apply.py +564 -0
  35. ixt/core/apply_actions.py +106 -0
  36. ixt/core/backend.py +187 -0
  37. ixt/core/bootstrap.py +410 -0
  38. ixt/core/cache.py +332 -0
  39. ixt/core/discover.py +150 -0
  40. ixt/core/doctor.py +591 -0
  41. ixt/core/export.py +419 -0
  42. ixt/core/expose.py +350 -0
  43. ixt/core/extract.py +261 -0
  44. ixt/core/hooks.py +182 -0
  45. ixt/core/identity.py +148 -0
  46. ixt/core/inject.py +143 -0
  47. ixt/core/install.py +509 -0
  48. ixt/core/install_local.py +229 -0
  49. ixt/core/locks.py +54 -0
  50. ixt/core/pathlink.py +86 -0
  51. ixt/core/resolution_stats.py +191 -0
  52. ixt/core/resolve.py +150 -0
  53. ixt/core/resolve_cache.py +185 -0
  54. ixt/core/runtimes.py +192 -0
  55. ixt/core/save.py +237 -0
  56. ixt/core/setup_completions.py +11 -0
  57. ixt/core/setup_path.py +368 -0
  58. ixt/core/upgrade.py +596 -0
  59. ixt/data/__init__.py +10 -0
  60. ixt/data/asset_index.json +574 -0
  61. ixt/data/heuristics.toml +98 -0
  62. ixt/data/registry.toml +71 -0
  63. ixt/libs/__init__.py +3 -0
  64. ixt/libs/constants.py +4 -0
  65. ixt/libs/fmt.py +108 -0
  66. ixt/libs/logger.py +109 -0
  67. ixt/libs/output.py +25 -0
  68. ixt/libs/req_spec.py +115 -0
  69. ixt/libs/semver.py +149 -0
  70. ixt/libs/shell.py +126 -0
  71. ixt/libs/style.py +238 -0
  72. ixt/net/__init__.py +1 -0
  73. ixt/net/github_api.py +158 -0
  74. ixt/net/gitlab_api.py +149 -0
  75. ixt/net/http.py +194 -0
  76. ixt/net/npm.py +24 -0
  77. ixt/net/pypi.py +26 -0
  78. ixt/net/source.py +163 -0
  79. ixt/platform/__init__.py +131 -0
  80. ixt/platform/win.py +68 -0
  81. ixt_cli-0.8.0.dist-info/METADATA +294 -0
  82. ixt_cli-0.8.0.dist-info/RECORD +84 -0
  83. ixt_cli-0.8.0.dist-info/WHEEL +4 -0
  84. ixt_cli-0.8.0.dist-info/entry_points.txt +2 -0
@@ -0,0 +1,574 @@
1
+ {
2
+ "@gh:Adembc/lazyssh": {
3
+ "names": [
4
+ "lazyssh"
5
+ ],
6
+ "patterns": {
7
+ "linux/aarch64": "lazyssh_Linux_arm64.tar.gz",
8
+ "linux/x86_64": "lazyssh_Linux_x86_64.tar.gz",
9
+ "macos/aarch64": "lazyssh_Darwin_arm64.tar.gz",
10
+ "macos/x86_64": "lazyssh_Darwin_x86_64.tar.gz"
11
+ }
12
+ },
13
+ "@gh:BurntSushi/ripgrep": {
14
+ "names": [
15
+ "ripgrep"
16
+ ],
17
+ "patterns": {
18
+ "linux/aarch64": "ripgrep-{tag}-aarch64-unknown-linux-gnu.tar.gz",
19
+ "linux/x86_64": "ripgrep-{tag}-x86_64-unknown-linux-musl.tar.gz",
20
+ "macos/aarch64": "ripgrep-{tag}-aarch64-apple-darwin.tar.gz",
21
+ "macos/x86_64": "ripgrep-{tag}-x86_64-apple-darwin.tar.gz"
22
+ }
23
+ },
24
+ "@gh:ClementTsang/bottom": {
25
+ "names": [
26
+ "bottom"
27
+ ],
28
+ "patterns": {
29
+ "linux/aarch64": "bottom_aarch64-unknown-linux-musl.tar.gz",
30
+ "linux/x86_64": "bottom_x86_64-unknown-linux-musl.tar.gz",
31
+ "macos/aarch64": "bottom_aarch64-apple-darwin.tar.gz",
32
+ "macos/x86_64": "bottom_x86_64-apple-darwin.tar.gz"
33
+ }
34
+ },
35
+ "@gh:Wilfred/difftastic": {
36
+ "names": [
37
+ "difftastic"
38
+ ],
39
+ "patterns": {
40
+ "linux/aarch64": "difft-aarch64-unknown-linux-gnu.tar.gz",
41
+ "linux/x86_64": "difft-x86_64-unknown-linux-musl.tar.gz",
42
+ "macos/aarch64": "difft-aarch64-apple-darwin.tar.gz",
43
+ "macos/x86_64": "difft-x86_64-apple-darwin.tar.gz"
44
+ }
45
+ },
46
+ "@gh:ajeetdsouza/zoxide": {
47
+ "names": [
48
+ "zoxide"
49
+ ],
50
+ "patterns": {
51
+ "linux/aarch64": "zoxide-{version}-aarch64-unknown-linux-musl.tar.gz",
52
+ "linux/x86_64": "zoxide-{version}-x86_64-unknown-linux-musl.tar.gz",
53
+ "macos/aarch64": "zoxide-{version}-aarch64-apple-darwin.tar.gz",
54
+ "macos/x86_64": "zoxide-{version}-x86_64-apple-darwin.tar.gz"
55
+ }
56
+ },
57
+ "@gh:alexpasmantier/television": {
58
+ "names": [
59
+ "television"
60
+ ],
61
+ "patterns": {
62
+ "linux/aarch64": "tv-{tag}-aarch64-unknown-linux-gnu.tar.gz",
63
+ "linux/x86_64": "tv-{tag}-x86_64-unknown-linux-musl.tar.gz",
64
+ "macos/aarch64": "tv-{tag}-aarch64-apple-darwin.tar.gz",
65
+ "macos/x86_64": "tv-{tag}-x86_64-apple-darwin.tar.gz"
66
+ }
67
+ },
68
+ "@gh:aquasecurity/trivy": {
69
+ "names": [
70
+ "trivy"
71
+ ],
72
+ "patterns": {
73
+ "linux/aarch64": "trivy_{version}_Linux-ARM64.tar.gz",
74
+ "linux/x86_64": "trivy_{version}_Linux-64bit.tar.gz",
75
+ "macos/aarch64": "trivy_{version}_macOS-ARM64.tar.gz",
76
+ "macos/x86_64": "trivy_{version}_macOS-64bit.tar.gz"
77
+ }
78
+ },
79
+ "@gh:aristocratos/btop": {
80
+ "names": [
81
+ "btop"
82
+ ],
83
+ "patterns": {
84
+ "linux/aarch64": "btop-aarch64-unknown-linux-musl.tar.gz",
85
+ "linux/x86_64": "btop-x86_64-unknown-linux-musl.tar.gz",
86
+ "macos/aarch64": "btop-aarch64-unknown-linux-musl.tar.gz",
87
+ "macos/x86_64": "btop-x86_64-unknown-linux-musl.tar.gz"
88
+ }
89
+ },
90
+ "@gh:ast-grep/ast-grep": {
91
+ "names": [
92
+ "ast-grep"
93
+ ],
94
+ "patterns": {
95
+ "linux/aarch64": "app-aarch64-unknown-linux-gnu.zip",
96
+ "linux/x86_64": "app-x86_64-unknown-linux-gnu.zip",
97
+ "macos/aarch64": "app-aarch64-apple-darwin.zip",
98
+ "macos/x86_64": "app-x86_64-apple-darwin.zip"
99
+ }
100
+ },
101
+ "@gh:atuinsh/atuin": {
102
+ "names": [
103
+ "atuin"
104
+ ],
105
+ "patterns": {
106
+ "linux/aarch64": "atuin-aarch64-unknown-linux-musl.tar.gz",
107
+ "linux/x86_64": "atuin-x86_64-unknown-linux-musl.tar.gz",
108
+ "macos/aarch64": "atuin-aarch64-apple-darwin.tar.gz",
109
+ "macos/x86_64": "atuin-x86_64-unknown-linux-musl.tar.gz"
110
+ }
111
+ },
112
+ "@gh:bootandy/dust": {
113
+ "names": [
114
+ "dust"
115
+ ],
116
+ "patterns": {
117
+ "linux/aarch64": "dust-{tag}-aarch64-unknown-linux-musl.tar.gz",
118
+ "linux/x86_64": "dust-{tag}-x86_64-unknown-linux-musl.tar.gz",
119
+ "macos/aarch64": "dust-{tag}-aarch64-unknown-linux-musl.tar.gz",
120
+ "macos/x86_64": "dust-{tag}-x86_64-apple-darwin.tar.gz"
121
+ }
122
+ },
123
+ "@gh:casey/just": {
124
+ "names": [
125
+ "just"
126
+ ],
127
+ "patterns": {
128
+ "linux/aarch64": "just-{tag}-aarch64-unknown-linux-musl.tar.gz",
129
+ "linux/x86_64": "just-{tag}-x86_64-unknown-linux-musl.tar.gz",
130
+ "macos/aarch64": "just-{tag}-aarch64-apple-darwin.tar.gz",
131
+ "macos/x86_64": "just-{tag}-x86_64-apple-darwin.tar.gz"
132
+ }
133
+ },
134
+ "@gh:charmbracelet/glow": {
135
+ "names": [
136
+ "glow"
137
+ ],
138
+ "patterns": {
139
+ "linux/aarch64": "glow_{version}_Linux_arm64.tar.gz",
140
+ "linux/x86_64": "glow_{version}_Linux_x86_64.tar.gz",
141
+ "macos/aarch64": "glow_{version}_Darwin_arm64.tar.gz",
142
+ "macos/x86_64": "glow_{version}_Darwin_x86_64.tar.gz"
143
+ }
144
+ },
145
+ "@gh:charmbracelet/gum": {
146
+ "names": [
147
+ "gum"
148
+ ],
149
+ "patterns": {
150
+ "linux/aarch64": "gum_{version}_Linux_arm64.tar.gz",
151
+ "linux/x86_64": "gum_{version}_Linux_x86_64.tar.gz",
152
+ "macos/aarch64": "gum_{version}_Darwin_arm64.tar.gz",
153
+ "macos/x86_64": "gum_{version}_Darwin_x86_64.tar.gz"
154
+ }
155
+ },
156
+ "@gh:chmln/sd": {
157
+ "names": [
158
+ "sd"
159
+ ],
160
+ "patterns": {
161
+ "linux/aarch64": "sd-{tag}-aarch64-unknown-linux-musl.tar.gz",
162
+ "linux/x86_64": "sd-{tag}-x86_64-unknown-linux-musl.tar.gz",
163
+ "macos/aarch64": "sd-{tag}-aarch64-apple-darwin.tar.gz",
164
+ "macos/x86_64": "sd-{tag}-x86_64-apple-darwin.tar.gz"
165
+ }
166
+ },
167
+ "@gh:cli/cli": {
168
+ "names": [
169
+ "gh"
170
+ ],
171
+ "patterns": {
172
+ "linux/aarch64": "gh_{version}_linux_arm64.tar.gz",
173
+ "linux/x86_64": "gh_{version}_linux_amd64.tar.gz",
174
+ "macos/aarch64": "gh_{version}_macOS_arm64.zip",
175
+ "macos/x86_64": "gh_{version}_macOS_amd64.zip"
176
+ }
177
+ },
178
+ "@gh:crate-ci/typos": {
179
+ "names": [
180
+ "typos"
181
+ ],
182
+ "patterns": {
183
+ "linux/aarch64": "typos-{tag}-aarch64-unknown-linux-musl.tar.gz",
184
+ "linux/x86_64": "typos-{tag}-x86_64-unknown-linux-musl.tar.gz",
185
+ "macos/aarch64": "typos-{tag}-aarch64-apple-darwin.tar.gz",
186
+ "macos/x86_64": "typos-{tag}-x86_64-apple-darwin.tar.gz"
187
+ }
188
+ },
189
+ "@gh:dalance/procs": {
190
+ "names": [
191
+ "procs"
192
+ ],
193
+ "patterns": {
194
+ "linux/aarch64": "procs-{tag}-aarch64-linux.zip",
195
+ "linux/x86_64": "procs-{tag}-x86_64-linux.zip",
196
+ "macos/aarch64": "procs-{tag}-aarch64-mac.zip",
197
+ "macos/x86_64": "procs-{tag}-x86_64-mac.zip"
198
+ }
199
+ },
200
+ "@gh:dandavison/delta": {
201
+ "names": [
202
+ "delta"
203
+ ],
204
+ "patterns": {
205
+ "linux/aarch64": "delta-{tag}-aarch64-unknown-linux-gnu.tar.gz",
206
+ "linux/x86_64": "delta-{tag}-x86_64-unknown-linux-musl.tar.gz",
207
+ "macos/aarch64": "delta-{tag}-aarch64-apple-darwin.tar.gz",
208
+ "macos/x86_64": "delta-{tag}-x86_64-unknown-linux-musl.tar.gz"
209
+ }
210
+ },
211
+ "@gh:derailed/k9s": {
212
+ "names": [
213
+ "k9s"
214
+ ],
215
+ "patterns": {
216
+ "linux/aarch64": "k9s_Linux_arm64.tar.gz",
217
+ "linux/x86_64": "k9s_Linux_amd64.tar.gz",
218
+ "macos/aarch64": "k9s_Darwin_arm64.tar.gz",
219
+ "macos/x86_64": "k9s_Darwin_amd64.tar.gz"
220
+ }
221
+ },
222
+ "@gh:ducaale/xh": {
223
+ "names": [
224
+ "xh"
225
+ ],
226
+ "patterns": {
227
+ "linux/aarch64": "xh-{tag}-aarch64-unknown-linux-musl.tar.gz",
228
+ "linux/x86_64": "xh-{tag}-x86_64-unknown-linux-musl.tar.gz",
229
+ "macos/aarch64": "xh-{tag}-aarch64-apple-darwin.tar.gz",
230
+ "macos/x86_64": "xh-{tag}-x86_64-apple-darwin.tar.gz"
231
+ }
232
+ },
233
+ "@gh:extrawurst/gitui": {
234
+ "names": [
235
+ "gitui"
236
+ ],
237
+ "patterns": {
238
+ "linux/aarch64": "gitui-linux-aarch64.tar.gz",
239
+ "linux/x86_64": "gitui-linux-x86_64.tar.gz",
240
+ "macos/aarch64": "gitui-linux-aarch64.tar.gz",
241
+ "macos/x86_64": "gitui-linux-x86_64.tar.gz"
242
+ }
243
+ },
244
+ "@gh:eza-community/eza": {
245
+ "names": [
246
+ "eza"
247
+ ],
248
+ "patterns": {
249
+ "linux/aarch64": "eza_aarch64-unknown-linux-gnu.tar.gz",
250
+ "linux/x86_64": "eza_x86_64-unknown-linux-musl.tar.gz",
251
+ "macos/aarch64": "eza_aarch64-unknown-linux-gnu.tar.gz",
252
+ "macos/x86_64": "eza_x86_64-unknown-linux-musl.tar.gz"
253
+ }
254
+ },
255
+ "@gh:gitleaks/gitleaks": {
256
+ "names": [
257
+ "gitleaks"
258
+ ],
259
+ "patterns": {
260
+ "linux/aarch64": "gitleaks_{version}_linux_arm64.tar.gz",
261
+ "linux/x86_64": "gitleaks_{version}_linux_x64.tar.gz",
262
+ "macos/aarch64": "gitleaks_{version}_darwin_arm64.tar.gz",
263
+ "macos/x86_64": "gitleaks_{version}_darwin_x64.tar.gz"
264
+ }
265
+ },
266
+ "@gh:go-task/task": {
267
+ "names": [
268
+ "task"
269
+ ],
270
+ "patterns": {
271
+ "linux/aarch64": "task_linux_arm64.tar.gz",
272
+ "linux/x86_64": "task_linux_amd64.tar.gz",
273
+ "macos/aarch64": "task_darwin_arm64.tar.gz",
274
+ "macos/x86_64": "task_darwin_amd64.tar.gz"
275
+ }
276
+ },
277
+ "@gh:helix-editor/helix": {
278
+ "names": [
279
+ "helix"
280
+ ],
281
+ "patterns": {
282
+ "linux/aarch64": "helix-{tag}-aarch64-linux.tar.xz",
283
+ "linux/x86_64": "helix-{tag}-x86_64-linux.tar.xz",
284
+ "macos/aarch64": "helix-{tag}-aarch64-macos.tar.xz",
285
+ "macos/x86_64": "helix-{tag}-x86_64-macos.tar.xz"
286
+ }
287
+ },
288
+ "@gh:jdx/mise": {
289
+ "names": [
290
+ "mise"
291
+ ],
292
+ "patterns": {
293
+ "linux/aarch64": "mise-{tag}-linux-arm64-musl.tar.gz",
294
+ "linux/x86_64": "mise-{tag}-linux-x64-musl.tar.gz",
295
+ "macos/aarch64": "mise-{tag}-macos-arm64.tar.gz",
296
+ "macos/x86_64": "mise-{tag}-macos-x64.tar.gz"
297
+ }
298
+ },
299
+ "@gh:jesseduffield/lazydocker": {
300
+ "names": [
301
+ "lazydocker"
302
+ ],
303
+ "patterns": {
304
+ "linux/aarch64": "lazydocker_{version}_Linux_arm64.tar.gz",
305
+ "linux/x86_64": "lazydocker_{version}_Linux_x86_64.tar.gz",
306
+ "macos/aarch64": "lazydocker_{version}_Darwin_arm64.tar.gz",
307
+ "macos/x86_64": "lazydocker_{version}_Darwin_x86_64.tar.gz"
308
+ }
309
+ },
310
+ "@gh:jesseduffield/lazygit": {
311
+ "names": [
312
+ "lazygit"
313
+ ],
314
+ "patterns": {
315
+ "linux/aarch64": "lazygit_{version}_linux_arm64.tar.gz",
316
+ "linux/x86_64": "lazygit_{version}_linux_x86_64.tar.gz",
317
+ "macos/aarch64": "lazygit_{version}_darwin_arm64.tar.gz",
318
+ "macos/x86_64": "lazygit_{version}_darwin_x86_64.tar.gz"
319
+ }
320
+ },
321
+ "@gh:jj-vcs/jj": {
322
+ "names": [
323
+ "jj"
324
+ ],
325
+ "patterns": {
326
+ "linux/aarch64": "jj-{tag}-aarch64-unknown-linux-musl.tar.gz",
327
+ "linux/x86_64": "jj-{tag}-x86_64-unknown-linux-musl.tar.gz",
328
+ "macos/aarch64": "jj-{tag}-aarch64-apple-darwin.tar.gz",
329
+ "macos/x86_64": "jj-{tag}-x86_64-apple-darwin.tar.gz"
330
+ }
331
+ },
332
+ "@gh:jqlang/jq": {
333
+ "names": [
334
+ "jq"
335
+ ],
336
+ "patterns": {
337
+ "linux/aarch64": "jq-linux-arm64",
338
+ "linux/x86_64": "jq-linux-amd64",
339
+ "macos/aarch64": "jq-macos-arm64",
340
+ "macos/x86_64": "jq-osx-amd64"
341
+ }
342
+ },
343
+ "@gh:junegunn/fzf": {
344
+ "names": [
345
+ "fzf"
346
+ ],
347
+ "patterns": {
348
+ "linux/aarch64": "fzf-{version}-linux_arm64.tar.gz",
349
+ "linux/x86_64": "fzf-{version}-linux_amd64.tar.gz",
350
+ "macos/aarch64": "fzf-{version}-darwin_arm64.tar.gz",
351
+ "macos/x86_64": "fzf-{version}-darwin_amd64.tar.gz"
352
+ }
353
+ },
354
+ "@gh:koalaman/shellcheck": {
355
+ "names": [
356
+ "shellcheck"
357
+ ],
358
+ "patterns": {
359
+ "linux/aarch64": "shellcheck-{tag}.linux.aarch64.tar.gz",
360
+ "linux/x86_64": "shellcheck-{tag}.linux.x86_64.tar.gz",
361
+ "macos/aarch64": "shellcheck-{tag}.darwin.aarch64.tar.gz",
362
+ "macos/x86_64": "shellcheck-{tag}.darwin.x86_64.tar.gz"
363
+ }
364
+ },
365
+ "@gh:lsd-rs/lsd": {
366
+ "names": [
367
+ "lsd"
368
+ ],
369
+ "patterns": {
370
+ "linux/aarch64": "lsd-{tag}-aarch64-unknown-linux-musl.tar.gz",
371
+ "linux/x86_64": "lsd-{tag}-x86_64-unknown-linux-musl.tar.gz",
372
+ "macos/aarch64": "lsd-{tag}-aarch64-apple-darwin.tar.gz",
373
+ "macos/x86_64": "lsd-{tag}-x86_64-apple-darwin.tar.gz"
374
+ }
375
+ },
376
+ "@gh:mikefarah/yq": {
377
+ "names": [
378
+ "yq"
379
+ ],
380
+ "patterns": {
381
+ "linux/aarch64": "yq_linux_arm64.tar.gz",
382
+ "linux/x86_64": "yq_linux_amd64.tar.gz",
383
+ "macos/aarch64": "yq_darwin_arm64.tar.gz",
384
+ "macos/x86_64": "yq_darwin_amd64.tar.gz"
385
+ }
386
+ },
387
+ "@gh:muesli/duf": {
388
+ "names": [
389
+ "duf"
390
+ ],
391
+ "patterns": {
392
+ "linux/aarch64": "duf_{version}_linux_arm64.tar.gz",
393
+ "linux/x86_64": "duf_{version}_linux_x86_64.tar.gz",
394
+ "macos/aarch64": "duf_{version}_darwin_arm64.tar.gz",
395
+ "macos/x86_64": "duf_{version}_darwin_x86_64.tar.gz"
396
+ }
397
+ },
398
+ "@gh:nushell/nushell": {
399
+ "names": [
400
+ "nushell"
401
+ ],
402
+ "patterns": {
403
+ "linux/aarch64": "nu-{tag}-aarch64-unknown-linux-musl.tar.gz",
404
+ "linux/x86_64": "nu-{tag}-x86_64-unknown-linux-musl.tar.gz",
405
+ "macos/aarch64": "nu-{tag}-aarch64-apple-darwin.tar.gz",
406
+ "macos/x86_64": "nu-{tag}-x86_64-apple-darwin.tar.gz"
407
+ }
408
+ },
409
+ "@gh:orhun/git-cliff": {
410
+ "names": [
411
+ "git-cliff"
412
+ ],
413
+ "patterns": {
414
+ "linux/aarch64": "git-cliff-{version}-aarch64-unknown-linux-musl.tar.gz",
415
+ "linux/x86_64": "git-cliff-{version}-x86_64-unknown-linux-musl.tar.gz",
416
+ "macos/aarch64": "git-cliff-{version}-aarch64-apple-darwin.tar.gz",
417
+ "macos/x86_64": "git-cliff-{version}-x86_64-apple-darwin.tar.gz"
418
+ }
419
+ },
420
+ "@gh:pytgaen/fimod": {
421
+ "names": [
422
+ "fimod"
423
+ ],
424
+ "patterns": {
425
+ "linux/aarch64": "fimod-{tag}-aarch64-unknown-linux-musl.tar.gz",
426
+ "linux/x86_64": "fimod-{tag}-x86_64-unknown-linux-musl.tar.gz",
427
+ "macos/aarch64": "fimod-{tag}-aarch64-apple-darwin.tar.gz",
428
+ "macos/x86_64": "fimod-{tag}-x86_64-unknown-linux-musl.tar.gz"
429
+ }
430
+ },
431
+ "@gh:rclone/rclone": {
432
+ "names": [
433
+ "rclone"
434
+ ],
435
+ "patterns": {
436
+ "linux/aarch64": "rclone-{tag}-linux-arm64.zip",
437
+ "linux/x86_64": "rclone-{tag}-linux-amd64.zip",
438
+ "macos/aarch64": "rclone-{tag}-osx-arm64.zip",
439
+ "macos/x86_64": "rclone-{tag}-osx-amd64.zip"
440
+ }
441
+ },
442
+ "@gh:sharkdp/bat": {
443
+ "names": [
444
+ "bat"
445
+ ],
446
+ "patterns": {
447
+ "linux/aarch64": "bat-{tag}-aarch64-unknown-linux-musl.tar.gz",
448
+ "linux/x86_64": "bat-{tag}-x86_64-unknown-linux-musl.tar.gz",
449
+ "macos/aarch64": "bat-{tag}-aarch64-apple-darwin.tar.gz",
450
+ "macos/x86_64": "bat-{tag}-x86_64-apple-darwin.tar.gz"
451
+ }
452
+ },
453
+ "@gh:sharkdp/fd": {
454
+ "names": [
455
+ "fd"
456
+ ],
457
+ "patterns": {
458
+ "linux/aarch64": "fd-{tag}-aarch64-unknown-linux-musl.tar.gz",
459
+ "linux/x86_64": "fd-{tag}-x86_64-unknown-linux-musl.tar.gz",
460
+ "macos/aarch64": "fd-{tag}-aarch64-apple-darwin.tar.gz",
461
+ "macos/x86_64": "fd-{tag}-x86_64-unknown-linux-musl.tar.gz"
462
+ }
463
+ },
464
+ "@gh:sharkdp/hexyl": {
465
+ "names": [
466
+ "hexyl"
467
+ ],
468
+ "patterns": {
469
+ "linux/aarch64": "hexyl-{tag}-aarch64-unknown-linux-gnu.tar.gz",
470
+ "linux/x86_64": "hexyl-{tag}-x86_64-unknown-linux-musl.tar.gz",
471
+ "macos/aarch64": "hexyl-{tag}-aarch64-apple-darwin.tar.gz",
472
+ "macos/x86_64": "hexyl-{tag}-x86_64-apple-darwin.tar.gz"
473
+ }
474
+ },
475
+ "@gh:sharkdp/hyperfine": {
476
+ "names": [
477
+ "hyperfine"
478
+ ],
479
+ "patterns": {
480
+ "linux/aarch64": "hyperfine-{tag}-aarch64-unknown-linux-gnu.tar.gz",
481
+ "linux/x86_64": "hyperfine-{tag}-x86_64-unknown-linux-musl.tar.gz",
482
+ "macos/aarch64": "hyperfine-{tag}-aarch64-apple-darwin.tar.gz",
483
+ "macos/x86_64": "hyperfine-{tag}-x86_64-apple-darwin.tar.gz"
484
+ }
485
+ },
486
+ "@gh:starship/starship": {
487
+ "names": [
488
+ "starship"
489
+ ],
490
+ "patterns": {
491
+ "linux/aarch64": "starship-aarch64-unknown-linux-musl.tar.gz",
492
+ "linux/x86_64": "starship-x86_64-unknown-linux-musl.tar.gz",
493
+ "macos/aarch64": "starship-aarch64-apple-darwin.tar.gz",
494
+ "macos/x86_64": "starship-x86_64-apple-darwin.tar.gz"
495
+ }
496
+ },
497
+ "@gh:sxyazi/yazi": {
498
+ "names": [
499
+ "yazi"
500
+ ],
501
+ "patterns": {
502
+ "linux/aarch64": "yazi-aarch64-unknown-linux-musl.zip",
503
+ "linux/x86_64": "yazi-x86_64-unknown-linux-musl.zip",
504
+ "macos/aarch64": "yazi-aarch64-apple-darwin.zip",
505
+ "macos/x86_64": "yazi-x86_64-apple-darwin.zip"
506
+ }
507
+ },
508
+ "@gh:tealdeer-rs/tealdeer": {
509
+ "names": [
510
+ "tealdeer"
511
+ ],
512
+ "patterns": {
513
+ "linux/aarch64": "tealdeer-linux-aarch64-musl",
514
+ "linux/x86_64": "tealdeer-linux-x86_64-musl",
515
+ "macos/aarch64": "tealdeer-macos-aarch64",
516
+ "macos/x86_64": "tealdeer-macos-x86_64"
517
+ }
518
+ },
519
+ "@gh:tstack/lnav": {
520
+ "names": [
521
+ "lnav"
522
+ ],
523
+ "patterns": {
524
+ "linux/aarch64": "lnav-{version}-linux-musl-arm64.zip",
525
+ "linux/x86_64": "lnav-{version}-linux-musl-x86_64.zip",
526
+ "macos/aarch64": "lnav-{version}-aarch64-macos.zip",
527
+ "macos/x86_64": "lnav-{version}-linux-musl-x86_64.zip"
528
+ }
529
+ },
530
+ "@gh:twpayne/chezmoi": {
531
+ "names": [
532
+ "chezmoi"
533
+ ],
534
+ "patterns": {
535
+ "linux/aarch64": "chezmoi_{version}_linux_arm64.tar.gz",
536
+ "linux/x86_64": "chezmoi_{version}_linux_amd64.tar.gz",
537
+ "macos/aarch64": "chezmoi_{version}_darwin_arm64.tar.gz",
538
+ "macos/x86_64": "chezmoi_{version}_darwin_amd64.tar.gz"
539
+ }
540
+ },
541
+ "@gh:wagoodman/dive": {
542
+ "names": [
543
+ "dive"
544
+ ],
545
+ "patterns": {
546
+ "linux/aarch64": "dive_{version}_linux_arm64.tar.gz",
547
+ "linux/x86_64": "dive_{version}_linux_amd64.tar.gz",
548
+ "macos/aarch64": "dive_{version}_darwin_arm64.tar.gz",
549
+ "macos/x86_64": "dive_{version}_darwin_amd64.tar.gz"
550
+ }
551
+ },
552
+ "@gh:watchexec/watchexec": {
553
+ "names": [
554
+ "watchexec"
555
+ ],
556
+ "patterns": {
557
+ "linux/aarch64": "watchexec-{version}-aarch64-unknown-linux-musl.tar.xz",
558
+ "linux/x86_64": "watchexec-{version}-x86_64-unknown-linux-musl.tar.xz",
559
+ "macos/aarch64": "watchexec-{version}-aarch64-apple-darwin.tar.xz",
560
+ "macos/x86_64": "watchexec-{version}-x86_64-apple-darwin.tar.xz"
561
+ }
562
+ },
563
+ "@gh:zellij-org/zellij": {
564
+ "names": [
565
+ "zellij"
566
+ ],
567
+ "patterns": {
568
+ "linux/aarch64": "zellij-aarch64-unknown-linux-musl.tar.gz",
569
+ "linux/x86_64": "zellij-x86_64-unknown-linux-musl.tar.gz",
570
+ "macos/aarch64": "zellij-aarch64-apple-darwin.tar.gz",
571
+ "macos/x86_64": "zellij-x86_64-apple-darwin.tar.gz"
572
+ }
573
+ }
574
+ }
@@ -0,0 +1,98 @@
1
+ # heuristics.toml — Asset selection rules for binary backend
2
+ #
3
+ # Embedded defaults. User can override in $IXT_HOME/config/heuristics.toml.
4
+ # Case-insensitive matching throughout.
5
+
6
+ # -- OS aliases ----------------------------------------------------------------
7
+ # Each key is the canonical name; values are substrings to match in asset names.
8
+
9
+ [os]
10
+ linux = ["linux"]
11
+ macos = ["darwin", "macos", "apple", "osx"]
12
+ windows = ["windows", "win64", "win", "pc-windows"]
13
+
14
+ # -- Arch aliases --------------------------------------------------------------
15
+
16
+ [arch]
17
+ x86_64 = ["x86_64", "amd64", "x64", "64bit"]
18
+ aarch64 = ["aarch64", "arm64"]
19
+ armv7 = ["armv7", "armhf", "arm32"]
20
+ i686 = ["i686", "i386", "x86", "32bit"]
21
+
22
+ # -- Generic patterns ----------------------------------------------------------
23
+ # Tried in order (first match wins).
24
+ # Templates: {name}, {os}, {arch}, {version} Wildcard: * (fnmatch)
25
+
26
+ [patterns]
27
+ templates = [
28
+ # -- With version ----------------------------------------------------------
29
+
30
+ # Rust cargo-dist: ripgrep-14.1.0-x86_64-unknown-linux-musl.tar.gz
31
+ "{name}-{version}-{arch}-*-{os}*",
32
+ "{name}-v{version}-{arch}-*-{os}*",
33
+
34
+ # Rust simplified: wrkflw-v0.7.3-linux-x86_64.tar.gz
35
+ "{name}-v{version}-{os}*-{arch}*",
36
+ "{name}-{version}-{os}*-{arch}*",
37
+
38
+ # Go goreleaser: lazygit_0.44.1_Linux_x86_64.tar.gz
39
+ "{name}_{version}_{os}_{arch}*",
40
+ "{name}_v{version}_{os}_{arch}*",
41
+
42
+ # Go goreleaser (dash): betterleaks-1.1.1-linux-x64.tar.gz
43
+ "{name}-{version}-{os}-{arch}*",
44
+
45
+ # -- Without version -------------------------------------------------------
46
+
47
+ # Rust: difft-x86_64-unknown-linux-gnu.tar.gz
48
+ "{name}-{arch}-*-{os}*",
49
+
50
+ # Go: task_linux_amd64.tar.gz
51
+ "{name}_{os}_{arch}*",
52
+
53
+ # Dash: tool-linux-amd64.tar.gz
54
+ "{name}-{os}-{arch}*",
55
+
56
+ # -- Bare binary (no archive extension) ------------------------------------
57
+
58
+ # Go bare: shfmt_v3.13.0_linux_amd64
59
+ "{name}_v{version}_{os}_{arch}",
60
+ "{name}_{version}_{os}_{arch}",
61
+ "{name}_{os}_{arch}",
62
+
63
+ # Dash bare: jq-linux-amd64
64
+ "{name}-{os}-{arch}",
65
+ ]
66
+
67
+ # -- Scoring -------------------------------------------------------------------
68
+
69
+ [scoring]
70
+ prefer = ["musl", "static", "gnu"]
71
+ avoid = ["android", "debug", "freebsd", "openbsd", "netbsd",
72
+ "no_libgit", "s390x", "ppc64", "mips", "riscv",
73
+ "src", "source"]
74
+ skip_ext = [".deb", ".rpm", ".msi", ".pkg", ".dmg", ".apk",
75
+ ".sha256", ".sha512", ".sig", ".asc", ".sbom",
76
+ ".json", ".txt", ".md", ".1", ".md5"]
77
+ archive_ext = [".tar.gz", ".tar.xz", ".tar.bz2", ".tgz", ".txz", ".zip"]
78
+ archive_priority = [".tar.gz", ".tar.xz", ".zip"]
79
+
80
+ # -- Name normalisation --------------------------------------------------------
81
+ # Stripped only when they appear as final separator-delimited tokens in binary
82
+ # asset/executable names, e.g. envx-linux-amd64-static -> envx.
83
+
84
+ [names]
85
+ strip_suffix_tokens = ["unknown", "musl", "gnu", "static"]
86
+
87
+ # -- Expose filters ------------------------------------------------------------
88
+ # Used by auto-expose to skip non-executable files after extraction.
89
+
90
+ [expose]
91
+ skip_names = ["python", "python3", "pip", "node", "npm", "bun"]
92
+ skip_patterns = ["_*", "*.md", "*.txt", "*.1", "*.sh", "*.bash", "*.zsh", "*.fish",
93
+ "*.so", "*.dylib", "*.dll", "*.a", "*.lib",
94
+ "*.toml", "*.yaml", "*.yml", "*.json", "*.cfg",
95
+ "*.service"]
96
+ skip_keywords = ["LICENSE", "README", "CHANGELOG", "NOTICE", "COPYING",
97
+ "completion", "completions", "autocomplete", "man",
98
+ "dist-manifest"]