rubik 0.1.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.
Files changed (523) hide show
  1. checksums.yaml +7 -0
  2. data/ATTRIBUTION.md +139 -0
  3. data/CHANGELOG.md +236 -0
  4. data/LICENSE +21 -0
  5. data/README.md +269 -0
  6. data/bin/rubik +82 -0
  7. data/lib/rubik/adapter/base.rb +195 -0
  8. data/lib/rubik/adapter/c.rb +36 -0
  9. data/lib/rubik/adapter/crystal.rb +78 -0
  10. data/lib/rubik/adapter/generic.rb +86 -0
  11. data/lib/rubik/adapter/go.rb +36 -0
  12. data/lib/rubik/adapter/node.rb +146 -0
  13. data/lib/rubik/adapter/process.rb +78 -0
  14. data/lib/rubik/adapter/python.rb +30 -0
  15. data/lib/rubik/adapter/registry.rb +81 -0
  16. data/lib/rubik/adapter/ruby.rb +30 -0
  17. data/lib/rubik/adapter/rust.rb +36 -0
  18. data/lib/rubik/adapter/zig.rb +36 -0
  19. data/lib/rubik/adapter.rb +18 -0
  20. data/lib/rubik/ast/body_loader.rb +19 -0
  21. data/lib/rubik/ast/c_extractor.rb +114 -0
  22. data/lib/rubik/ast/cache_store.rb +191 -0
  23. data/lib/rubik/ast/extractor.rb +59 -0
  24. data/lib/rubik/ast/fallback_cleaner.rb +145 -0
  25. data/lib/rubik/ast/go_extractor.rb +148 -0
  26. data/lib/rubik/ast/graph.rb +272 -0
  27. data/lib/rubik/ast/python_extractor.rb +120 -0
  28. data/lib/rubik/ast/ruby_extractor.rb +260 -0
  29. data/lib/rubik/ast/rust_extractor.rb +127 -0
  30. data/lib/rubik/ast/symbol.rb +103 -0
  31. data/lib/rubik/ast/treesitter/base_walker.rb +109 -0
  32. data/lib/rubik/ast/treesitter/c_walker.rb +122 -0
  33. data/lib/rubik/ast/treesitter/go_walker.rb +120 -0
  34. data/lib/rubik/ast/treesitter/python_walker.rb +107 -0
  35. data/lib/rubik/ast/treesitter/rust_walker.rb +130 -0
  36. data/lib/rubik/ast/treesitter/typescript_walker.rb +182 -0
  37. data/lib/rubik/ast/treesitter/zig_walker.rb +109 -0
  38. data/lib/rubik/ast/treesitter_extractor.rb +93 -0
  39. data/lib/rubik/ast/typescript_extractor.rb +283 -0
  40. data/lib/rubik/ast/zig_extractor.rb +116 -0
  41. data/lib/rubik/ast.rb +13 -0
  42. data/lib/rubik/benchmark/runner.rb +224 -0
  43. data/lib/rubik/benchmark/synth_repo.rb +59 -0
  44. data/lib/rubik/benchmark.rb +9 -0
  45. data/lib/rubik/buffer/diff.rb +43 -0
  46. data/lib/rubik/buffer/manager.rb +427 -0
  47. data/lib/rubik/buffer/path_validator.rb +60 -0
  48. data/lib/rubik/buffer/snapshot.rb +99 -0
  49. data/lib/rubik/buffer.rb +10 -0
  50. data/lib/rubik/coeffects.rb +129 -0
  51. data/lib/rubik/concurrency/boundary.rb +74 -0
  52. data/lib/rubik/concurrency/dns_pool.rb +68 -0
  53. data/lib/rubik/concurrency/errors.rb +17 -0
  54. data/lib/rubik/concurrency/event_loop.rb +441 -0
  55. data/lib/rubik/concurrency/join.rb +55 -0
  56. data/lib/rubik/concurrency/process_waiter.rb +55 -0
  57. data/lib/rubik/concurrency/scheduler.rb +84 -0
  58. data/lib/rubik/concurrency/timers.rb +109 -0
  59. data/lib/rubik/concurrency.rb +132 -0
  60. data/lib/rubik/config/deep_ops.rb +80 -0
  61. data/lib/rubik/config/defaults.rb +248 -0
  62. data/lib/rubik/config/model_catalog.rb +93 -0
  63. data/lib/rubik/config/store.rb +155 -0
  64. data/lib/rubik/config.rb +216 -0
  65. data/lib/rubik/context/git_info.rb +84 -0
  66. data/lib/rubik/context/git_lister.rb +37 -0
  67. data/lib/rubik/context/index.rb +134 -0
  68. data/lib/rubik/context/repo_context_reader.rb +121 -0
  69. data/lib/rubik/context/scanner.rb +439 -0
  70. data/lib/rubik/context.rb +11 -0
  71. data/lib/rubik/diagnostics/collector.rb +200 -0
  72. data/lib/rubik/diagnostics/entry.rb +60 -0
  73. data/lib/rubik/diagnostics/parser.rb +107 -0
  74. data/lib/rubik/diagnostics.rb +10 -0
  75. data/lib/rubik/event_bus.rb +56 -0
  76. data/lib/rubik/kernel/dispatcher.rb +171 -0
  77. data/lib/rubik/kernel/dmesg.rb +116 -0
  78. data/lib/rubik/kernel/init.rb +177 -0
  79. data/lib/rubik/kernel/record.rb +85 -0
  80. data/lib/rubik/kernel/unit.rb +160 -0
  81. data/lib/rubik/llm/anthropic.rb +202 -0
  82. data/lib/rubik/llm/chunk_assembler.rb +285 -0
  83. data/lib/rubik/llm/client.rb +526 -0
  84. data/lib/rubik/llm/formatter.rb +450 -0
  85. data/lib/rubik/llm/message_sanitizer.rb +87 -0
  86. data/lib/rubik/llm/ollama.rb +167 -0
  87. data/lib/rubik/llm/openai.rb +21 -0
  88. data/lib/rubik/llm/openai_compatible.rb +216 -0
  89. data/lib/rubik/llm/provider.rb +125 -0
  90. data/lib/rubik/llm/registry.rb +336 -0
  91. data/lib/rubik/llm/router.rb +100 -0
  92. data/lib/rubik/llm.rb +18 -0
  93. data/lib/rubik/log.rb +38 -0
  94. data/lib/rubik/lsp/client.rb +475 -0
  95. data/lib/rubik/lsp/manager.rb +366 -0
  96. data/lib/rubik/lsp.rb +9 -0
  97. data/lib/rubik/mcp/boot_lifecycle.rb +114 -0
  98. data/lib/rubik/mcp/client.rb +169 -0
  99. data/lib/rubik/mcp/errors.rb +11 -0
  100. data/lib/rubik/mcp/manager.rb +619 -0
  101. data/lib/rubik/mcp/proxy_tool.rb +104 -0
  102. data/lib/rubik/mcp/transport/stdio.rb +255 -0
  103. data/lib/rubik/mcp.rb +12 -0
  104. data/lib/rubik/orchestrator/activity_log.rb +75 -0
  105. data/lib/rubik/orchestrator/auto_apply.rb +166 -0
  106. data/lib/rubik/orchestrator/budget_manager.rb +97 -0
  107. data/lib/rubik/orchestrator/continuation_manager.rb +161 -0
  108. data/lib/rubik/orchestrator/finish_message_selector.rb +55 -0
  109. data/lib/rubik/orchestrator/goal_ledger/drift.rb +71 -0
  110. data/lib/rubik/orchestrator/goal_ledger/ledger.rb +399 -0
  111. data/lib/rubik/orchestrator/goal_ledger/observation_projection.rb +179 -0
  112. data/lib/rubik/orchestrator/goal_ledger/patch.rb +268 -0
  113. data/lib/rubik/orchestrator/goal_ledger/schema.rb +123 -0
  114. data/lib/rubik/orchestrator/goal_ledger/validator.rb +361 -0
  115. data/lib/rubik/orchestrator/goal_ledger/verifier.rb +129 -0
  116. data/lib/rubik/orchestrator/goal_ledger/verify_spec.rb +50 -0
  117. data/lib/rubik/orchestrator/goal_ledger.rb +65 -0
  118. data/lib/rubik/orchestrator/goal_state.rb +184 -0
  119. data/lib/rubik/orchestrator/goal_wait.rb +125 -0
  120. data/lib/rubik/orchestrator/loop.rb +388 -0
  121. data/lib/rubik/orchestrator/lsp_feedback.rb +55 -0
  122. data/lib/rubik/orchestrator/maestro_gate.rb +65 -0
  123. data/lib/rubik/orchestrator/provider_recovery.rb +90 -0
  124. data/lib/rubik/orchestrator/provider_resolver.rb +69 -0
  125. data/lib/rubik/orchestrator/shell_deps.rb +85 -0
  126. data/lib/rubik/orchestrator/step_executor.rb +328 -0
  127. data/lib/rubik/orchestrator/stream_manager.rb +118 -0
  128. data/lib/rubik/orchestrator/subagent/activation.rb +65 -0
  129. data/lib/rubik/orchestrator/subagent/budget.rb +108 -0
  130. data/lib/rubik/orchestrator/subagent/completion.rb +61 -0
  131. data/lib/rubik/orchestrator/subagent/concurrency_gate.rb +37 -0
  132. data/lib/rubik/orchestrator/subagent/conversation_id.rb +67 -0
  133. data/lib/rubik/orchestrator/subagent/dependency.rb +398 -0
  134. data/lib/rubik/orchestrator/subagent/instance.rb +384 -0
  135. data/lib/rubik/orchestrator/subagent/lifecycle.rb +118 -0
  136. data/lib/rubik/orchestrator/subagent/messaging.rb +61 -0
  137. data/lib/rubik/orchestrator/subagent/narration.rb +125 -0
  138. data/lib/rubik/orchestrator/subagent/notices.rb +209 -0
  139. data/lib/rubik/orchestrator/subagent/questioner.rb +80 -0
  140. data/lib/rubik/orchestrator/subagent/reaper.rb +98 -0
  141. data/lib/rubik/orchestrator/subagent/resilience.rb +70 -0
  142. data/lib/rubik/orchestrator/subagent/reuse.rb +127 -0
  143. data/lib/rubik/orchestrator/subagent/scoped_registry.rb +79 -0
  144. data/lib/rubik/orchestrator/subagent/step_runner.rb +240 -0
  145. data/lib/rubik/orchestrator/subagent/storage_id.rb +26 -0
  146. data/lib/rubik/orchestrator/subagent/supervisor.rb +327 -0
  147. data/lib/rubik/orchestrator/subagent/transcript_formatter.rb +141 -0
  148. data/lib/rubik/orchestrator/subagent/type_registry.rb +199 -0
  149. data/lib/rubik/orchestrator/subagent_notice_inbox.rb +80 -0
  150. data/lib/rubik/orchestrator/tool_call_id.rb +47 -0
  151. data/lib/rubik/orchestrator/tool_circuit_breaker.rb +91 -0
  152. data/lib/rubik/orchestrator/tool_history.rb +39 -0
  153. data/lib/rubik/orchestrator/turn_executor/subagent_channel.rb +102 -0
  154. data/lib/rubik/orchestrator/turn_executor/user_channel.rb +172 -0
  155. data/lib/rubik/orchestrator/turn_executor.rb +376 -0
  156. data/lib/rubik/orchestrator.rb +11 -0
  157. data/lib/rubik/platform/filesystem.rb +64 -0
  158. data/lib/rubik/platform/io_drain.rb +53 -0
  159. data/lib/rubik/platform/path.rb +210 -0
  160. data/lib/rubik/platform/process.rb +38 -0
  161. data/lib/rubik/platform/sanitize.rb +157 -0
  162. data/lib/rubik/platform.rb +113 -0
  163. data/lib/rubik/plugin/dsl.rb +51 -0
  164. data/lib/rubik/plugin/manager.rb +247 -0
  165. data/lib/rubik/plugin/storage.rb +195 -0
  166. data/lib/rubik/plugin.rb +10 -0
  167. data/lib/rubik/prompt/context_builder.rb +377 -0
  168. data/lib/rubik/prompt/context_compactor.rb +326 -0
  169. data/lib/rubik/prompt/conversation_rows.rb +74 -0
  170. data/lib/rubik/prompt/doctrine.rb +160 -0
  171. data/lib/rubik/prompt/emergency_compactor.rb +81 -0
  172. data/lib/rubik/prompt/services.rb +60 -0
  173. data/lib/rubik/prompt/token_estimator.rb +63 -0
  174. data/lib/rubik/prompt/tool_teachings.rb +78 -0
  175. data/lib/rubik/prompt.rb +13 -0
  176. data/lib/rubik/repair/loop.rb +95 -0
  177. data/lib/rubik/repair.rb +8 -0
  178. data/lib/rubik/repl/ast_warmup.rb +129 -0
  179. data/lib/rubik/repl/command_context.rb +214 -0
  180. data/lib/rubik/repl/command_parser.rb +48 -0
  181. data/lib/rubik/repl/commands/agent.rb +30 -0
  182. data/lib/rubik/repl/commands/agent_context.rb +289 -0
  183. data/lib/rubik/repl/commands/agent_execution.rb +342 -0
  184. data/lib/rubik/repl/commands/agent_models.rb +212 -0
  185. data/lib/rubik/repl/commands/agent_providers.rb +232 -0
  186. data/lib/rubik/repl/commands/base.rb +55 -0
  187. data/lib/rubik/repl/commands/buffer.rb +124 -0
  188. data/lib/rubik/repl/commands/dmesg.rb +87 -0
  189. data/lib/rubik/repl/commands/lsp.rb +235 -0
  190. data/lib/rubik/repl/commands/mcp.rb +194 -0
  191. data/lib/rubik/repl/commands/plugins.rb +208 -0
  192. data/lib/rubik/repl/commands/pruner.rb +71 -0
  193. data/lib/rubik/repl/commands/session.rb +183 -0
  194. data/lib/rubik/repl/commands/skills.rb +111 -0
  195. data/lib/rubik/repl/commands/storage.rb +85 -0
  196. data/lib/rubik/repl/commands/subagents.rb +195 -0
  197. data/lib/rubik/repl/commands/system.rb +85 -0
  198. data/lib/rubik/repl/commands/tasks.rb +120 -0
  199. data/lib/rubik/repl/commands/workspace.rb +443 -0
  200. data/lib/rubik/repl/commands.rb +44 -0
  201. data/lib/rubik/repl/composition.rb +32 -0
  202. data/lib/rubik/repl/config_wiring.rb +142 -0
  203. data/lib/rubik/repl/confirmations.rb +56 -0
  204. data/lib/rubik/repl/hooks.rb +47 -0
  205. data/lib/rubik/repl/input_execution.rb +323 -0
  206. data/lib/rubik/repl/input_loop.rb +213 -0
  207. data/lib/rubik/repl/interrupt_handler.rb +217 -0
  208. data/lib/rubik/repl/lifecycle.rb +410 -0
  209. data/lib/rubik/repl/paste_support.rb +88 -0
  210. data/lib/rubik/repl/pending_notice_queue.rb +60 -0
  211. data/lib/rubik/repl/presentation.rb +132 -0
  212. data/lib/rubik/repl/pruner/brief.rb +101 -0
  213. data/lib/rubik/repl/pruner/gate.rb +279 -0
  214. data/lib/rubik/repl/pruner/harness.rb +236 -0
  215. data/lib/rubik/repl/pruner/rules.rb +316 -0
  216. data/lib/rubik/repl/pruner/service.rb +82 -0
  217. data/lib/rubik/repl/pruner.rb +39 -0
  218. data/lib/rubik/repl/service_catalog.rb +374 -0
  219. data/lib/rubik/repl/setup_factories.rb +66 -0
  220. data/lib/rubik/repl/shell.rb +231 -0
  221. data/lib/rubik/repl/step_formatter.rb +324 -0
  222. data/lib/rubik/repl/tee_io.rb +105 -0
  223. data/lib/rubik/repl/terminal_guard.rb +157 -0
  224. data/lib/rubik/repl/turn_recorder.rb +234 -0
  225. data/lib/rubik/repl.rb +14 -0
  226. data/lib/rubik/runtime/ast_service.rb +78 -0
  227. data/lib/rubik/runtime/context.rb +335 -0
  228. data/lib/rubik/runtime/diagnostic_engine.rb +188 -0
  229. data/lib/rubik/runtime/discovery.rb +342 -0
  230. data/lib/rubik/runtime/fiber.rb +142 -0
  231. data/lib/rubik/runtime/fiber_ordering.rb +52 -0
  232. data/lib/rubik/runtime/fiber_retry_gate.rb +84 -0
  233. data/lib/rubik/runtime/index_service.rb +58 -0
  234. data/lib/rubik/runtime/loop_service.rb +73 -0
  235. data/lib/rubik/runtime/manager.rb +241 -0
  236. data/lib/rubik/runtime/overlay_storage.rb +481 -0
  237. data/lib/rubik/runtime/service_definition.rb +54 -0
  238. data/lib/rubik/runtime/service_registration.rb +33 -0
  239. data/lib/rubik/runtime/task_manager.rb +302 -0
  240. data/lib/rubik/runtime.rb +19 -0
  241. data/lib/rubik/sandbox/driver/base.rb +30 -0
  242. data/lib/rubik/sandbox/driver/bubblewrap.rb +111 -0
  243. data/lib/rubik/sandbox/driver/docker.rb +113 -0
  244. data/lib/rubik/sandbox/driver/podman.rb +98 -0
  245. data/lib/rubik/sandbox/driver/process.rb +190 -0
  246. data/lib/rubik/sandbox/driver.rb +91 -0
  247. data/lib/rubik/sandbox/runner.rb +218 -0
  248. data/lib/rubik/sandbox/shell_resolver.rb +178 -0
  249. data/lib/rubik/sandbox.rb +8 -0
  250. data/lib/rubik/security/blocked_guidance.rb +187 -0
  251. data/lib/rubik/security/classifier/classifier.rb +440 -0
  252. data/lib/rubik/security/classifier/commands/agent-browser.yaml +9 -0
  253. data/lib/rubik/security/classifier/commands/apt.yaml +25 -0
  254. data/lib/rubik/security/classifier/commands/awk.yaml +10 -0
  255. data/lib/rubik/security/classifier/commands/basename.yaml +7 -0
  256. data/lib/rubik/security/classifier/commands/bash-classify.yaml +8 -0
  257. data/lib/rubik/security/classifier/commands/bash.yaml +20 -0
  258. data/lib/rubik/security/classifier/commands/black.yaml +12 -0
  259. data/lib/rubik/security/classifier/commands/brew.yaml +31 -0
  260. data/lib/rubik/security/classifier/commands/builtin.yaml +8 -0
  261. data/lib/rubik/security/classifier/commands/cargo.yaml +114 -0
  262. data/lib/rubik/security/classifier/commands/cat.yaml +7 -0
  263. data/lib/rubik/security/classifier/commands/chgrp.yaml +10 -0
  264. data/lib/rubik/security/classifier/commands/chmod.yaml +10 -0
  265. data/lib/rubik/security/classifier/commands/chown.yaml +10 -0
  266. data/lib/rubik/security/classifier/commands/column.yaml +7 -0
  267. data/lib/rubik/security/classifier/commands/comm.yaml +7 -0
  268. data/lib/rubik/security/classifier/commands/command.yaml +12 -0
  269. data/lib/rubik/security/classifier/commands/cp.yaml +7 -0
  270. data/lib/rubik/security/classifier/commands/crystal.yaml +63 -0
  271. data/lib/rubik/security/classifier/commands/curl.yaml +30 -0
  272. data/lib/rubik/security/classifier/commands/cut.yaml +7 -0
  273. data/lib/rubik/security/classifier/commands/date.yaml +10 -0
  274. data/lib/rubik/security/classifier/commands/df.yaml +7 -0
  275. data/lib/rubik/security/classifier/commands/diff.yaml +7 -0
  276. data/lib/rubik/security/classifier/commands/dig.yaml +7 -0
  277. data/lib/rubik/security/classifier/commands/dirname.yaml +7 -0
  278. data/lib/rubik/security/classifier/commands/docker.yaml +177 -0
  279. data/lib/rubik/security/classifier/commands/du.yaml +7 -0
  280. data/lib/rubik/security/classifier/commands/echo.yaml +7 -0
  281. data/lib/rubik/security/classifier/commands/env.yaml +15 -0
  282. data/lib/rubik/security/classifier/commands/eslint.yaml +12 -0
  283. data/lib/rubik/security/classifier/commands/eval.yaml +8 -0
  284. data/lib/rubik/security/classifier/commands/exec.yaml +12 -0
  285. data/lib/rubik/security/classifier/commands/expand.yaml +7 -0
  286. data/lib/rubik/security/classifier/commands/false.yaml +7 -0
  287. data/lib/rubik/security/classifier/commands/file.yaml +7 -0
  288. data/lib/rubik/security/classifier/commands/find.yaml +25 -0
  289. data/lib/rubik/security/classifier/commands/fmt.yaml +7 -0
  290. data/lib/rubik/security/classifier/commands/fold.yaml +7 -0
  291. data/lib/rubik/security/classifier/commands/free.yaml +7 -0
  292. data/lib/rubik/security/classifier/commands/gawk.yaml +10 -0
  293. data/lib/rubik/security/classifier/commands/gcloud.yaml +979 -0
  294. data/lib/rubik/security/classifier/commands/gh.yaml +615 -0
  295. data/lib/rubik/security/classifier/commands/git.yaml +524 -0
  296. data/lib/rubik/security/classifier/commands/glab-discussion.yaml +21 -0
  297. data/lib/rubik/security/classifier/commands/glab.yaml +807 -0
  298. data/lib/rubik/security/classifier/commands/go.yaml +44 -0
  299. data/lib/rubik/security/classifier/commands/gog.yaml +983 -0
  300. data/lib/rubik/security/classifier/commands/gradle.yaml +92 -0
  301. data/lib/rubik/security/classifier/commands/gradlew.yaml +92 -0
  302. data/lib/rubik/security/classifier/commands/grep.yaml +7 -0
  303. data/lib/rubik/security/classifier/commands/groups.yaml +7 -0
  304. data/lib/rubik/security/classifier/commands/gunzip.yaml +8 -0
  305. data/lib/rubik/security/classifier/commands/gws.yaml +211 -0
  306. data/lib/rubik/security/classifier/commands/gzip.yaml +7 -0
  307. data/lib/rubik/security/classifier/commands/hadolint.yaml +9 -0
  308. data/lib/rubik/security/classifier/commands/halt.yaml +8 -0
  309. data/lib/rubik/security/classifier/commands/head.yaml +7 -0
  310. data/lib/rubik/security/classifier/commands/helm.yaml +129 -0
  311. data/lib/rubik/security/classifier/commands/hostname.yaml +7 -0
  312. data/lib/rubik/security/classifier/commands/id.yaml +7 -0
  313. data/lib/rubik/security/classifier/commands/install.yaml +7 -0
  314. data/lib/rubik/security/classifier/commands/isort.yaml +14 -0
  315. data/lib/rubik/security/classifier/commands/java.yaml +35 -0
  316. data/lib/rubik/security/classifier/commands/javac.yaml +39 -0
  317. data/lib/rubik/security/classifier/commands/join.yaml +7 -0
  318. data/lib/rubik/security/classifier/commands/journalctl.yaml +14 -0
  319. data/lib/rubik/security/classifier/commands/jq.yaml +7 -0
  320. data/lib/rubik/security/classifier/commands/kill.yaml +7 -0
  321. data/lib/rubik/security/classifier/commands/killall.yaml +7 -0
  322. data/lib/rubik/security/classifier/commands/kubectl.yaml +211 -0
  323. data/lib/rubik/security/classifier/commands/less.yaml +7 -0
  324. data/lib/rubik/security/classifier/commands/ln.yaml +7 -0
  325. data/lib/rubik/security/classifier/commands/ls.yaml +7 -0
  326. data/lib/rubik/security/classifier/commands/make.yaml +21 -0
  327. data/lib/rubik/security/classifier/commands/md5sum.yaml +7 -0
  328. data/lib/rubik/security/classifier/commands/mise.yaml +579 -0
  329. data/lib/rubik/security/classifier/commands/mkdir.yaml +8 -0
  330. data/lib/rubik/security/classifier/commands/more.yaml +7 -0
  331. data/lib/rubik/security/classifier/commands/mv.yaml +7 -0
  332. data/lib/rubik/security/classifier/commands/mvn.yaml +83 -0
  333. data/lib/rubik/security/classifier/commands/mvnw.yaml +83 -0
  334. data/lib/rubik/security/classifier/commands/mypy.yaml +9 -0
  335. data/lib/rubik/security/classifier/commands/netstat.yaml +7 -0
  336. data/lib/rubik/security/classifier/commands/nice.yaml +11 -0
  337. data/lib/rubik/security/classifier/commands/nl.yaml +7 -0
  338. data/lib/rubik/security/classifier/commands/node.yaml +20 -0
  339. data/lib/rubik/security/classifier/commands/nohup.yaml +9 -0
  340. data/lib/rubik/security/classifier/commands/npm.yaml +71 -0
  341. data/lib/rubik/security/classifier/commands/npx.yaml +42 -0
  342. data/lib/rubik/security/classifier/commands/nslookup.yaml +7 -0
  343. data/lib/rubik/security/classifier/commands/paste.yaml +7 -0
  344. data/lib/rubik/security/classifier/commands/ping.yaml +7 -0
  345. data/lib/rubik/security/classifier/commands/pip.yaml +33 -0
  346. data/lib/rubik/security/classifier/commands/pip3.yaml +33 -0
  347. data/lib/rubik/security/classifier/commands/pipx.yaml +33 -0
  348. data/lib/rubik/security/classifier/commands/pkill.yaml +7 -0
  349. data/lib/rubik/security/classifier/commands/pnpm.yaml +346 -0
  350. data/lib/rubik/security/classifier/commands/poetry.yaml +97 -0
  351. data/lib/rubik/security/classifier/commands/poweroff.yaml +8 -0
  352. data/lib/rubik/security/classifier/commands/prettier.yaml +13 -0
  353. data/lib/rubik/security/classifier/commands/printenv.yaml +7 -0
  354. data/lib/rubik/security/classifier/commands/printf.yaml +7 -0
  355. data/lib/rubik/security/classifier/commands/ps.yaml +7 -0
  356. data/lib/rubik/security/classifier/commands/pup.yaml +882 -0
  357. data/lib/rubik/security/classifier/commands/pwd.yaml +7 -0
  358. data/lib/rubik/security/classifier/commands/pytest.yaml +7 -0
  359. data/lib/rubik/security/classifier/commands/python.yaml +9 -0
  360. data/lib/rubik/security/classifier/commands/python3.yaml +9 -0
  361. data/lib/rubik/security/classifier/commands/read.yaml +7 -0
  362. data/lib/rubik/security/classifier/commands/readlink.yaml +7 -0
  363. data/lib/rubik/security/classifier/commands/realpath.yaml +7 -0
  364. data/lib/rubik/security/classifier/commands/reboot.yaml +8 -0
  365. data/lib/rubik/security/classifier/commands/rev.yaml +7 -0
  366. data/lib/rubik/security/classifier/commands/rg.yaml +7 -0
  367. data/lib/rubik/security/classifier/commands/rm.yaml +8 -0
  368. data/lib/rubik/security/classifier/commands/rsync.yaml +12 -0
  369. data/lib/rubik/security/classifier/commands/rtk.yaml +140 -0
  370. data/lib/rubik/security/classifier/commands/ruff.yaml +29 -0
  371. data/lib/rubik/security/classifier/commands/rustfmt.yaml +14 -0
  372. data/lib/rubik/security/classifier/commands/scp.yaml +7 -0
  373. data/lib/rubik/security/classifier/commands/sed.yaml +14 -0
  374. data/lib/rubik/security/classifier/commands/seq.yaml +7 -0
  375. data/lib/rubik/security/classifier/commands/sh.yaml +14 -0
  376. data/lib/rubik/security/classifier/commands/sha1sum.yaml +7 -0
  377. data/lib/rubik/security/classifier/commands/sha256sum.yaml +7 -0
  378. data/lib/rubik/security/classifier/commands/shellcheck.yaml +10 -0
  379. data/lib/rubik/security/classifier/commands/shutdown.yaml +8 -0
  380. data/lib/rubik/security/classifier/commands/slack.yaml +113 -0
  381. data/lib/rubik/security/classifier/commands/sleep.yaml +8 -0
  382. data/lib/rubik/security/classifier/commands/snip.yaml +79 -0
  383. data/lib/rubik/security/classifier/commands/sort.yaml +10 -0
  384. data/lib/rubik/security/classifier/commands/ss.yaml +7 -0
  385. data/lib/rubik/security/classifier/commands/ssh.yaml +41 -0
  386. data/lib/rubik/security/classifier/commands/stat.yaml +7 -0
  387. data/lib/rubik/security/classifier/commands/stdbuf.yaml +15 -0
  388. data/lib/rubik/security/classifier/commands/strace.yaml +20 -0
  389. data/lib/rubik/security/classifier/commands/strings.yaml +11 -0
  390. data/lib/rubik/security/classifier/commands/sudo.yaml +24 -0
  391. data/lib/rubik/security/classifier/commands/systemctl.yaml +58 -0
  392. data/lib/rubik/security/classifier/commands/systemd-run.yaml +30 -0
  393. data/lib/rubik/security/classifier/commands/tac.yaml +7 -0
  394. data/lib/rubik/security/classifier/commands/tail.yaml +7 -0
  395. data/lib/rubik/security/classifier/commands/tar.yaml +25 -0
  396. data/lib/rubik/security/classifier/commands/tee.yaml +8 -0
  397. data/lib/rubik/security/classifier/commands/terraform.yaml +70 -0
  398. data/lib/rubik/security/classifier/commands/test.yaml +7 -0
  399. data/lib/rubik/security/classifier/commands/time.yaml +8 -0
  400. data/lib/rubik/security/classifier/commands/timeout.yaml +18 -0
  401. data/lib/rubik/security/classifier/commands/top.yaml +7 -0
  402. data/lib/rubik/security/classifier/commands/touch.yaml +8 -0
  403. data/lib/rubik/security/classifier/commands/tr.yaml +7 -0
  404. data/lib/rubik/security/classifier/commands/traceroute.yaml +7 -0
  405. data/lib/rubik/security/classifier/commands/true.yaml +7 -0
  406. data/lib/rubik/security/classifier/commands/tsc.yaml +16 -0
  407. data/lib/rubik/security/classifier/commands/type.yaml +7 -0
  408. data/lib/rubik/security/classifier/commands/uname.yaml +7 -0
  409. data/lib/rubik/security/classifier/commands/unexpand.yaml +7 -0
  410. data/lib/rubik/security/classifier/commands/uniq.yaml +7 -0
  411. data/lib/rubik/security/classifier/commands/unzip.yaml +10 -0
  412. data/lib/rubik/security/classifier/commands/uptime.yaml +7 -0
  413. data/lib/rubik/security/classifier/commands/uv.yaml +156 -0
  414. data/lib/rubik/security/classifier/commands/wait.yaml +11 -0
  415. data/lib/rubik/security/classifier/commands/wc.yaml +7 -0
  416. data/lib/rubik/security/classifier/commands/wget.yaml +7 -0
  417. data/lib/rubik/security/classifier/commands/whereis.yaml +7 -0
  418. data/lib/rubik/security/classifier/commands/which.yaml +7 -0
  419. data/lib/rubik/security/classifier/commands/whoami.yaml +7 -0
  420. data/lib/rubik/security/classifier/commands/xargs.yaml +26 -0
  421. data/lib/rubik/security/classifier/commands/xmllint.yaml +7 -0
  422. data/lib/rubik/security/classifier/commands/yarn.yaml +72 -0
  423. data/lib/rubik/security/classifier/commands/yes.yaml +7 -0
  424. data/lib/rubik/security/classifier/commands/yq.yaml +10 -0
  425. data/lib/rubik/security/classifier/commands/zip.yaml +8 -0
  426. data/lib/rubik/security/classifier/commands/zsh.yaml +14 -0
  427. data/lib/rubik/security/classifier/database.rb +216 -0
  428. data/lib/rubik/security/classifier/matcher/delegation.rb +190 -0
  429. data/lib/rubik/security/classifier/matcher/options.rb +245 -0
  430. data/lib/rubik/security/classifier/matcher/subcommands.rb +103 -0
  431. data/lib/rubik/security/classifier/matcher.rb +249 -0
  432. data/lib/rubik/security/classifier/models.rb +170 -0
  433. data/lib/rubik/security/classifier/parser.rb +23 -0
  434. data/lib/rubik/security/classifier/parsers/bash.rb +280 -0
  435. data/lib/rubik/security/classifier/parsers/bash_extractors.rb +221 -0
  436. data/lib/rubik/security/classifier/parsers/powershell.rb +185 -0
  437. data/lib/rubik/security/classifier/pwsh_rules.rb +224 -0
  438. data/lib/rubik/security/classifier.rb +25 -0
  439. data/lib/rubik/security/errors.rb +39 -0
  440. data/lib/rubik/security/guard.rb +954 -0
  441. data/lib/rubik/security/redactor.rb +89 -0
  442. data/lib/rubik/security.rb +11 -0
  443. data/lib/rubik/session/manager.rb +331 -0
  444. data/lib/rubik/session/recorder.rb +149 -0
  445. data/lib/rubik/session/replayer.rb +65 -0
  446. data/lib/rubik/session.rb +10 -0
  447. data/lib/rubik/skills/frontmatter.rb +41 -0
  448. data/lib/rubik/skills/manager.rb +223 -0
  449. data/lib/rubik/skills/registry.rb +64 -0
  450. data/lib/rubik/skills/skill.rb +33 -0
  451. data/lib/rubik/skills/storage.rb +77 -0
  452. data/lib/rubik/skills/validator.rb +116 -0
  453. data/lib/rubik/skills.rb +20 -0
  454. data/lib/rubik/storage/folding.rb +23 -0
  455. data/lib/rubik/storage/layout.rb +145 -0
  456. data/lib/rubik/storage/render.rb +97 -0
  457. data/lib/rubik/storage/service.rb +42 -0
  458. data/lib/rubik/storage/store.rb +514 -0
  459. data/lib/rubik/storage/transcript_indexer.rb +116 -0
  460. data/lib/rubik/storage/uri_reader.rb +168 -0
  461. data/lib/rubik/storage/vakanuvis/annal_writer.rb +92 -0
  462. data/lib/rubik/storage/vakanuvis/distill_gate.rb +323 -0
  463. data/lib/rubik/storage/vakanuvis/gate.rb +250 -0
  464. data/lib/rubik/storage/vakanuvis/harness.rb +421 -0
  465. data/lib/rubik/storage/vakanuvis/memory_steward.rb +163 -0
  466. data/lib/rubik/storage/vakanuvis/service.rb +69 -0
  467. data/lib/rubik/storage/vakanuvis/vocabulary.rb +99 -0
  468. data/lib/rubik/storage/vakanuvis/wiki_skeleton.rb +67 -0
  469. data/lib/rubik/storage/vakanuvis.rb +77 -0
  470. data/lib/rubik/storage.rb +29 -0
  471. data/lib/rubik/tools/base.rb +107 -0
  472. data/lib/rubik/tools/builtins/dmesg.rb +74 -0
  473. data/lib/rubik/tools/builtins/exec.rb +293 -0
  474. data/lib/rubik/tools/builtins/files.rb +354 -0
  475. data/lib/rubik/tools/builtins/goal_ledger.rb +89 -0
  476. data/lib/rubik/tools/builtins/grep.rb +281 -0
  477. data/lib/rubik/tools/builtins/interactive.rb +175 -0
  478. data/lib/rubik/tools/builtins/lifecycle.rb +359 -0
  479. data/lib/rubik/tools/builtins/lsp.rb +283 -0
  480. data/lib/rubik/tools/builtins/pruner.rb +88 -0
  481. data/lib/rubik/tools/builtins/runtime.rb +120 -0
  482. data/lib/rubik/tools/builtins/send_message.rb +109 -0
  483. data/lib/rubik/tools/builtins/show_file.rb +84 -0
  484. data/lib/rubik/tools/builtins/skill.rb +72 -0
  485. data/lib/rubik/tools/builtins/storage.rb +232 -0
  486. data/lib/rubik/tools/builtins/subagent.rb +356 -0
  487. data/lib/rubik/tools/builtins/subagent_lifecycle.rb +72 -0
  488. data/lib/rubik/tools/builtins/symbols.rb +209 -0
  489. data/lib/rubik/tools/builtins/synthesis.rb +314 -0
  490. data/lib/rubik/tools/builtins/task.rb +168 -0
  491. data/lib/rubik/tools/builtins/unsynthesize.rb +111 -0
  492. data/lib/rubik/tools/builtins/vakanuvis.rb +161 -0
  493. data/lib/rubik/tools/builtins.rb +30 -0
  494. data/lib/rubik/tools/catalog.rb +70 -0
  495. data/lib/rubik/tools/declaration.rb +90 -0
  496. data/lib/rubik/tools/diagnostic_reporter.rb +283 -0
  497. data/lib/rubik/tools/fuzzy_matcher.rb +172 -0
  498. data/lib/rubik/tools/native_search.rb +180 -0
  499. data/lib/rubik/tools/output.rb +54 -0
  500. data/lib/rubik/tools/preflight_runner.rb +209 -0
  501. data/lib/rubik/tools/registry.rb +247 -0
  502. data/lib/rubik/tools/result.rb +71 -0
  503. data/lib/rubik/tools/services.rb +96 -0
  504. data/lib/rubik/tools/truncator.rb +78 -0
  505. data/lib/rubik/tools/uri_resolver.rb +195 -0
  506. data/lib/rubik/tools.rb +14 -0
  507. data/lib/rubik/ui/approvals.rb +52 -0
  508. data/lib/rubik/ui/banner.rb +43 -0
  509. data/lib/rubik/ui/capability.rb +122 -0
  510. data/lib/rubik/ui/dialog.rb +106 -0
  511. data/lib/rubik/ui/diff_viewer.rb +78 -0
  512. data/lib/rubik/ui/frame.rb +95 -0
  513. data/lib/rubik/ui/markdown_stream.rb +107 -0
  514. data/lib/rubik/ui/panel.rb +98 -0
  515. data/lib/rubik/ui/renderer.rb +206 -0
  516. data/lib/rubik/ui/spinner.rb +120 -0
  517. data/lib/rubik/ui/statusline.rb +134 -0
  518. data/lib/rubik/ui/theme.rb +118 -0
  519. data/lib/rubik/ui.rb +57 -0
  520. data/lib/rubik/uris.rb +101 -0
  521. data/lib/rubik/version.rb +5 -0
  522. data/lib/rubik.rb +65 -0
  523. metadata +770 -0
