zuppaclaude 1.3.7 → 1.3.9

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.
package/lib/installer.js CHANGED
@@ -204,6 +204,9 @@ class Installer {
204
204
  commands: cmdsInstalled
205
205
  });
206
206
 
207
+ // Close readline interface
208
+ this.prompts.close();
209
+
207
210
  return true;
208
211
  }
209
212
 
package/lib/settings.js CHANGED
@@ -210,7 +210,7 @@ class Settings {
210
210
  }
211
211
 
212
212
  /**
213
- * Reset settings
213
+ * Reset settings (with confirmation prompt)
214
214
  */
215
215
  async reset() {
216
216
  if (!this.exists()) {
@@ -226,17 +226,24 @@ class Settings {
226
226
  return false;
227
227
  }
228
228
 
229
- // Backup before reset
230
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
231
- const backupPath = `${this.filePath}.backup.${timestamp}`;
232
- fs.copyFileSync(this.filePath, backupPath);
233
- this.logger.info(`Settings backed up to: ${backupPath}`);
229
+ return this.delete();
230
+ }
234
231
 
235
- // Remove settings
236
- fs.unlinkSync(this.filePath);
237
- this.logger.success('Settings reset complete');
238
- this.logger.info('Run the installer again to create new settings');
239
- return true;
232
+ /**
233
+ * Delete settings file (no confirmation)
234
+ */
235
+ delete() {
236
+ if (!this.exists()) {
237
+ return true;
238
+ }
239
+
240
+ try {
241
+ fs.unlinkSync(this.filePath);
242
+ return true;
243
+ } catch (error) {
244
+ this.logger.warning(`Could not delete settings: ${error.message}`);
245
+ return false;
246
+ }
240
247
  }
241
248
  }
242
249
 
@@ -43,6 +43,7 @@ class Uninstaller {
43
43
  const confirm = await this.prompts.confirm('Are you sure you want to uninstall ZuppaClaude?', false);
44
44
  if (!confirm) {
45
45
  this.logger.info('Uninstallation cancelled');
46
+ this.prompts.close();
46
47
  return false;
47
48
  }
48
49
 
@@ -65,8 +66,9 @@ class Uninstaller {
65
66
 
66
67
  // Handle settings
67
68
  if (!preserveSettings) {
68
- this.settings.reset();
69
- this.logger.success('Settings removed');
69
+ if (this.settings.delete()) {
70
+ this.logger.success('Settings removed');
71
+ }
70
72
  } else {
71
73
  this.logger.info('Settings preserved for future reinstall');
72
74
  }
@@ -74,6 +76,9 @@ class Uninstaller {
74
76
  // Print summary
75
77
  this.printSummary(results, preserveSettings);
76
78
 
79
+ // Close readline interface
80
+ this.prompts.close();
81
+
77
82
  return true;
78
83
  }
79
84
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zuppaclaude",
3
- "version": "1.3.7",
3
+ "version": "1.3.9",
4
4
  "description": "Claude Code power-up installer - SuperClaude + Spec Kit + Claude-Z + Claude HUD",
5
5
  "main": "lib/index.js",
6
6
  "bin": {