projecta-rrr 1.9.9 → 1.9.12

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/bin/install.js CHANGED
@@ -735,6 +735,17 @@ function install(isGlobal) {
735
735
  console.log(` ${green}✓${reset} Installed rrr/scripts/refresh-scope-cache.js`);
736
736
  }
737
737
 
738
+ // Copy doctor-rrr.js to ~/.claude/rrr/scripts/
739
+ // Doctor command for diagnosing and fixing duplicate installs
740
+ const doctorSrc = path.join(src, 'scripts', 'doctor-rrr.js');
741
+ if (fs.existsSync(doctorSrc)) {
742
+ const scriptsDestDir = path.join(claudeDir, 'rrr', 'scripts');
743
+ fs.mkdirSync(scriptsDestDir, { recursive: true });
744
+ const doctorDest = path.join(scriptsDestDir, 'doctor-rrr.js');
745
+ fs.copyFileSync(doctorSrc, doctorDest);
746
+ console.log(` ${green}✓${reset} Installed rrr/scripts/doctor-rrr.js`);
747
+ }
748
+
738
749
  // Copy skills to ~/.claude/skills (skills system)
739
750
  const skillsSrc = path.join(src, 'rrr', 'skills');
740
751
  if (fs.existsSync(skillsSrc)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "projecta-rrr",
3
- "version": "1.9.9",
3
+ "version": "1.9.12",
4
4
  "description": "A meta-prompting, context engineering and spec-driven development system for Claude Code by Projecta.ai",
5
5
  "bin": {
6
6
  "projecta-rrr": "bin/install.js"
@@ -323,10 +323,10 @@ function getInstallInfo(options = {}) {
323
323
  function detectAndQuarantineDuplicates(options = {}) {
324
324
  const { configDir, dryRun = false, quiet = false } = options;
325
325
  const roots = getCanonicalRoots({ configDir });
326
- const quarantineRoot = roots.quarantineRoot;
326
+ const quarantineBase = roots.quarantineRoot;
327
327
 
328
328
  // Ensure quarantine directory exists
329
- fs.mkdirSync(quarantineRoot, { recursive: true });
329
+ fs.mkdirSync(quarantineBase, { recursive: true });
330
330
 
331
331
  // Detect all candidate roots
332
332
  const candidates = detectAllCandidateRoots({ configDir });
@@ -349,7 +349,7 @@ function detectAndQuarantineDuplicates(options = {}) {
349
349
  if (!dryRun) {
350
350
  const result = quarantineRoot(
351
351
  candidate.path,
352
- quarantineRoot,
352
+ quarantineBase,
353
353
  `Duplicate/legacy command root detected (${candidate.type})`
354
354
  );
355
355