expxagents 0.3.1 → 0.4.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.
|
@@ -226,9 +226,15 @@ SETTINGS
|
|
|
226
226
|
- When switching agent personas, indicate who is speaking
|
|
227
227
|
- AskUserQuestion must always have 2-4 options
|
|
228
228
|
`;
|
|
229
|
-
export async function initCommand() {
|
|
229
|
+
export async function initCommand(options = {}) {
|
|
230
230
|
const cwd = process.cwd();
|
|
231
|
-
|
|
231
|
+
const update = options.update ?? false;
|
|
232
|
+
if (update) {
|
|
233
|
+
console.log('Updating ExpxAgents assets...\n');
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
console.log('Initializing ExpxAgents project...\n');
|
|
237
|
+
}
|
|
232
238
|
// Create squads directory
|
|
233
239
|
const squadsDir = path.join(cwd, 'squads');
|
|
234
240
|
if (!fs.existsSync(squadsDir)) {
|
|
@@ -271,33 +277,39 @@ export async function initCommand() {
|
|
|
271
277
|
const assetsDir = getAssetsDir();
|
|
272
278
|
const coreSrc = path.join(assetsDir, 'core');
|
|
273
279
|
const coreDest = path.join(cwd, '_expxagents', 'core');
|
|
274
|
-
if (!fs.existsSync(coreDest)) {
|
|
280
|
+
if (update || !fs.existsSync(coreDest)) {
|
|
275
281
|
copyDirRecursive(coreSrc, coreDest);
|
|
276
|
-
console.log(
|
|
282
|
+
console.log(update
|
|
283
|
+
? ' Updated _expxagents/core/ (core agents + best practices)'
|
|
284
|
+
: ' Copied _expxagents/core/ (core agents + best practices)');
|
|
277
285
|
}
|
|
278
286
|
else {
|
|
279
|
-
console.log(' _expxagents/core/ already exists');
|
|
287
|
+
console.log(' _expxagents/core/ already exists (use --update to refresh)');
|
|
280
288
|
}
|
|
281
289
|
// Copy agent catalog from package assets
|
|
282
290
|
const agentsSrc = path.join(assetsDir, 'agents');
|
|
283
291
|
const agentsDest = path.join(cwd, 'agents');
|
|
284
|
-
if (!fs.existsSync(agentsDest)) {
|
|
292
|
+
if (update || !fs.existsSync(agentsDest)) {
|
|
285
293
|
copyDirRecursive(agentsSrc, agentsDest);
|
|
286
|
-
console.log(
|
|
294
|
+
console.log(update
|
|
295
|
+
? ' Updated agents/ (93 agent templates across 16 sectors)'
|
|
296
|
+
: ' Copied agents/ (93 agent templates across 16 sectors)');
|
|
287
297
|
}
|
|
288
298
|
else {
|
|
289
|
-
console.log(' agents/ already exists');
|
|
299
|
+
console.log(' agents/ already exists (use --update to refresh)');
|
|
290
300
|
}
|
|
291
|
-
// Create Claude Code skill (.claude/skills/expxagents/SKILL.md)
|
|
301
|
+
// Create/update Claude Code skill (.claude/skills/expxagents/SKILL.md)
|
|
292
302
|
const skillDir = path.join(cwd, '.claude', 'skills', 'expxagents');
|
|
293
303
|
const skillPath = path.join(skillDir, 'SKILL.md');
|
|
294
|
-
if (!fs.existsSync(skillPath)) {
|
|
304
|
+
if (update || !fs.existsSync(skillPath)) {
|
|
295
305
|
fs.mkdirSync(skillDir, { recursive: true });
|
|
296
306
|
fs.writeFileSync(skillPath, SKILL_MD, 'utf-8');
|
|
297
|
-
console.log(
|
|
307
|
+
console.log(update
|
|
308
|
+
? ' Updated .claude/skills/expxagents/SKILL.md'
|
|
309
|
+
: ' Created .claude/skills/expxagents/SKILL.md (enables /expxagents command)');
|
|
298
310
|
}
|
|
299
311
|
else {
|
|
300
|
-
console.log(' .claude/skills/expxagents/SKILL.md already exists');
|
|
312
|
+
console.log(' .claude/skills/expxagents/SKILL.md already exists (use --update to refresh)');
|
|
301
313
|
}
|
|
302
314
|
// Create squads/_memory/ subdirectory
|
|
303
315
|
const squadsMemoryDir = path.join(cwd, 'squads', '_memory');
|
package/dist/cli/src/index.js
CHANGED
|
@@ -17,6 +17,7 @@ program
|
|
|
17
17
|
program
|
|
18
18
|
.command('init')
|
|
19
19
|
.description('Initialize project (dirs, .env, admin user)')
|
|
20
|
+
.option('--update', 'Update core agents, agent catalog, and skill to latest version')
|
|
20
21
|
.action(initCommand);
|
|
21
22
|
program
|
|
22
23
|
.command('create [description]')
|