@swarmvaultai/cli 0.1.27 → 0.1.28
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.
- package/README.md +16 -2
- package/dist/index.js +21 -12
- package/package.json +8 -8
- package/LICENSE +0 -21
package/README.md
CHANGED
|
@@ -255,16 +255,30 @@ Export the current graph as one of four formats:
|
|
|
255
255
|
- `--graphml` for graph-tool interoperability
|
|
256
256
|
- `--cypher` for Neo4j-style import scripts
|
|
257
257
|
|
|
258
|
-
### `swarmvault install --agent <codex|claude|cursor|goose|pi|gemini|opencode>`
|
|
258
|
+
### `swarmvault install --agent <codex|claude|cursor|goose|pi|gemini|opencode|aider|copilot>`
|
|
259
259
|
|
|
260
260
|
Install agent-specific rules into the current project so an agent understands the SwarmVault workspace contract and workflow.
|
|
261
261
|
|
|
262
|
-
|
|
262
|
+
Hook-capable installs:
|
|
263
263
|
|
|
264
264
|
```bash
|
|
265
265
|
swarmvault install --agent claude --hook
|
|
266
|
+
swarmvault install --agent gemini --hook
|
|
267
|
+
swarmvault install --agent opencode --hook
|
|
268
|
+
swarmvault install --agent copilot --hook
|
|
266
269
|
```
|
|
267
270
|
|
|
271
|
+
Agent target mapping:
|
|
272
|
+
|
|
273
|
+
- `codex`, `goose`, `pi`, and `opencode` share `AGENTS.md`
|
|
274
|
+
- `claude` writes `CLAUDE.md`
|
|
275
|
+
- `gemini` writes `GEMINI.md`
|
|
276
|
+
- `aider` writes `CONVENTIONS.md` and merges `.aider.conf.yml`
|
|
277
|
+
- `copilot` writes `.github/copilot-instructions.md` plus `AGENTS.md`
|
|
278
|
+
- `cursor` writes `.cursor/rules/swarmvault.mdc`
|
|
279
|
+
|
|
280
|
+
`aider` is intentionally file/config-based in this release rather than hook-based.
|
|
281
|
+
|
|
268
282
|
## Provider Configuration
|
|
269
283
|
|
|
270
284
|
SwarmVault defaults to a local `heuristic` provider so the CLI works without API keys, but real vaults will usually point at an actual model provider.
|
package/dist/index.js
CHANGED
|
@@ -216,9 +216,9 @@ program.name("swarmvault").description("SwarmVault is a local-first LLM wiki com
|
|
|
216
216
|
function readCliVersion() {
|
|
217
217
|
try {
|
|
218
218
|
const packageJson = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"));
|
|
219
|
-
return typeof packageJson.version === "string" && packageJson.version.trim() ? packageJson.version : "0.1.
|
|
219
|
+
return typeof packageJson.version === "string" && packageJson.version.trim() ? packageJson.version : "0.1.28";
|
|
220
220
|
} catch {
|
|
221
|
-
return "0.1.
|
|
221
|
+
return "0.1.28";
|
|
222
222
|
}
|
|
223
223
|
}
|
|
224
224
|
function isJson() {
|
|
@@ -693,17 +693,26 @@ program.command("mcp").description("Run SwarmVault as a local MCP server over st
|
|
|
693
693
|
process2.exit(0);
|
|
694
694
|
});
|
|
695
695
|
});
|
|
696
|
-
program.command("install").description("Install SwarmVault instructions for an agent in the current project.").requiredOption("--agent <agent>", "codex, claude, cursor, goose, pi, gemini, or
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
696
|
+
program.command("install").description("Install SwarmVault instructions for an agent in the current project.").requiredOption("--agent <agent>", "codex, claude, cursor, goose, pi, gemini, opencode, aider, or copilot").option("--hook", "Also install hook/plugin guidance when the target agent supports it", false).action(
|
|
697
|
+
async (options) => {
|
|
698
|
+
const hookCapableAgents = /* @__PURE__ */ new Set(["claude", "opencode", "gemini", "copilot"]);
|
|
699
|
+
if (options.hook && !hookCapableAgents.has(options.agent)) {
|
|
700
|
+
throw new Error("--hook is only supported for --agent claude, opencode, gemini, or copilot");
|
|
701
|
+
}
|
|
702
|
+
const result = await installAgent(process2.cwd(), options.agent, { hook: options.hook ?? false });
|
|
703
|
+
if (isJson()) {
|
|
704
|
+
emitJson({ ...result, hook: options.hook ?? false });
|
|
705
|
+
} else {
|
|
706
|
+
log(`Installed rules into ${result.target}`);
|
|
707
|
+
if (result.targets.length > 1) {
|
|
708
|
+
log(`Also wrote: ${result.targets.filter((entry) => entry !== result.target).join(", ")}`);
|
|
709
|
+
}
|
|
710
|
+
for (const warning of result.warnings ?? []) {
|
|
711
|
+
emitNotice(warning);
|
|
712
|
+
}
|
|
713
|
+
}
|
|
705
714
|
}
|
|
706
|
-
|
|
715
|
+
);
|
|
707
716
|
program.parseAsync(process2.argv).catch((error) => {
|
|
708
717
|
const message = error instanceof Error ? error.message : String(error);
|
|
709
718
|
if (isJson()) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@swarmvaultai/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.28",
|
|
4
4
|
"description": "Global CLI for SwarmVault.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -37,18 +37,18 @@
|
|
|
37
37
|
"engines": {
|
|
38
38
|
"node": ">=24.0.0"
|
|
39
39
|
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "tsup src/index.ts --format esm --dts",
|
|
42
|
+
"test": "vitest run",
|
|
43
|
+
"typecheck": "tsc --noEmit"
|
|
44
|
+
},
|
|
40
45
|
"dependencies": {
|
|
41
|
-
"@swarmvaultai/engine": "0.1.
|
|
46
|
+
"@swarmvaultai/engine": "0.1.28",
|
|
42
47
|
"commander": "^14.0.1"
|
|
43
48
|
},
|
|
44
49
|
"devDependencies": {
|
|
45
50
|
"@types/node": "^24.6.0",
|
|
46
51
|
"tsup": "^8.5.0",
|
|
47
52
|
"vitest": "^3.2.4"
|
|
48
|
-
},
|
|
49
|
-
"scripts": {
|
|
50
|
-
"build": "tsup src/index.ts --format esm --dts",
|
|
51
|
-
"test": "vitest run",
|
|
52
|
-
"typecheck": "tsc --noEmit"
|
|
53
53
|
}
|
|
54
|
-
}
|
|
54
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 SwarmVault
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|