@buffbirb/unclaude 1.0.2 → 1.0.3

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/dist/cli.js CHANGED
@@ -83,13 +83,13 @@ program
83
83
  if (opts.gitignore)
84
84
  addGitignoreEntries(selection.features);
85
85
  console.log('Install complete.');
86
- process.exit(0);
86
+ process.exitCode = 0;
87
87
  })
88
88
  .catch((e) => {
89
89
  if (logPath)
90
90
  appendFileSync(logPath, `${new Date().toISOString()} ERROR: ${e}\n`);
91
91
  console.error(e);
92
- process.exit(1);
92
+ process.exitCode = 1;
93
93
  });
94
94
  });
95
95
  program
@@ -114,13 +114,13 @@ program
114
114
  if (opts.gitignore)
115
115
  removeGitignoreEntries();
116
116
  console.log('Uninstall complete.');
117
- process.exit(0);
117
+ process.exitCode = 0;
118
118
  })
119
119
  .catch((e) => {
120
120
  if (logPath)
121
121
  appendFileSync(logPath, `${new Date().toISOString()} ERROR: ${e}\n`);
122
122
  console.error(e);
123
- process.exit(1);
123
+ process.exitCode = 1;
124
124
  });
125
125
  });
126
126
  if (process.argv.length <= 2) {
package/dist/install.js CHANGED
@@ -246,9 +246,12 @@ export async function runInstall(selection, formState, updateStep) {
246
246
  }
247
247
  else {
248
248
  scopes.delete('project');
249
+ if (scopes.size === 0) {
250
+ throw new Error('Project scope requested but no git repo found in cwd or any subdirectory with a .git dir touched in the last 120s.');
251
+ }
249
252
  }
250
253
  }
251
- const scopeOk = (feat) => scopes.size === 0 || FEATURE_SCOPES[feat].some(s => scopes.has(s));
254
+ const scopeOk = (feat) => FEATURE_SCOPES[feat].some(s => scopes.has(s));
252
255
  const tasks = [];
253
256
  if (features.has('headroom') && scopeOk('headroom'))
254
257
  tasks.push(['headroom', () => installHeadroom(l => updateStep('headroom', { line: l }))]);
package/dist/uninstall.js CHANGED
@@ -286,7 +286,7 @@ async function uninstallOpenspec(scopes, onLine) {
286
286
  // ── Orchestrator ──────────────────────────────────────────────────────────────
287
287
  export async function runUninstall(selection, updateStep) {
288
288
  const { features, scopes, agents, lspLanguages } = selection;
289
- const scopeOk = (feat) => scopes.size === 0 || FEATURE_SCOPES[feat].some(s => scopes.has(s));
289
+ const scopeOk = (feat) => FEATURE_SCOPES[feat].some(s => scopes.has(s));
290
290
  const tasks = [];
291
291
  if (features.has('headroom') && scopeOk('headroom'))
292
292
  tasks.push(['headroom', () => uninstallHeadroom(l => updateStep('headroom', { line: l }))]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@buffbirb/unclaude",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "An opinionated AI dev tool setup script with a terminal UI. Configure privacy, code intelligence, and tool wrappers for Claude Code and OpenCode.",
5
5
  "type": "module",
6
6
  "keywords": [