terminal-jarvis 0.1.0 → 0.1.1

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 (261) hide show
  1. package/README.md +93 -0
  2. package/bin/terminal-jarvis +32 -0
  3. package/bin/terminal-jarvis-bin +0 -0
  4. package/harnesses/aider/download/index.toml +3 -0
  5. package/harnesses/aider/headless/index.toml +3 -0
  6. package/harnesses/aider/index.toml +6 -0
  7. package/harnesses/aider/models/index.toml +3 -0
  8. package/harnesses/aider/security/index.toml +3 -0
  9. package/harnesses/aider/stats/index.toml +3 -0
  10. package/harnesses/aider/ui/index.toml +3 -0
  11. package/harnesses/aider/update/index.toml +3 -0
  12. package/harnesses/aider/version/index.toml +3 -0
  13. package/harnesses/aider/yolo/index.toml +3 -0
  14. package/harnesses/amp/download/index.toml +3 -0
  15. package/harnesses/amp/headless/index.toml +3 -0
  16. package/harnesses/amp/index.toml +6 -0
  17. package/harnesses/amp/models/index.toml +3 -0
  18. package/harnesses/amp/security/index.toml +3 -0
  19. package/harnesses/amp/stats/index.toml +3 -0
  20. package/harnesses/amp/ui/index.toml +3 -0
  21. package/harnesses/amp/update/index.toml +3 -0
  22. package/harnesses/amp/version/index.toml +3 -0
  23. package/harnesses/amp/yolo/index.toml +3 -0
  24. package/harnesses/claude/download/index.toml +3 -0
  25. package/harnesses/claude/headless/index.toml +3 -0
  26. package/harnesses/claude/index.toml +6 -0
  27. package/harnesses/claude/models/index.toml +3 -0
  28. package/harnesses/claude/security/index.toml +3 -0
  29. package/harnesses/claude/stats/index.toml +3 -0
  30. package/harnesses/claude/ui/index.toml +3 -0
  31. package/harnesses/claude/update/index.toml +3 -0
  32. package/harnesses/claude/version/index.toml +3 -0
  33. package/harnesses/claude/yolo/index.toml +3 -0
  34. package/harnesses/code/download/index.toml +3 -0
  35. package/harnesses/code/headless/index.toml +3 -0
  36. package/harnesses/code/index.toml +6 -0
  37. package/harnesses/code/models/index.toml +3 -0
  38. package/harnesses/code/security/index.toml +3 -0
  39. package/harnesses/code/stats/index.toml +3 -0
  40. package/harnesses/code/ui/index.toml +3 -0
  41. package/harnesses/code/update/index.toml +3 -0
  42. package/harnesses/code/version/index.toml +3 -0
  43. package/harnesses/code/yolo/index.toml +3 -0
  44. package/harnesses/codex/download/index.toml +3 -0
  45. package/harnesses/codex/headless/index.toml +3 -0
  46. package/harnesses/codex/index.toml +6 -0
  47. package/harnesses/codex/models/index.toml +3 -0
  48. package/harnesses/codex/security/index.toml +3 -0
  49. package/harnesses/codex/stats/index.toml +3 -0
  50. package/harnesses/codex/ui/index.toml +3 -0
  51. package/harnesses/codex/update/index.toml +3 -0
  52. package/harnesses/codex/version/index.toml +3 -0
  53. package/harnesses/codex/yolo/index.toml +3 -0
  54. package/harnesses/copilot/download/index.toml +3 -0
  55. package/harnesses/copilot/headless/index.toml +3 -0
  56. package/harnesses/copilot/index.toml +6 -0
  57. package/harnesses/copilot/models/index.toml +3 -0
  58. package/harnesses/copilot/security/index.toml +3 -0
  59. package/harnesses/copilot/stats/index.toml +3 -0
  60. package/harnesses/copilot/ui/index.toml +3 -0
  61. package/harnesses/copilot/update/index.toml +3 -0
  62. package/harnesses/copilot/version/index.toml +3 -0
  63. package/harnesses/copilot/yolo/index.toml +3 -0
  64. package/harnesses/crush/download/index.toml +3 -0
  65. package/harnesses/crush/headless/index.toml +3 -0
  66. package/harnesses/crush/index.toml +6 -0
  67. package/harnesses/crush/models/index.toml +3 -0
  68. package/harnesses/crush/security/index.toml +3 -0
  69. package/harnesses/crush/stats/index.toml +3 -0
  70. package/harnesses/crush/ui/index.toml +3 -0
  71. package/harnesses/crush/update/index.toml +3 -0
  72. package/harnesses/crush/version/index.toml +3 -0
  73. package/harnesses/crush/yolo/index.toml +3 -0
  74. package/harnesses/cursor-agent/download/index.toml +3 -0
  75. package/harnesses/cursor-agent/headless/index.toml +3 -0
  76. package/harnesses/cursor-agent/index.toml +6 -0
  77. package/harnesses/cursor-agent/models/index.toml +3 -0
  78. package/harnesses/cursor-agent/security/index.toml +3 -0
  79. package/harnesses/cursor-agent/stats/index.toml +3 -0
  80. package/harnesses/cursor-agent/ui/index.toml +3 -0
  81. package/harnesses/cursor-agent/update/index.toml +3 -0
  82. package/harnesses/cursor-agent/version/index.toml +3 -0
  83. package/harnesses/cursor-agent/yolo/index.toml +3 -0
  84. package/harnesses/droid/download/index.toml +3 -0
  85. package/harnesses/droid/headless/index.toml +3 -0
  86. package/harnesses/droid/index.toml +6 -0
  87. package/harnesses/droid/models/index.toml +3 -0
  88. package/harnesses/droid/security/index.toml +3 -0
  89. package/harnesses/droid/stats/index.toml +3 -0
  90. package/harnesses/droid/ui/index.toml +3 -0
  91. package/harnesses/droid/update/index.toml +3 -0
  92. package/harnesses/droid/version/index.toml +3 -0
  93. package/harnesses/droid/yolo/index.toml +3 -0
  94. package/harnesses/eca/download/index.toml +3 -0
  95. package/harnesses/eca/headless/index.toml +3 -0
  96. package/harnesses/eca/index.toml +6 -0
  97. package/harnesses/eca/models/index.toml +3 -0
  98. package/harnesses/eca/security/index.toml +3 -0
  99. package/harnesses/eca/stats/index.toml +3 -0
  100. package/harnesses/eca/ui/index.toml +3 -0
  101. package/harnesses/eca/update/index.toml +3 -0
  102. package/harnesses/eca/version/index.toml +3 -0
  103. package/harnesses/eca/yolo/index.toml +3 -0
  104. package/harnesses/forge/download/index.toml +3 -0
  105. package/harnesses/forge/headless/index.toml +3 -0
  106. package/harnesses/forge/index.toml +6 -0
  107. package/harnesses/forge/models/index.toml +3 -0
  108. package/harnesses/forge/security/index.toml +3 -0
  109. package/harnesses/forge/stats/index.toml +3 -0
  110. package/harnesses/forge/ui/index.toml +3 -0
  111. package/harnesses/forge/update/index.toml +3 -0
  112. package/harnesses/forge/version/index.toml +3 -0
  113. package/harnesses/forge/yolo/index.toml +3 -0
  114. package/harnesses/gemini/download/index.toml +3 -0
  115. package/harnesses/gemini/headless/index.toml +3 -0
  116. package/harnesses/gemini/index.toml +6 -0
  117. package/harnesses/gemini/models/index.toml +3 -0
  118. package/harnesses/gemini/security/index.toml +3 -0
  119. package/harnesses/gemini/stats/index.toml +3 -0
  120. package/harnesses/gemini/ui/index.toml +3 -0
  121. package/harnesses/gemini/update/index.toml +3 -0
  122. package/harnesses/gemini/version/index.toml +3 -0
  123. package/harnesses/gemini/yolo/index.toml +3 -0
  124. package/harnesses/goose/download/index.toml +3 -0
  125. package/harnesses/goose/headless/index.toml +3 -0
  126. package/harnesses/goose/index.toml +6 -0
  127. package/harnesses/goose/models/index.toml +3 -0
  128. package/harnesses/goose/security/index.toml +3 -0
  129. package/harnesses/goose/stats/index.toml +3 -0
  130. package/harnesses/goose/ui/index.toml +3 -0
  131. package/harnesses/goose/update/index.toml +3 -0
  132. package/harnesses/goose/version/index.toml +3 -0
  133. package/harnesses/goose/yolo/index.toml +3 -0
  134. package/harnesses/hermes/download/index.toml +3 -0
  135. package/harnesses/hermes/headless/index.toml +3 -0
  136. package/harnesses/hermes/index.toml +6 -0
  137. package/harnesses/hermes/models/index.toml +3 -0
  138. package/harnesses/hermes/security/index.toml +3 -0
  139. package/harnesses/hermes/stats/index.toml +3 -0
  140. package/harnesses/hermes/ui/index.toml +3 -0
  141. package/harnesses/hermes/update/index.toml +3 -0
  142. package/harnesses/hermes/version/index.toml +3 -0
  143. package/harnesses/hermes/yolo/index.toml +3 -0
  144. package/harnesses/jules/download/index.toml +3 -0
  145. package/harnesses/jules/headless/index.toml +3 -0
  146. package/harnesses/jules/index.toml +6 -0
  147. package/harnesses/jules/models/index.toml +3 -0
  148. package/harnesses/jules/security/index.toml +3 -0
  149. package/harnesses/jules/stats/index.toml +3 -0
  150. package/harnesses/jules/ui/index.toml +3 -0
  151. package/harnesses/jules/update/index.toml +3 -0
  152. package/harnesses/jules/version/index.toml +3 -0
  153. package/harnesses/jules/yolo/index.toml +3 -0
  154. package/harnesses/kilocode/download/index.toml +3 -0
  155. package/harnesses/kilocode/headless/index.toml +3 -0
  156. package/harnesses/kilocode/index.toml +6 -0
  157. package/harnesses/kilocode/models/index.toml +3 -0
  158. package/harnesses/kilocode/security/index.toml +3 -0
  159. package/harnesses/kilocode/stats/index.toml +3 -0
  160. package/harnesses/kilocode/ui/index.toml +3 -0
  161. package/harnesses/kilocode/update/index.toml +3 -0
  162. package/harnesses/kilocode/version/index.toml +3 -0
  163. package/harnesses/kilocode/yolo/index.toml +3 -0
  164. package/harnesses/letta/download/index.toml +3 -0
  165. package/harnesses/letta/headless/index.toml +3 -0
  166. package/harnesses/letta/index.toml +6 -0
  167. package/harnesses/letta/models/index.toml +3 -0
  168. package/harnesses/letta/security/index.toml +3 -0
  169. package/harnesses/letta/stats/index.toml +3 -0
  170. package/harnesses/letta/ui/index.toml +3 -0
  171. package/harnesses/letta/update/index.toml +3 -0
  172. package/harnesses/letta/version/index.toml +3 -0
  173. package/harnesses/letta/yolo/index.toml +3 -0
  174. package/harnesses/llxprt/download/index.toml +3 -0
  175. package/harnesses/llxprt/headless/index.toml +3 -0
  176. package/harnesses/llxprt/index.toml +6 -0
  177. package/harnesses/llxprt/models/index.toml +3 -0
  178. package/harnesses/llxprt/security/index.toml +3 -0
  179. package/harnesses/llxprt/stats/index.toml +3 -0
  180. package/harnesses/llxprt/ui/index.toml +3 -0
  181. package/harnesses/llxprt/update/index.toml +3 -0
  182. package/harnesses/llxprt/version/index.toml +3 -0
  183. package/harnesses/llxprt/yolo/index.toml +3 -0
  184. package/harnesses/nanocoder/download/index.toml +3 -0
  185. package/harnesses/nanocoder/headless/index.toml +3 -0
  186. package/harnesses/nanocoder/index.toml +6 -0
  187. package/harnesses/nanocoder/models/index.toml +3 -0
  188. package/harnesses/nanocoder/security/index.toml +3 -0
  189. package/harnesses/nanocoder/stats/index.toml +3 -0
  190. package/harnesses/nanocoder/ui/index.toml +3 -0
  191. package/harnesses/nanocoder/update/index.toml +3 -0
  192. package/harnesses/nanocoder/version/index.toml +3 -0
  193. package/harnesses/nanocoder/yolo/index.toml +3 -0
  194. package/harnesses/ollama/download/index.toml +3 -0
  195. package/harnesses/ollama/headless/index.toml +3 -0
  196. package/harnesses/ollama/index.toml +6 -0
  197. package/harnesses/ollama/models/index.toml +3 -0
  198. package/harnesses/ollama/security/index.toml +3 -0
  199. package/harnesses/ollama/stats/index.toml +3 -0
  200. package/harnesses/ollama/ui/index.toml +3 -0
  201. package/harnesses/ollama/update/index.toml +3 -0
  202. package/harnesses/ollama/version/index.toml +3 -0
  203. package/harnesses/ollama/yolo/index.toml +3 -0
  204. package/harnesses/openclaw/download/index.toml +3 -0
  205. package/harnesses/openclaw/headless/index.toml +3 -0
  206. package/harnesses/openclaw/index.toml +6 -0
  207. package/harnesses/openclaw/models/index.toml +3 -0
  208. package/harnesses/openclaw/security/index.toml +3 -0
  209. package/harnesses/openclaw/stats/index.toml +3 -0
  210. package/harnesses/openclaw/ui/index.toml +3 -0
  211. package/harnesses/openclaw/update/index.toml +3 -0
  212. package/harnesses/openclaw/version/index.toml +3 -0
  213. package/harnesses/openclaw/yolo/index.toml +3 -0
  214. package/harnesses/opencode/download/index.toml +3 -0
  215. package/harnesses/opencode/headless/index.toml +3 -0
  216. package/harnesses/opencode/index.toml +6 -0
  217. package/harnesses/opencode/models/index.toml +3 -0
  218. package/harnesses/opencode/security/index.toml +3 -0
  219. package/harnesses/opencode/stats/index.toml +3 -0
  220. package/harnesses/opencode/ui/index.toml +3 -0
  221. package/harnesses/opencode/update/index.toml +3 -0
  222. package/harnesses/opencode/version/index.toml +3 -0
  223. package/harnesses/opencode/yolo/index.toml +3 -0
  224. package/harnesses/pi/download/index.toml +3 -0
  225. package/harnesses/pi/headless/index.toml +3 -0
  226. package/harnesses/pi/index.toml +6 -0
  227. package/harnesses/pi/models/index.toml +3 -0
  228. package/harnesses/pi/security/index.toml +3 -0
  229. package/harnesses/pi/stats/index.toml +3 -0
  230. package/harnesses/pi/ui/index.toml +3 -0
  231. package/harnesses/pi/update/index.toml +3 -0
  232. package/harnesses/pi/version/index.toml +3 -0
  233. package/harnesses/pi/yolo/index.toml +3 -0
  234. package/harnesses/qwen/download/index.toml +3 -0
  235. package/harnesses/qwen/headless/index.toml +3 -0
  236. package/harnesses/qwen/index.toml +6 -0
  237. package/harnesses/qwen/models/index.toml +3 -0
  238. package/harnesses/qwen/security/index.toml +3 -0
  239. package/harnesses/qwen/stats/index.toml +3 -0
  240. package/harnesses/qwen/ui/index.toml +3 -0
  241. package/harnesses/qwen/update/index.toml +3 -0
  242. package/harnesses/qwen/version/index.toml +3 -0
  243. package/harnesses/qwen/yolo/index.toml +3 -0
  244. package/harnesses/vibe/download/index.toml +3 -0
  245. package/harnesses/vibe/headless/index.toml +3 -0
  246. package/harnesses/vibe/index.toml +6 -0
  247. package/harnesses/vibe/models/index.toml +3 -0
  248. package/harnesses/vibe/security/index.toml +3 -0
  249. package/harnesses/vibe/stats/index.toml +3 -0
  250. package/harnesses/vibe/ui/index.toml +3 -0
  251. package/harnesses/vibe/update/index.toml +3 -0
  252. package/harnesses/vibe/version/index.toml +3 -0
  253. package/harnesses/vibe/yolo/index.toml +3 -0
  254. package/package.json +21 -16
  255. package/.eslintrc.json +0 -22
  256. package/lib/index.d.ts +0 -3
  257. package/lib/index.d.ts.map +0 -1
  258. package/lib/index.js +0 -16
  259. package/lib/index.js.map +0 -1
  260. package/src/index.ts +0 -41
  261. package/tsconfig.json +0 -18
