claude-autopm 2.8.3 → 2.8.5

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.
@@ -300,6 +300,61 @@ class ConfigCommand {
300
300
  // Format the confirmation message
301
301
  const displayKey = key.charAt(0).toUpperCase() + key.slice(1).replace(/([A-Z])/g, ' $1');
302
302
  console.log(`✅ ${displayKey} set to: ${value}`);
303
+
304
+ // Show helpful information for provider setup
305
+ if (key === 'provider') {
306
+ console.log('');
307
+ console.log('┌─────────────────────────────────────────────────────────────┐');
308
+ console.log(`│ ${value === 'github' ? 'GitHub' : 'Azure DevOps'} Provider Configuration`);
309
+ console.log('├─────────────────────────────────────────────────────────────┤');
310
+
311
+ if (value === 'github') {
312
+ console.log('│ Required Settings:');
313
+ console.log('│ • Repository owner/organization name');
314
+ console.log('│ • Repository name');
315
+ console.log('│ • Personal Access Token (PAT)');
316
+ console.log('│');
317
+ console.log('│ Setup Commands:');
318
+ console.log('│ 1. Set owner: autopm config set github.owner YOUR_USERNAME');
319
+ console.log('│ 2. Set repo: autopm config set github.repo YOUR_REPO');
320
+ console.log('│ 3. Add PAT: Edit .claude/.env and add:');
321
+ console.log('│ GITHUB_TOKEN=ghp_your_token_here');
322
+ console.log('│');
323
+ console.log('│ Create a GitHub Personal Access Token:');
324
+ console.log('│ 1. Go to: https://github.com/settings/tokens');
325
+ console.log('│ 2. Click "Generate new token (classic)"');
326
+ console.log('│ 3. Give it a name and select scopes:');
327
+ console.log('│ - repo (all)');
328
+ console.log('│ - workflow (if using GitHub Actions)');
329
+ console.log('│ 4. Generate and copy the token');
330
+ console.log('│');
331
+ console.log('│ Verify setup: autopm config validate');
332
+ } else if (value === 'azure') {
333
+ console.log('│ Required Settings:');
334
+ console.log('│ • Organization name');
335
+ console.log('│ • Project name');
336
+ console.log('│ • Personal Access Token (PAT)');
337
+ console.log('│');
338
+ console.log('│ Setup Commands:');
339
+ console.log('│ 1. Set org: autopm config set azure.organization YOUR_ORG');
340
+ console.log('│ 2. Set project: autopm config set azure.project YOUR_PROJECT');
341
+ console.log('│ 3. Add PAT: Edit .claude/.env and add:');
342
+ console.log('│ AZURE_DEVOPS_PAT=your_token_here');
343
+ console.log('│');
344
+ console.log('│ Create an Azure DevOps Personal Access Token:');
345
+ console.log('│ 1. Go to: https://dev.azure.com/YOUR_ORG/_usersSettings/tokens');
346
+ console.log('│ 2. Click "+ New Token"');
347
+ console.log('│ 3. Give it a name and select scopes:');
348
+ console.log('│ - Work Items: Read, write, & manage');
349
+ console.log('│ - Code: Read & write');
350
+ console.log('│ 4. Create and copy the token');
351
+ console.log('│');
352
+ console.log('│ Verify setup: autopm config validate');
353
+ }
354
+
355
+ console.log('└─────────────────────────────────────────────────────────────┘');
356
+ console.log('');
357
+ }
303
358
  }
304
359
 
305
360
  /**
@@ -411,9 +466,7 @@ class ConfigCommand {
411
466
  */
412
467
  async switch(provider) {
413
468
  await this.set('provider', provider);
414
-
415
- const providerName = provider === 'azure' ? 'Azure DevOps' : 'GitHub';
416
- console.log(`✅ Switched to ${providerName}`);
469
+ // The set method will handle showing the configuration guide
417
470
  }
418
471
  }
419
472
 
@@ -884,12 +884,22 @@ See: https://github.com/rafeekpro/ClaudeAutoPM
884
884
 
885
885
  // Install agents
886
886
  if (metadata.agents && metadata.agents.length > 0) {
887
- const targetDir = path.join(this.targetDir, '.claude', 'agents', metadata.category);
888
- if (!fs.existsSync(targetDir)) {
889
- fs.mkdirSync(targetDir, { recursive: true });
890
- }
891
-
892
887
  for (const agent of metadata.agents) {
888
+ // Validate agent has required properties
889
+ if (!agent.file) {
890
+ this.printWarning(`Agent ${agent.name || 'unknown'} missing file property, skipping`);
891
+ continue;
892
+ }
893
+ if (!agent.category) {
894
+ this.printWarning(`Agent ${agent.name || 'unknown'} missing category property, skipping`);
895
+ continue;
896
+ }
897
+
898
+ const targetDir = path.join(this.targetDir, '.claude', 'agents', agent.category);
899
+ if (!fs.existsSync(targetDir)) {
900
+ fs.mkdirSync(targetDir, { recursive: true });
901
+ }
902
+
893
903
  const sourcePath = path.join(pluginPath, agent.file);
894
904
  const targetPath = path.join(targetDir, path.basename(agent.file));
895
905
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-autopm",
3
- "version": "2.8.3",
3
+ "version": "2.8.5",
4
4
  "description": "Autonomous Project Management Framework for Claude Code - Advanced AI-powered development automation",
5
5
  "main": "bin/autopm.js",
6
6
  "workspaces": [