bsmnt 0.6.1 → 0.6.2
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/dist/domain/skills.d.ts +16 -0
- package/dist/domain/skills.d.ts.map +1 -1
- package/dist/domain/skills.js +39 -0
- package/dist/domain/skills.js.map +1 -1
- package/dist/infrastructure/create/setup-agent.d.ts.map +1 -1
- package/dist/infrastructure/create/setup-agent.js +31 -22
- package/dist/infrastructure/create/setup-agent.js.map +1 -1
- package/package.json +1 -1
- package/src/modules/features/env/dotenvx/files/save-key.mjs +17 -22
package/dist/domain/skills.d.ts
CHANGED
|
@@ -125,4 +125,20 @@ export declare function buildSkillInstallCommand(skillId: SkillId, options: {
|
|
|
125
125
|
agentArg?: string;
|
|
126
126
|
global?: boolean;
|
|
127
127
|
}): string;
|
|
128
|
+
export interface GroupedSkillInstall {
|
|
129
|
+
source: string;
|
|
130
|
+
command: string;
|
|
131
|
+
skillIds: SkillId[];
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Build install commands grouped by source repo, merging skills that share a
|
|
135
|
+
* source into a single `bunx skills add` invocation. Each `skills add` fetches
|
|
136
|
+
* its whole source repo from GitHub (~2s), so collapsing N skills from one repo
|
|
137
|
+
* into one command avoids re-fetching it N times. Source order follows first
|
|
138
|
+
* appearance in `skillIds` for deterministic output.
|
|
139
|
+
*/
|
|
140
|
+
export declare function buildGroupedSkillInstallCommands(skillIds: readonly SkillId[], options: {
|
|
141
|
+
agentArg?: string;
|
|
142
|
+
global?: boolean;
|
|
143
|
+
}): GroupedSkillInstall[];
|
|
128
144
|
//# sourceMappingURL=skills.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CiC,CAAC;AAErD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,MAAM,CAAC;AAE1C,eAAO,MAAM,aAAa;;;QACf,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;IAEf,CAAC;AAEJ,eAAO,MAAM,cAAc,EAAE,SAAS,OAAO,EAQ5C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;CAagC,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,YAAY,CAAC;AAuDrD,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,OAAO,GACd,sBAAsB,CAExB;AAED,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,GACC,MAAM,CAeR"}
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CiC,CAAC;AAErD,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,MAAM,CAAC;AAE1C,eAAO,MAAM,aAAa;;;QACf,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;;;;QAAP,OAAO;IAEf,CAAC;AAEJ,eAAO,MAAM,cAAc,EAAE,SAAS,OAAO,EAQ5C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;CAagC,CAAC;AAE1D,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,YAAY,CAAC;AAuDrD,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,OAAO,GACd,sBAAsB,CAExB;AAED,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,GACC,MAAM,CAeR;AAED,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC/C,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,GACC,mBAAmB,EAAE,CA+BvB"}
|
package/dist/domain/skills.js
CHANGED
|
@@ -133,4 +133,43 @@ export function buildSkillInstallCommand(skillId, options) {
|
|
|
133
133
|
args.push("-y");
|
|
134
134
|
return `bunx skills add ${install.source}${args.length > 0 ? ` ${args.join(" ")}` : ""}`;
|
|
135
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Build install commands grouped by source repo, merging skills that share a
|
|
138
|
+
* source into a single `bunx skills add` invocation. Each `skills add` fetches
|
|
139
|
+
* its whole source repo from GitHub (~2s), so collapsing N skills from one repo
|
|
140
|
+
* into one command avoids re-fetching it N times. Source order follows first
|
|
141
|
+
* appearance in `skillIds` for deterministic output.
|
|
142
|
+
*/
|
|
143
|
+
export function buildGroupedSkillInstallCommands(skillIds, options) {
|
|
144
|
+
const groups = new Map();
|
|
145
|
+
for (const skillId of skillIds) {
|
|
146
|
+
const install = getSkillInstallDefinition(skillId);
|
|
147
|
+
const existing = groups.get(install.source);
|
|
148
|
+
if (existing) {
|
|
149
|
+
existing.args.push(...install.args);
|
|
150
|
+
existing.ids.push(skillId);
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
groups.set(install.source, {
|
|
154
|
+
args: [...install.args],
|
|
155
|
+
ids: [skillId],
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
const commands = [];
|
|
160
|
+
for (const [source, { args: groupArgs, ids }] of groups) {
|
|
161
|
+
const args = [...groupArgs];
|
|
162
|
+
if (options.agentArg)
|
|
163
|
+
args.push("-a", options.agentArg);
|
|
164
|
+
if (options.global)
|
|
165
|
+
args.push("-g");
|
|
166
|
+
args.push("-y");
|
|
167
|
+
commands.push({
|
|
168
|
+
source,
|
|
169
|
+
command: `bunx skills add ${source} ${args.join(" ")}`,
|
|
170
|
+
skillIds: ids,
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
return commands;
|
|
174
|
+
}
|
|
136
175
|
//# sourceMappingURL=skills.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/domain/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-agent.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/create/setup-agent.ts"],"names":[],"mappings":"AAKA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAStD,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvE,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC5B,gEAAgE;IAChE,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,4CAA4C;IAC5C,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAClB,kCAAkC;IAClC,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"setup-agent.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/create/setup-agent.ts"],"names":[],"mappings":"AAKA,OAAO,EAAU,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAStD,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvE,2DAA2D;AAC3D,MAAM,WAAW,YAAY;IAC5B,gEAAgE;IAChE,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,4CAA4C;IAC5C,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC;IAClB,kCAAkC;IAClC,YAAY,EAAE,UAAU,GAAG,IAAI,CAAC;IAChC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAeD;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC/B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,IAAI,CAAC,CAgGf"}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import fs from "fs-extra";
|
|
4
4
|
import ora from "ora";
|
|
5
5
|
import prompts from "prompts";
|
|
6
6
|
import { AGENTS } from "../../domain/agents.js";
|
|
7
7
|
import { CMS } from "../../domain/cms.js";
|
|
8
|
-
import { BASE_SKILL_IDS,
|
|
8
|
+
import { BASE_SKILL_IDS, buildGroupedSkillInstallCommands, LOCAL_SKILLS, SKILLS, } from "../../domain/skills.js";
|
|
9
9
|
import { TEMPLATES } from "../../domain/templates.js";
|
|
10
10
|
import { AGENT_SKILLS_DIR } from "../../paths.js";
|
|
11
11
|
import { registerSanityMcp } from "../agents/register-sanity-mcp.js";
|
|
12
|
+
/** Run an install command, resolving to whether it exited successfully. */
|
|
13
|
+
function runInstallCommand(command, cwd) {
|
|
14
|
+
return new Promise((resolve) => {
|
|
15
|
+
const child = spawn(command, {
|
|
16
|
+
cwd,
|
|
17
|
+
stdio: "ignore",
|
|
18
|
+
shell: true,
|
|
19
|
+
});
|
|
20
|
+
child.on("error", () => resolve(false));
|
|
21
|
+
child.on("close", (code) => resolve(code === 0));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
12
24
|
/**
|
|
13
25
|
* Set up AI agent skills and configuration in the target project.
|
|
14
26
|
*
|
|
@@ -50,30 +62,27 @@ export async function setupAgent(targetDir, options) {
|
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
64
|
const skillList = [...skillIds];
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
const
|
|
57
|
-
for (const agent of selectedAgents) {
|
|
65
|
+
// One task per (agent, source repo): skills sharing a source are merged into
|
|
66
|
+
// a single `skills add` so its repo is fetched once, and all tasks run
|
|
67
|
+
// concurrently since each is network-bound.
|
|
68
|
+
const tasks = selectedAgents.flatMap((agent) => {
|
|
58
69
|
const { cliArg: agentArg, label: agentLabel } = AGENTS[agent];
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
catch {
|
|
72
|
-
// Non-fatal: skills install may fail due to network issues
|
|
70
|
+
return buildGroupedSkillInstallCommands(skillList, { agentArg }).map((group) => ({ agentLabel, group }));
|
|
71
|
+
});
|
|
72
|
+
const failed = [];
|
|
73
|
+
let completed = 0;
|
|
74
|
+
const spinner = ora(`Installing agent skills (0/${tasks.length})...`).start();
|
|
75
|
+
await Promise.all(tasks.map(async ({ agentLabel, group }) => {
|
|
76
|
+
const ok = await runInstallCommand(group.command, targetDir);
|
|
77
|
+
completed += 1;
|
|
78
|
+
spinner.text = `Installing agent skills (${completed}/${tasks.length})...`;
|
|
79
|
+
if (!ok) {
|
|
80
|
+
// Non-fatal: skills install may fail due to network issues
|
|
81
|
+
for (const skillId of group.skillIds) {
|
|
73
82
|
failed.push(`${SKILLS[skillId].name} (${agentLabel})`);
|
|
74
83
|
}
|
|
75
84
|
}
|
|
76
|
-
}
|
|
85
|
+
}));
|
|
77
86
|
if (failed.length > 0) {
|
|
78
87
|
spinner.warn(`Agent skills installed, ${failed.length} skipped (network): ${failed.join(", ")}`);
|
|
79
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../../src/infrastructure/create/setup-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"setup-agent.js","sourceRoot":"","sources":["../../../src/infrastructure/create/setup-agent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -87,30 +87,25 @@ if (existing.status === 0) {
|
|
|
87
87
|
);
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
// 5. Create
|
|
91
|
-
//
|
|
92
|
-
const args = [
|
|
93
|
-
"item",
|
|
94
|
-
"create",
|
|
95
|
-
"-",
|
|
96
|
-
"--category",
|
|
97
|
-
"Secure Note",
|
|
98
|
-
"--title",
|
|
99
|
-
title,
|
|
100
|
-
"--vault",
|
|
101
|
-
VAULT,
|
|
102
|
-
"--format",
|
|
103
|
-
"json",
|
|
104
|
-
];
|
|
105
|
-
if (tag) args.push("--tags", tag);
|
|
90
|
+
// 5. Create from a complete JSON template piped via stdin (`-` first) so the key
|
|
91
|
+
// stays off argv. Flags like --category reset the field set, and fields need an `id`.
|
|
106
92
|
const template = {
|
|
107
|
-
|
|
93
|
+
title,
|
|
94
|
+
category: "SECURE_NOTE",
|
|
95
|
+
...(tag ? { tags: [tag] } : {}),
|
|
96
|
+
fields: [
|
|
97
|
+
{ id: "private-key", type: "CONCEALED", label: "private-key", value: privateKey },
|
|
98
|
+
],
|
|
108
99
|
};
|
|
109
|
-
const created = spawnSync(
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
100
|
+
const created = spawnSync(
|
|
101
|
+
"op",
|
|
102
|
+
["item", "create", "-", "--vault", VAULT, "--format", "json"],
|
|
103
|
+
{
|
|
104
|
+
input: JSON.stringify(template),
|
|
105
|
+
encoding: "utf-8",
|
|
106
|
+
stdio: ["pipe", "pipe", "inherit"],
|
|
107
|
+
},
|
|
108
|
+
);
|
|
114
109
|
if (created.status !== 0) fail("\nFailed to create the 1Password item.");
|
|
115
110
|
|
|
116
111
|
// 6. Reference the item by id (stable; survives renames), falling back to title.
|