specsmd 0.0.0-dev.36 → 0.0.0-dev.37

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.
@@ -43,9 +43,14 @@ class KiroInstaller extends ToolInstaller {
43
43
  const kiroSpecsPath = path.join('.kiro', 'specs');
44
44
  const specsPath = 'specs';
45
45
 
46
- // Only create if .kiro/specs doesn't exist
46
+ // Check if .kiro/specs already exists
47
47
  if (await fs.pathExists(kiroSpecsPath)) {
48
- console.log(theme.dim(` .kiro/specs already exists, skipping symlink`));
48
+ const stats = await fs.lstat(kiroSpecsPath);
49
+ if (stats.isSymbolicLink()) {
50
+ console.log(theme.dim(` .kiro/specs symlink already exists, skipping`));
51
+ } else {
52
+ console.log(theme.dim(` .kiro/specs already exists as folder, skipping symlink`));
53
+ }
49
54
  return;
50
55
  }
51
56
 
@@ -57,7 +62,14 @@ class KiroInstaller extends ToolInstaller {
57
62
  await fs.ensureSymlink(path.join('..', specsPath), kiroSpecsPath);
58
63
  CLIUtils.displayStatus('', 'Created .kiro/specs symlink for Kiro compatibility', 'success');
59
64
  } catch (err) {
60
- console.log(theme.warning(` Failed to create specs symlink: ${err.message}`));
65
+ // Handle specific error cases
66
+ if (err.code === 'EPERM' || err.code === 'EACCES') {
67
+ console.log(theme.warning(` Cannot create symlink (permission denied). On Windows, try running as Administrator.`));
68
+ } else if (err.code === 'EEXIST') {
69
+ console.log(theme.dim(` .kiro/specs already exists, skipping symlink`));
70
+ } else {
71
+ console.log(theme.warning(` Failed to create specs symlink: ${err.message}`));
72
+ }
61
73
  }
62
74
  }
63
75
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specsmd",
3
- "version": "0.0.0-dev.36",
3
+ "version": "0.0.0-dev.37",
4
4
  "description": "Multi-agent orchestration system for AI-native software development. Delivers AI-DLC, Agile, and custom SDLC flows as markdown-based agent systems.",
5
5
  "main": "lib/installer.js",
6
6
  "bin": {