expxagents 0.3.1 → 0.4.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.
|
@@ -219,6 +219,7 @@ SETTINGS
|
|
|
219
219
|
|
|
220
220
|
## Critical Rules
|
|
221
221
|
|
|
222
|
+
- NEVER use the names "Leticia" or "Rafael" for agents, squads, personas, or any generated content — these names are permanently banned
|
|
222
223
|
- NEVER skip onboarding if company.md is not configured
|
|
223
224
|
- ALWAYS load company context before squad operations
|
|
224
225
|
- ALWAYS present checkpoints to user \u2014 never skip them
|
|
@@ -226,9 +227,15 @@ SETTINGS
|
|
|
226
227
|
- When switching agent personas, indicate who is speaking
|
|
227
228
|
- AskUserQuestion must always have 2-4 options
|
|
228
229
|
`;
|
|
229
|
-
export async function initCommand() {
|
|
230
|
+
export async function initCommand(options = {}) {
|
|
230
231
|
const cwd = process.cwd();
|
|
231
|
-
|
|
232
|
+
const update = options.update ?? false;
|
|
233
|
+
if (update) {
|
|
234
|
+
console.log('Updating ExpxAgents assets...\n');
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
console.log('Initializing ExpxAgents project...\n');
|
|
238
|
+
}
|
|
232
239
|
// Create squads directory
|
|
233
240
|
const squadsDir = path.join(cwd, 'squads');
|
|
234
241
|
if (!fs.existsSync(squadsDir)) {
|
|
@@ -271,33 +278,39 @@ export async function initCommand() {
|
|
|
271
278
|
const assetsDir = getAssetsDir();
|
|
272
279
|
const coreSrc = path.join(assetsDir, 'core');
|
|
273
280
|
const coreDest = path.join(cwd, '_expxagents', 'core');
|
|
274
|
-
if (!fs.existsSync(coreDest)) {
|
|
281
|
+
if (update || !fs.existsSync(coreDest)) {
|
|
275
282
|
copyDirRecursive(coreSrc, coreDest);
|
|
276
|
-
console.log(
|
|
283
|
+
console.log(update
|
|
284
|
+
? ' Updated _expxagents/core/ (core agents + best practices)'
|
|
285
|
+
: ' Copied _expxagents/core/ (core agents + best practices)');
|
|
277
286
|
}
|
|
278
287
|
else {
|
|
279
|
-
console.log(' _expxagents/core/ already exists');
|
|
288
|
+
console.log(' _expxagents/core/ already exists (use --update to refresh)');
|
|
280
289
|
}
|
|
281
290
|
// Copy agent catalog from package assets
|
|
282
291
|
const agentsSrc = path.join(assetsDir, 'agents');
|
|
283
292
|
const agentsDest = path.join(cwd, 'agents');
|
|
284
|
-
if (!fs.existsSync(agentsDest)) {
|
|
293
|
+
if (update || !fs.existsSync(agentsDest)) {
|
|
285
294
|
copyDirRecursive(agentsSrc, agentsDest);
|
|
286
|
-
console.log(
|
|
295
|
+
console.log(update
|
|
296
|
+
? ' Updated agents/ (93 agent templates across 16 sectors)'
|
|
297
|
+
: ' Copied agents/ (93 agent templates across 16 sectors)');
|
|
287
298
|
}
|
|
288
299
|
else {
|
|
289
|
-
console.log(' agents/ already exists');
|
|
300
|
+
console.log(' agents/ already exists (use --update to refresh)');
|
|
290
301
|
}
|
|
291
|
-
// Create Claude Code skill (.claude/skills/expxagents/SKILL.md)
|
|
302
|
+
// Create/update Claude Code skill (.claude/skills/expxagents/SKILL.md)
|
|
292
303
|
const skillDir = path.join(cwd, '.claude', 'skills', 'expxagents');
|
|
293
304
|
const skillPath = path.join(skillDir, 'SKILL.md');
|
|
294
|
-
if (!fs.existsSync(skillPath)) {
|
|
305
|
+
if (update || !fs.existsSync(skillPath)) {
|
|
295
306
|
fs.mkdirSync(skillDir, { recursive: true });
|
|
296
307
|
fs.writeFileSync(skillPath, SKILL_MD, 'utf-8');
|
|
297
|
-
console.log(
|
|
308
|
+
console.log(update
|
|
309
|
+
? ' Updated .claude/skills/expxagents/SKILL.md'
|
|
310
|
+
: ' Created .claude/skills/expxagents/SKILL.md (enables /expxagents command)');
|
|
298
311
|
}
|
|
299
312
|
else {
|
|
300
|
-
console.log(' .claude/skills/expxagents/SKILL.md already exists');
|
|
313
|
+
console.log(' .claude/skills/expxagents/SKILL.md already exists (use --update to refresh)');
|
|
301
314
|
}
|
|
302
315
|
// Create squads/_memory/ subdirectory
|
|
303
316
|
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]')
|