package/README.md ADDED
@@ -0,0 +1,93 @@
1
+ # Terminal Jarvis
2
+
3
+ Terminal Jarvis is being simplified into a small Rust CLI that switches between
4
+ coding-agent harnesses through data contracts instead of hard-coded tool logic.
5
+
6
+ The v0.1 line is a breaking minor revision focused on the harness catalog,
7
+ local release checks, and compact distribution surfaces.
8
+
9
+ ## Quick Start
10
+
11
+ ```bash
12
+ cargo run -- list
13
+ cargo run -- show codex
14
+ cargo run -- plan codex headless
15
+ cargo run -- use opencode
16
+ cargo run -- current
17
+ ```
18
+
19
+ Run the verification gate with:
20
+
21
+ ```bash
22
+ scripts/verify.sh
23
+ ```
24
+
25
+ Run the stronger local gate with security and package checks:
26
+
27
+ ```bash
28
+ scripts/local-ci.sh
29
+ ```
30
+
31
+ Exercise the local release asset shape without tagging or publishing:
32
+
33
+ ```bash
34
+ scripts/local-cd.sh --check-auth
35
+ ```
36
+
37
+ ## Development Environment
38
+
39
+ Prefer a remote or disposable Linux workspace for Terminal Jarvis development:
40
+ Codespaces, a short-lived VM/container, or an SSH development host. Coding-agent
41
+ harnesses install binaries, inspect repositories, and can run delegated commands,
42
+ so avoid testing new harness plans directly on a daily-driver machine.
43
+
44
+ Keep provider tokens scoped to the work, mount only the repositories being
45
+ tested, and treat `headless`, `install`, `update`, and `yolo` capability plans as
46
+ commands to review before execution.
47
+
48
+ ## New Layout
49
+
50
+ ```text
51
+ terminal-jarvis/
52
+ ├── docs/ # redesign notes and migration guidance
53
+ ├── harnesses/ # data contracts for coding-agent harness capabilities
54
+ ├── src/ # slim Rust CLI
55
+ └── tests/ # behavior and contract tests
56
+ ```
57
+
58
+ The initial catalog promotes 25 coding-agent harnesses into a shared descriptor
59
+ shape. Each harness owns the same capability folders:
60
+
61
+ ```text
62
+ harnesses/<harness>/{download,update,headless,version,stats,models,security,yolo,ui}/index.toml
63
+ ```
64
+
65
+ The CLI loads those files, validates that every harness exposes the full
66
+ capability contract, prints setup guidance, stores the active harness, and can
67
+ run a selected capability command when the user asks for it.
68
+
69
+ Auth setup is tracked at the harness level. A harness can require no key, one of
70
+ several provider keys, or all listed keys. That keeps setup guidance accurate
71
+ without forcing users to configure every provider a tool supports.
72
+
73
+ ## Design Goals
74
+
75
+ - Keep Rust source files at 100 lines or fewer.
76
+ - Keep dependencies at zero until a dependency proves its value.
77
+ - Keep user context local and explicit.
78
+ - Prefer harness data over Rust conditionals.
79
+ - Keep the v0.1 root easy to inspect while this minor revision breaks old
80
+ interfaces deliberately.
81
+ - Aim for 90 percent or better line coverage and mutation score as the CLI
82
+ stabilizes.
83
+
84
+ ## Release Path
85
+
86
+ Cargo is the active development surface. Minimal npm and Homebrew source-build
87
+ surfaces are included for smoke testing, while `scripts/package-release.sh`
88
+ builds versioned archives, checksums, npm staging files, and generated Homebrew
89
+ formula output. Tagged releases use `.github/workflows/cd-multiplatform.yml` to
90
+ publish the crate, GitHub release assets, Homebrew tap update, and npm package.
91
+
92
+ See [docs/release-plan.md](docs/release-plan.md) for the v0.1 release checklist and
93
+ auth boundaries.
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env node
2
+ const { existsSync } = require("node:fs");
3
+ const { dirname, resolve } = require("node:path");
4
+ const { spawnSync } = require("node:child_process");
5
+
6
+ const args = process.argv.slice(2);
7
+ const here = dirname(__filename);
8
+ const repo = resolve(here, "../../..");
9
+ const candidates = [
10
+ process.env.TERMINAL_JARVIS_BIN,
11
+ resolve(here, "terminal-jarvis-bin"),
12
+ resolve(repo, "target/release/terminal-jarvis"),
13
+ resolve(repo, "target/debug/terminal-jarvis"),
14
+ ].filter(Boolean);
15
+
16
+ for (const binary of candidates) {
17
+ if (existsSync(binary)) {
18
+ const result = spawnSync(binary, args, { stdio: "inherit" });
19
+ process.exit(result.status ?? 1);
20
+ }
21
+ }
22
+
23
+ if (existsSync(resolve(repo, "Cargo.toml"))) {
24
+ const result = spawnSync("cargo", ["run", "--quiet", "--", ...args], {
25
+ cwd: repo,
26
+ stdio: "inherit",
27
+ });
28
+ process.exit(result.status ?? 1);
29
+ }
30
+
31
+ console.error("terminal-jarvis binary is missing; reinstall or set TERMINAL_JARVIS_BIN");
32
+ process.exit(1);
Binary file
@@ -0,0 +1,3 @@
1
+ summary = "Install Aider from its documented distribution channel."
2
+ command = "uv"
3
+ args = ["tool", "install", "--force", "--python", "python3.12", "--with", "pip", "aider-chat@latest"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Aider headless invocation options."
2
+ command = "aider"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "aider"
2
+ display = "Aider"
3
+ description = "AI pair programming assistant that edits code in your local git repository"
4
+ binary = "aider"
5
+ env_mode = "any"
6
+ env = ["OPENROUTER_API_KEY", "OPENAI_API_KEY", "ANTHROPIC_API_KEY", "GEMINI_API_KEY", "AZURE_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Aider model selection command surface."
2
+ command = "aider"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Aider security and auth command surface."
2
+ command = "aider"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Aider local status and usage command surface."
2
+ command = "aider"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Aider interface."
2
+ command = "aider"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Aider without interactive setup flows."
2
+ command = "uv"
3
+ args = ["tool", "upgrade", "aider-chat"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Aider version."
2
+ command = "sh"
3
+ args = ["-c", "aider --version"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode is not normalized for Aider yet."
2
+ command = "sh"
3
+ args = ["-c", "echo danger yolo mode is not configured for aider; exit 1"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Amp from its documented distribution channel."
2
+ command = "npm"
3
+ args = ["install", "-g", "@sourcegraph/amp"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Amp headless invocation options."
2
+ command = "amp"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "amp"
2
+ display = "Amp"
3
+ description = "Sourcegraph's AI-powered code assistant with advanced context awareness"
4
+ binary = "amp"
5
+ env_mode = "any"
6
+ env = ["ANTHROPIC_API_KEY", "OPENAI_API_KEY", "AMP_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Amp model selection command surface."
2
+ command = "amp"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Amp security and auth command surface."
2
+ command = "amp"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Amp local status and usage command surface."
2
+ command = "amp"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Amp interface."
2
+ command = "amp"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Amp without interactive setup flows."
2
+ command = "npm"
3
+ args = ["update", "-g", "@sourcegraph/amp"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Amp version."
2
+ command = "sh"
3
+ args = ["-c", "amp --version"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode is not normalized for Amp yet."
2
+ command = "sh"
3
+ args = ["-c", "echo danger yolo mode is not configured for amp; exit 1"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Claude from its documented distribution channel."
2
+ command = "sh"
3
+ args = ["-c", "curl -fsSL https://claude.ai/install.sh | bash"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Claude headless invocation options."
2
+ command = "claude"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "claude"
2
+ display = "Claude"
3
+ description = "Anthropic's Claude for code assistance"
4
+ binary = "claude"
5
+ env_mode = "any"
6
+ env = ["ANTHROPIC_API_KEY", "CLAUDE_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Claude model selection command surface."
2
+ command = "claude"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Claude security and auth command surface."
2
+ command = "claude"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Claude local status and usage command surface."
2
+ command = "claude"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Claude interface."
2
+ command = "claude"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Claude without interactive setup flows."
2
+ command = "claude"
3
+ args = ["update"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Claude version."
2
+ command = "sh"
3
+ args = ["-c", "claude --version"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode is not normalized for Claude yet."
2
+ command = "sh"
3
+ args = ["-c", "echo danger yolo mode is not configured for claude; exit 1"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Code from its documented distribution channel."
2
+ command = "npm"
3
+ args = ["install", "-g", "@just-every/code"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Code headless invocation options."
2
+ command = "coder"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "code"
2
+ display = "Code"
3
+ description = "Fork of Codex AI - multi-provider coding agent"
4
+ binary = "coder"
5
+ env_mode = "any"
6
+ env = ["OPENAI_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Code model selection command surface."
2
+ command = "coder"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Code security and auth command surface."
2
+ command = "coder"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Code local status and usage command surface."
2
+ command = "coder"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Code interface."
2
+ command = "coder"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Code without interactive setup flows."
2
+ command = "npm"
3
+ args = ["update", "-g", "@just-every/code"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Code version."
2
+ command = "sh"
3
+ args = ["-c", "coder --version"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode is not normalized for Code yet."
2
+ command = "sh"
3
+ args = ["-c", "echo danger yolo mode is not configured for code; exit 1"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Codex with npm without sudo."
2
+ command = "npm"
3
+ args = ["install", "-g", "@openai/codex"]
@@ -0,0 +1,3 @@
1
+ summary = "Run Codex in a headless command mode when the CLI supports it."
2
+ command = "codex"
3
+ args = ["exec"]
@@ -0,0 +1,6 @@
1
+ name = "codex"
2
+ display = "OpenAI Codex"
3
+ description = "OpenAI coding agent CLI"
4
+ binary = "codex"
5
+ env_mode = "any"
6
+ env = ["OPENAI_API_KEY", "CODEX_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Show local Codex help until model listing is normalized."
2
+ command = "codex"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Codex sandbox and approval settings before running."
2
+ command = "codex"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Show local Codex help until a stable stats command is defined."
2
+ command = "codex"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Codex terminal UI."
2
+ command = "codex"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update the npm-installed Codex package without interactive auth."
2
+ command = "npm"
3
+ args = ["update", "-g", "@openai/codex"]
@@ -0,0 +1,3 @@
1
+ summary = "Print the installed Codex version."
2
+ command = "codex"
3
+ args = ["--version"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode: bypass Codex approvals and sandboxing."
2
+ command = "codex"
3
+ args = ["--dangerously-bypass-approvals-and-sandbox"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Copilot from its documented distribution channel."
2
+ command = "npm"
3
+ args = ["install", "-g", "@github/copilot"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Copilot headless invocation options."
2
+ command = "copilot"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "copilot"
2
+ display = "Copilot"
3
+ description = "GitHub Copilot CLI - AI pair programming directly in your terminal"
4
+ binary = "copilot"
5
+ env_mode = "any"
6
+ env = ["GITHUB_TOKEN", "GH_TOKEN"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Copilot model selection command surface."
2
+ command = "copilot"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Copilot security and auth command surface."
2
+ command = "copilot"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Copilot local status and usage command surface."
2
+ command = "copilot"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Copilot interface."
2
+ command = "copilot"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Copilot without interactive setup flows."
2
+ command = "npm"
3
+ args = ["update", "-g", "@github/copilot"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Copilot version."
2
+ command = "sh"
3
+ args = ["-c", "copilot --version"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode is not normalized for Copilot yet."
2
+ command = "sh"
3
+ args = ["-c", "echo danger yolo mode is not configured for copilot; exit 1"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Crush from its documented distribution channel."
2
+ command = "npm"
3
+ args = ["install", "-g", "@charmland/crush"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Crush headless invocation options."
2
+ command = "crush"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "crush"
2
+ display = "Crush"
3
+ description = "Charm's multi-model AI assistant with LSP"
4
+ binary = "crush"
5
+ env_mode = "any"
6
+ env = ["ANTHROPIC_API_KEY", "OPENAI_API_KEY", "CHARM_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Crush model selection command surface."
2
+ command = "crush"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Crush security and auth command surface."
2
+ command = "crush"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Crush local status and usage command surface."
2
+ command = "crush"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Crush interface."
2
+ command = "crush"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Crush without interactive setup flows."
2
+ command = "npm"
3
+ args = ["update", "-g", "@charmland/crush"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Crush version."
2
+ command = "sh"
3
+ args = ["-c", "crush --version"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode is not normalized for Crush yet."
2
+ command = "sh"
3
+ args = ["-c", "echo danger yolo mode is not configured for crush; exit 1"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Cursor Agent from its documented distribution channel."
2
+ command = "pip"
3
+ args = ["install", "cursor-agent-tools"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Cursor Agent headless invocation options."
2
+ command = "cursor-agent"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "cursor-agent"
2
+ display = "Cursor Agent"
3
+ description = "AI agent replicating Cursor's capabilities in the CLI"
4
+ binary = "cursor-agent"
5
+ env_mode = "any"
6
+ env = ["OPENAI_API_KEY", "ANTHROPIC_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Cursor Agent model selection command surface."
2
+ command = "cursor-agent"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Cursor Agent security and auth command surface."
2
+ command = "cursor-agent"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Cursor Agent local status and usage command surface."
2
+ command = "cursor-agent"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Cursor Agent interface."
2
+ command = "cursor-agent"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Cursor Agent without interactive setup flows."
2
+ command = "pip"
3
+ args = ["install", "--upgrade", "cursor-agent-tools"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Cursor Agent version."
2
+ command = "sh"
3
+ args = ["-c", "cursor-agent --help"]
@@ -0,0 +1,3 @@
1
+ summary = "Dangerous mode is not normalized for Cursor Agent yet."
2
+ command = "sh"
3
+ args = ["-c", "echo danger yolo mode is not configured for cursor-agent; exit 1"]
@@ -0,0 +1,3 @@
1
+ summary = "Install Droid from its documented distribution channel."
2
+ command = "sh"
3
+ args = ["-c", "curl -fsSL https://app.factory.ai/cli | sh"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Droid headless invocation options."
2
+ command = "droid"
3
+ args = ["--help"]
@@ -0,0 +1,6 @@
1
+ name = "droid"
2
+ display = "Droid"
3
+ description = "Factory AI's Droid - Automated coding engineer"
4
+ binary = "droid"
5
+ env_mode = "any"
6
+ env = ["ANTHROPIC_API_KEY", "OPENAI_API_KEY", "FACTORY_API_KEY"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Droid model selection command surface."
2
+ command = "droid"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Droid security and auth command surface."
2
+ command = "droid"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Review Droid local status and usage command surface."
2
+ command = "droid"
3
+ args = ["--help"]
@@ -0,0 +1,3 @@
1
+ summary = "Open the interactive Droid interface."
2
+ command = "droid"
3
+ args = []
@@ -0,0 +1,3 @@
1
+ summary = "Update Droid without interactive setup flows."
2
+ command = "droid"
3
+ args = ["update"]
@@ -0,0 +1,3 @@
1
+ summary = "Print or verify the installed Droid version."
2
+ command = "sh"
3
+ args = ["-c", "droid --version"]