specsmd 0.0.0-dev.36 → 0.0.0-dev.38
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.
|
@@ -322,9 +322,10 @@ For each ADR created, add an entry to `memory-bank/standards/decision-index.md`:
|
|
|
322
322
|
- **Read when**: {Generate guidance based on the ADR's domain - describe scenarios when agents should read this ADR}
|
|
323
323
|
```
|
|
324
324
|
|
|
325
|
-
|
|
325
|
+
Update frontmatter: increment `total_decisions`, update `last_updated` timestamp
|
|
326
326
|
|
|
327
327
|
**"Read when" Guidance Examples**:
|
|
328
|
+
|
|
328
329
|
- "Working on authentication flows or session management"
|
|
329
330
|
- "Implementing caching strategies or data persistence patterns"
|
|
330
331
|
- "Designing API contracts or integration points"
|
|
@@ -533,14 +534,17 @@ status: in-progress
|
|
|
533
534
|
4. Consider these decisions as constraints or guidance for the current work
|
|
534
535
|
|
|
535
536
|
**Example**: If working on a bolt for "user-service" and the decision index contains:
|
|
536
|
-
|
|
537
|
+
|
|
538
|
+
```text
|
|
537
539
|
### ADR-001: Use JWT for Authentication
|
|
538
540
|
- **Read when**: Working on authentication flows or user services
|
|
539
541
|
```
|
|
542
|
+
|
|
540
543
|
→ Load and consider `ADR-001` before starting design work.
|
|
541
544
|
|
|
542
545
|
**Present relevant ADRs to user** at bolt start:
|
|
543
|
-
|
|
546
|
+
|
|
547
|
+
```text
|
|
544
548
|
## Relevant Prior Decisions
|
|
545
549
|
|
|
546
550
|
Found {n} ADR(s) that may apply to this bolt:
|
|
@@ -43,9 +43,14 @@ class KiroInstaller extends ToolInstaller {
|
|
|
43
43
|
const kiroSpecsPath = path.join('.kiro', 'specs');
|
|
44
44
|
const specsPath = 'specs';
|
|
45
45
|
|
|
46
|
-
//
|
|
46
|
+
// Check if .kiro/specs already exists
|
|
47
47
|
if (await fs.pathExists(kiroSpecsPath)) {
|
|
48
|
-
|
|
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
|
-
|
|
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.
|
|
3
|
+
"version": "0.0.0-dev.38",
|
|
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": {
|