@tanagram/cli 0.5.63 → 0.6.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.
Binary file
Binary file
Binary file
Binary file
Binary file
package/install.js CHANGED
@@ -157,8 +157,9 @@ function installSkill(skillName) {
157
157
  } catch (err) {
158
158
  console.error(`Warning: Failed to install ${skillName} skill:`, err.message);
159
159
  track('cli.skill.install.failure', { skill: skillName, error: err.message });
160
- throw err;
160
+ return err;
161
161
  }
162
+ return null;
162
163
  }
163
164
 
164
165
  function installClaudeSkills() {
@@ -173,8 +174,13 @@ function installClaudeSkills() {
173
174
 
174
175
  console.error('Installing Tanagram skills...');
175
176
 
177
+ const errors = [];
176
178
  for (const skill of SKILLS) {
177
- installSkill(skill);
179
+ const err = installSkill(skill);
180
+ if (err) errors.push({ skill, error: err });
181
+ }
182
+ if (errors.length > 0) {
183
+ console.error(`Warning: ${errors.length} skill(s) failed to install: ${errors.map(e => e.skill).join(', ')}`);
178
184
  }
179
185
  }
180
186
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanagram/cli",
3
- "version": "0.5.63",
3
+ "version": "0.6.0",
4
4
  "description": "Tanagram - Catch sloppy code before it ships",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -35,6 +35,7 @@
35
35
  "dist/npm/",
36
36
  "install.js",
37
37
  "uninstall.js",
38
+ "skills.config",
38
39
  "skills/",
39
40
  "README.md",
40
41
  "LICENSE"
package/uninstall.js CHANGED
@@ -63,10 +63,15 @@ function removeClaudeSkills() {
63
63
  for (const skill of SKILLS) {
64
64
  const skillsDir = path.join(os.homedir(), '.claude', 'skills', skill);
65
65
 
66
- if (fs.existsSync(skillsDir)) {
67
- fs.rmSync(skillsDir, { recursive: true });
68
- console.error(`✓ ${skill} skill removed`);
69
- track('cli.skill.uninstall.success', { skill });
66
+ try {
67
+ if (fs.existsSync(skillsDir)) {
68
+ fs.rmSync(skillsDir, { recursive: true });
69
+ console.error(`✓ ${skill} skill removed`);
70
+ track('cli.skill.uninstall.success', { skill });
71
+ }
72
+ } catch (err) {
73
+ console.error(`Warning: Failed to remove ${skill} skill:`, err.message);
74
+ track('cli.skill.uninstall.failure', { skill, error: err.message });
70
75
  }
71
76
  }
72
77
  }