@@ -0,0 +1,579 @@
1
+ # $schema: ../../../schemas/command.schema.json
2
+ command: mise
3
+ description: "Dev tools, env vars, and task runner (asdf/nvm/rbenv replacement)"
4
+ strict: false
5
+ global_options:
6
+ --help: {overrides: READONLY}
7
+ -h: {overrides: READONLY}
8
+ -C: {takes_value: true, captures_directory: true}
9
+ --cd: {takes_value: true, captures_directory: true, aliases: [-C]}
10
+ -E: {takes_value: true}
11
+ --env: {takes_value: true, aliases: [-E]}
12
+ -j: {takes_value: true}
13
+ --jobs: {takes_value: true, aliases: [-j]}
14
+ -q: {}
15
+ --quiet: {aliases: [-q]}
16
+ -v: {}
17
+ --verbose: {aliases: [-v]}
18
+ -y: {}
19
+ --yes: {aliases: [-y]}
20
+ --no-config: {}
21
+ --no-env: {}
22
+ --no-hooks: {}
23
+ --output: {takes_value: true}
24
+ --raw: {}
25
+ --locked: {}
26
+ --silent: {}
27
+ subcommands:
28
+ # --- Shell integration / READONLY output generators ---
29
+ activate:
30
+ classification: READONLY
31
+ strict: false
32
+ deactivate:
33
+ classification: READONLY
34
+ strict: false
35
+ env:
36
+ classification: READONLY
37
+ strict: false
38
+ hook-env:
39
+ classification: READONLY
40
+ strict: false
41
+ hook-not-found:
42
+ classification: READONLY
43
+ strict: false
44
+ completion:
45
+ classification: READONLY
46
+ strict: false
47
+ version:
48
+ classification: READONLY
49
+ strict: false
50
+ help:
51
+ classification: READONLY
52
+ strict: false
53
+
54
+ # --- Pure info/list/query commands ---
55
+ ls:
56
+ classification: READONLY
57
+ strict: false
58
+ list:
59
+ classification: READONLY
60
+ strict: false
61
+ ls-remote:
62
+ classification: READONLY
63
+ strict: false
64
+ current:
65
+ classification: READONLY
66
+ strict: false
67
+ latest:
68
+ classification: READONLY
69
+ strict: false
70
+ which:
71
+ classification: READONLY
72
+ strict: false
73
+ where:
74
+ classification: READONLY
75
+ strict: false
76
+ outdated:
77
+ classification: READONLY
78
+ strict: false
79
+ doctor:
80
+ classification: READONLY
81
+ strict: false
82
+ dr:
83
+ classification: READONLY
84
+ strict: false
85
+ registry:
86
+ classification: READONLY
87
+ strict: false
88
+ search:
89
+ classification: READONLY
90
+ strict: false
91
+ bin-paths:
92
+ classification: READONLY
93
+ strict: false
94
+ tool:
95
+ classification: READONLY
96
+ strict: false
97
+ token:
98
+ classification: READONLY
99
+ strict: false
100
+ subcommands:
101
+ forgejo:
102
+ classification: READONLY
103
+ github:
104
+ classification: READONLY
105
+ gitlab:
106
+ classification: READONLY
107
+ backends:
108
+ classification: READONLY
109
+ strict: false
110
+ subcommands:
111
+ ls:
112
+ classification: READONLY
113
+ list:
114
+ classification: READONLY
115
+ b:
116
+ classification: READONLY
117
+ strict: false
118
+
119
+ # --- Install / upgrade tools (downloads from network, writes locally) ---
120
+ install:
121
+ classification: EXTERNAL_EFFECTS
122
+ strict: false
123
+ options:
124
+ -n: {overrides: READONLY}
125
+ --dry-run: {overrides: READONLY, aliases: [-n]}
126
+ i:
127
+ classification: EXTERNAL_EFFECTS
128
+ strict: false
129
+ install-into:
130
+ classification: EXTERNAL_EFFECTS
131
+ strict: false
132
+ use:
133
+ classification: EXTERNAL_EFFECTS
134
+ strict: false
135
+ u:
136
+ classification: EXTERNAL_EFFECTS
137
+ strict: false
138
+ upgrade:
139
+ classification: EXTERNAL_EFFECTS
140
+ strict: false
141
+ options:
142
+ -n: {overrides: READONLY}
143
+ --dry-run: {overrides: READONLY, aliases: [-n]}
144
+ up:
145
+ classification: EXTERNAL_EFFECTS
146
+ strict: false
147
+ self-update:
148
+ classification: EXTERNAL_EFFECTS
149
+ strict: false
150
+
151
+ # --- Destructive: uninstall/prune/implode ---
152
+ uninstall:
153
+ classification: DANGEROUS
154
+ strict: false
155
+ options:
156
+ -n: {overrides: READONLY}
157
+ --dry-run: {overrides: READONLY, aliases: [-n]}
158
+ --dry-run-code: {overrides: READONLY}
159
+ unuse:
160
+ classification: LOCAL_EFFECTS
161
+ strict: false
162
+ rm:
163
+ classification: LOCAL_EFFECTS
164
+ strict: false
165
+ remove:
166
+ classification: LOCAL_EFFECTS
167
+ strict: false
168
+ prune:
169
+ classification: DANGEROUS
170
+ strict: false
171
+ options:
172
+ -n: {overrides: READONLY}
173
+ --dry-run: {overrides: READONLY, aliases: [-n]}
174
+ --dry-run-code: {overrides: READONLY}
175
+ implode:
176
+ classification: DANGEROUS
177
+ strict: false
178
+ options:
179
+ -n: {overrides: READONLY}
180
+ --dry-run: {overrides: READONLY, aliases: [-n]}
181
+
182
+ # --- Config / state-modifying local commands ---
183
+ trust:
184
+ classification: LOCAL_EFFECTS
185
+ strict: false
186
+ options:
187
+ --show: {overrides: READONLY}
188
+ untrust:
189
+ classification: LOCAL_EFFECTS
190
+ strict: false
191
+ set:
192
+ classification: LOCAL_EFFECTS
193
+ strict: false
194
+ unset:
195
+ classification: LOCAL_EFFECTS
196
+ strict: false
197
+ shell:
198
+ classification: LOCAL_EFFECTS
199
+ risk: LOW
200
+ strict: false
201
+ sh:
202
+ classification: LOCAL_EFFECTS
203
+ risk: LOW
204
+ strict: false
205
+ fmt:
206
+ classification: LOCAL_EFFECTS
207
+ risk: LOW
208
+ strict: false
209
+ options:
210
+ -c: {overrides: READONLY}
211
+ --check: {overrides: READONLY, aliases: [-c]}
212
+ -s: {overrides: READONLY}
213
+ --stdin: {overrides: READONLY, aliases: [-s]}
214
+ edit:
215
+ classification: LOCAL_EFFECTS
216
+ strict: false
217
+ options:
218
+ -n: {overrides: READONLY}
219
+ --dry-run: {overrides: READONLY, aliases: [-n]}
220
+ link:
221
+ classification: LOCAL_EFFECTS
222
+ strict: false
223
+ ln:
224
+ classification: LOCAL_EFFECTS
225
+ strict: false
226
+ unlink:
227
+ classification: LOCAL_EFFECTS
228
+ strict: false
229
+ reshim:
230
+ classification: LOCAL_EFFECTS
231
+ risk: LOW
232
+ strict: false
233
+ lock:
234
+ classification: LOCAL_EFFECTS
235
+ risk: LOW
236
+ strict: false
237
+ generate:
238
+ classification: LOCAL_EFFECTS
239
+ strict: false
240
+ subcommands:
241
+ bootstrap:
242
+ classification: LOCAL_EFFECTS
243
+ strict: false
244
+ config:
245
+ classification: LOCAL_EFFECTS
246
+ strict: false
247
+ devcontainer:
248
+ classification: LOCAL_EFFECTS
249
+ strict: false
250
+ git-pre-commit:
251
+ classification: LOCAL_EFFECTS
252
+ strict: false
253
+ pre-commit:
254
+ classification: LOCAL_EFFECTS
255
+ strict: false
256
+ github-action:
257
+ classification: LOCAL_EFFECTS
258
+ strict: false
259
+ task-docs:
260
+ classification: LOCAL_EFFECTS
261
+ strict: false
262
+ task-stubs:
263
+ classification: LOCAL_EFFECTS
264
+ strict: false
265
+ tool-stub:
266
+ classification: LOCAL_EFFECTS
267
+ strict: false
268
+ gen:
269
+ classification: LOCAL_EFFECTS
270
+ strict: false
271
+ sync:
272
+ classification: LOCAL_EFFECTS
273
+ strict: false
274
+ subcommands:
275
+ node:
276
+ classification: LOCAL_EFFECTS
277
+ strict: false
278
+ python:
279
+ classification: LOCAL_EFFECTS
280
+ strict: false
281
+ ruby:
282
+ classification: LOCAL_EFFECTS
283
+ strict: false
284
+
285
+ # --- Cache management ---
286
+ cache:
287
+ classification: READONLY
288
+ strict: false
289
+ subcommands:
290
+ clear:
291
+ classification: LOCAL_EFFECTS
292
+ risk: LOW
293
+ c:
294
+ classification: LOCAL_EFFECTS
295
+ risk: LOW
296
+ prune:
297
+ classification: LOCAL_EFFECTS
298
+ risk: LOW
299
+ p:
300
+ classification: LOCAL_EFFECTS
301
+ risk: LOW
302
+ path:
303
+ classification: READONLY
304
+ dir:
305
+ classification: READONLY
306
+
307
+ # --- Config subcommands ---
308
+ config:
309
+ classification: READONLY
310
+ strict: false
311
+ subcommands:
312
+ get:
313
+ classification: READONLY
314
+ strict: false
315
+ ls:
316
+ classification: READONLY
317
+ strict: false
318
+ list:
319
+ classification: READONLY
320
+ strict: false
321
+ set:
322
+ classification: LOCAL_EFFECTS
323
+ strict: false
324
+ cfg:
325
+ classification: READONLY
326
+ strict: false
327
+
328
+ # --- Settings subcommands ---
329
+ settings:
330
+ classification: READONLY
331
+ strict: false
332
+ subcommands:
333
+ ls:
334
+ classification: READONLY
335
+ list:
336
+ classification: READONLY
337
+ get:
338
+ classification: READONLY
339
+ add:
340
+ classification: LOCAL_EFFECTS
341
+ strict: false
342
+ set:
343
+ classification: LOCAL_EFFECTS
344
+ strict: false
345
+ create:
346
+ classification: LOCAL_EFFECTS
347
+ strict: false
348
+ unset:
349
+ classification: LOCAL_EFFECTS
350
+ strict: false
351
+ rm:
352
+ classification: LOCAL_EFFECTS
353
+ strict: false
354
+ remove:
355
+ classification: LOCAL_EFFECTS
356
+ strict: false
357
+ delete:
358
+ classification: LOCAL_EFFECTS
359
+ strict: false
360
+ del:
361
+ classification: LOCAL_EFFECTS
362
+ strict: false
363
+
364
+ # --- Alias management ---
365
+ tool-alias:
366
+ classification: READONLY
367
+ strict: false
368
+ subcommands:
369
+ get:
370
+ classification: READONLY
371
+ ls:
372
+ classification: READONLY
373
+ list:
374
+ classification: READONLY
375
+ set:
376
+ classification: LOCAL_EFFECTS
377
+ strict: false
378
+ add:
379
+ classification: LOCAL_EFFECTS
380
+ strict: false
381
+ create:
382
+ classification: LOCAL_EFFECTS
383
+ strict: false
384
+ unset:
385
+ classification: LOCAL_EFFECTS
386
+ strict: false
387
+ rm:
388
+ classification: LOCAL_EFFECTS
389
+ strict: false
390
+ remove:
391
+ classification: LOCAL_EFFECTS
392
+ strict: false
393
+ delete:
394
+ classification: LOCAL_EFFECTS
395
+ strict: false
396
+ del:
397
+ classification: LOCAL_EFFECTS
398
+ strict: false
399
+ shell-alias:
400
+ classification: READONLY
401
+ strict: false
402
+ subcommands:
403
+ get:
404
+ classification: READONLY
405
+ ls:
406
+ classification: READONLY
407
+ list:
408
+ classification: READONLY
409
+ set:
410
+ classification: LOCAL_EFFECTS
411
+ strict: false
412
+ add:
413
+ classification: LOCAL_EFFECTS
414
+ strict: false
415
+ create:
416
+ classification: LOCAL_EFFECTS
417
+ strict: false
418
+ unset:
419
+ classification: LOCAL_EFFECTS
420
+ strict: false
421
+ rm:
422
+ classification: LOCAL_EFFECTS
423
+ strict: false
424
+ remove:
425
+ classification: LOCAL_EFFECTS
426
+ strict: false
427
+ delete:
428
+ classification: LOCAL_EFFECTS
429
+ strict: false
430
+ del:
431
+ classification: LOCAL_EFFECTS
432
+ strict: false
433
+
434
+ # --- Plugins (install may download/run arbitrary code from git) ---
435
+ plugins:
436
+ classification: READONLY
437
+ strict: false
438
+ subcommands:
439
+ install:
440
+ classification: EXTERNAL_EFFECTS
441
+ strict: false
442
+ i:
443
+ classification: EXTERNAL_EFFECTS
444
+ strict: false
445
+ a:
446
+ classification: EXTERNAL_EFFECTS
447
+ strict: false
448
+ add:
449
+ classification: EXTERNAL_EFFECTS
450
+ strict: false
451
+ link:
452
+ classification: LOCAL_EFFECTS
453
+ strict: false
454
+ ln:
455
+ classification: LOCAL_EFFECTS
456
+ strict: false
457
+ ls:
458
+ classification: READONLY
459
+ strict: false
460
+ list:
461
+ classification: READONLY
462
+ strict: false
463
+ ls-remote:
464
+ classification: READONLY
465
+ strict: false
466
+ list-remote:
467
+ classification: READONLY
468
+ strict: false
469
+ list-all:
470
+ classification: READONLY
471
+ strict: false
472
+ uninstall:
473
+ classification: LOCAL_EFFECTS
474
+ strict: false
475
+ remove:
476
+ classification: LOCAL_EFFECTS
477
+ strict: false
478
+ rm:
479
+ classification: LOCAL_EFFECTS
480
+ strict: false
481
+ update:
482
+ classification: EXTERNAL_EFFECTS
483
+ strict: false
484
+ up:
485
+ classification: EXTERNAL_EFFECTS
486
+ strict: false
487
+ upgrade:
488
+ classification: EXTERNAL_EFFECTS
489
+ strict: false
490
+ p:
491
+ classification: READONLY
492
+ strict: false
493
+
494
+ # --- Tasks management ---
495
+ tasks:
496
+ classification: READONLY
497
+ strict: false
498
+ subcommands:
499
+ ls:
500
+ classification: READONLY
501
+ strict: false
502
+ deps:
503
+ classification: READONLY
504
+ strict: false
505
+ info:
506
+ classification: READONLY
507
+ strict: false
508
+ validate:
509
+ classification: READONLY
510
+ strict: false
511
+ add:
512
+ classification: LOCAL_EFFECTS
513
+ strict: false
514
+ edit:
515
+ classification: LOCAL_EFFECTS
516
+ strict: false
517
+ run:
518
+ classification: DANGEROUS
519
+ strict: false
520
+ r:
521
+ classification: DANGEROUS
522
+ strict: false
523
+ t:
524
+ classification: READONLY
525
+ strict: false
526
+
527
+ # --- Arbitrary command / task executors ---
528
+ # `mise exec [tool@ver]... -- <cmd>` runs an arbitrary command with tools on PATH
529
+ exec:
530
+ strict: false
531
+ delegates_to:
532
+ mode: after_separator
533
+ separator: "--"
534
+ x:
535
+ strict: false
536
+ delegates_to:
537
+ mode: after_separator
538
+ separator: "--"
539
+ # `mise run <task> [args]` runs a user-defined task (shell script / arbitrary code)
540
+ run:
541
+ classification: DANGEROUS
542
+ strict: false
543
+ r:
544
+ classification: DANGEROUS
545
+ strict: false
546
+ watch:
547
+ classification: DANGEROUS
548
+ strict: false
549
+ w:
550
+ classification: DANGEROUS
551
+ strict: false
552
+ # `mise en` spawns a new shell — effectively executes arbitrary interactive commands
553
+ en:
554
+ classification: DANGEROUS
555
+ strict: false
556
+ # `mise mcp` starts an MCP server that exposes task execution to AI clients
557
+ mcp:
558
+ classification: DANGEROUS
559
+ strict: false
560
+ # `mise tool-stub <FILE> [ARGS]...` executes a tool stub — arbitrary code
561
+ tool-stub:
562
+ classification: DANGEROUS
563
+ strict: false
564
+ # `mise test-tool` installs and runs tools
565
+ test-tool:
566
+ classification: DANGEROUS
567
+ strict: false
568
+ # [experimental] runs install commands from project manifests
569
+ prepare:
570
+ classification: EXTERNAL_EFFECTS
571
+ strict: false
572
+ options:
573
+ -n: {overrides: READONLY}
574
+ --dry-run: {overrides: READONLY, aliases: [-n]}
575
+ --list: {overrides: READONLY}
576
+ --explain: {overrides: READONLY}
577
+ prep:
578
+ classification: EXTERNAL_EFFECTS
579
+ strict: false
@@ -0,0 +1,8 @@
1
+ # $schema: ../../../schemas/command.schema.json
2
+ command: mkdir
3
+ description: "Create directories"
4
+ classification: LOCAL_EFFECTS
5
+ risk: LOW
6
+ strict: false
7
+ global_options:
8
+ --help: {overrides: READONLY}
@@ -0,0 +1,7 @@
1
+ # $schema: ../../../schemas/command.schema.json
2
+ command: more
3
+ description: "View file contents one screen at a time"
4
+ classification: READONLY
5
+ strict: false
6
+ global_options:
7
+ --help: {overrides: READONLY}
@@ -0,0 +1,7 @@
1
+ # $schema: ../../../schemas/command.schema.json
2
+ command: mv
3
+ description: "Move or rename files and directories"
4
+ classification: LOCAL_EFFECTS
5
+ strict: false
6
+ global_options:
7
+ --help: {overrides: READONLY}
@@ -0,0 +1,83 @@
1
+ # $schema: ../../../schemas/command.schema.json
2
+ command: mvn
3
+ description: "Apache Maven build tool"
4
+ classification: LOCAL_EFFECTS
5
+ strict: false
6
+ subcommand_mode: match_all
7
+ subcommands:
8
+ clean:
9
+ classification: LOCAL_EFFECTS
10
+ risk: LOW
11
+ validate:
12
+ classification: READONLY
13
+ compile:
14
+ classification: LOCAL_EFFECTS
15
+ risk: LOW
16
+ test:
17
+ classification: LOCAL_EFFECTS
18
+ risk: LOW
19
+ test-compile:
20
+ classification: LOCAL_EFFECTS
21
+ risk: LOW
22
+ package:
23
+ classification: LOCAL_EFFECTS
24
+ risk: LOW
25
+ verify:
26
+ classification: LOCAL_EFFECTS
27
+ risk: LOW
28
+ install:
29
+ classification: LOCAL_EFFECTS
30
+ risk: LOW
31
+ site:
32
+ classification: LOCAL_EFFECTS
33
+ risk: LOW
34
+ deploy:
35
+ classification: EXTERNAL_EFFECTS
36
+ global_options:
37
+ --help: {overrides: READONLY}
38
+ -h: {overrides: READONLY}
39
+ --version: {overrides: READONLY}
40
+ -v: {overrides: READONLY}
41
+ options:
42
+ -B: {}
43
+ --batch-mode: {aliases: [-B]}
44
+ -am: {}
45
+ --also-make: {aliases: [-am]}
46
+ -amd: {}
47
+ --also-make-dependents: {aliases: [-amd]}
48
+ -pl: {takes_value: true}
49
+ --projects: {takes_value: true, aliases: [-pl]}
50
+ -T: {takes_value: true}
51
+ --threads: {takes_value: true, aliases: [-T]}
52
+ -P: {takes_value: true}
53
+ --activate-profiles: {takes_value: true, aliases: [-P]}
54
+ -f: {takes_value: true}
55
+ --file: {takes_value: true, aliases: [-f]}
56
+ -D: {takes_value: true}
57
+ --define: {takes_value: true, aliases: [-D]}
58
+ -s: {takes_value: true}
59
+ --settings: {takes_value: true, aliases: [-s]}
60
+ -gs: {takes_value: true}
61
+ --global-settings: {takes_value: true, aliases: [-gs]}
62
+ -e: {}
63
+ --errors: {aliases: [-e]}
64
+ -X: {}
65
+ --debug: {aliases: [-X]}
66
+ -q: {}
67
+ --quiet: {aliases: [-q]}
68
+ -U: {}
69
+ --update-snapshots: {aliases: [-U]}
70
+ -o: {}
71
+ --offline: {aliases: [-o]}
72
+ -N: {}
73
+ --non-recursive: {aliases: [-N]}
74
+ -nsu: {}
75
+ --no-snapshot-updates: {aliases: [-nsu]}
76
+ -C: {}
77
+ --strict-checksums: {aliases: [-C]}
78
+ -c: {}
79
+ --lax-checksums: {aliases: [-c]}
80
+ -l: {takes_value: true}
81
+ --log-file: {takes_value: true, aliases: [-l]}
82
+ -t: {takes_value: true}
83
+ --toolchains: {takes_value: true, aliases: [-t]}