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.
@@ -1 +1,3 @@
1
- export declare function initCommand(): Promise<void>;
1
+ export declare function initCommand(options?: {
2
+ update?: boolean;
3
+ }): Promise<void>;
@@ -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
- console.log('Initializing ExpxAgents project...\n');
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(' Copied _expxagents/core/ (core agents + best practices)');
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(' Copied agents/ (93 agent templates across 16 sectors)');
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(' Created .claude/skills/expxagents/SKILL.md (enables /expxagents command)');
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');
@@ -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]')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expxagents",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "description": "Multi-agent orchestration platform for AI squads",
5
5
  "author": "ExpxAgents",
6
6
  "license": "MIT",