specsmd 0.0.0-dev.37 → 0.0.0-dev.39

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
- 3. Update frontmatter: increment `total_decisions`, update `last_updated` timestamp
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:
@@ -11,12 +11,20 @@ class OpenCodeInstaller extends ToolInstaller {
11
11
  }
12
12
 
13
13
  get commandsDir() {
14
- return path.join('.opencode', 'agent');
14
+ return path.join('.opencode', 'command');
15
15
  }
16
16
 
17
17
  get detectPath() {
18
18
  return '.opencode';
19
19
  }
20
+
21
+ /**
22
+ * OpenCode requires 'agent: build' in command frontmatter.
23
+ * This inserts the line before the closing '---' of existing frontmatter.
24
+ */
25
+ transformContent(content) {
26
+ return content.replace(/^(---\n[\s\S]*?)(---)/, '$1agent: build\n$2');
27
+ }
20
28
  }
21
29
 
22
30
  module.exports = OpenCodeInstaller;
@@ -56,7 +56,10 @@ class ToolInstaller {
56
56
  const targetFileName = `specsmd-${prefix}${cmdFile}`;
57
57
  const targetPath = path.join(targetCommandsDir, targetFileName);
58
58
 
59
- const content = await fs.readFile(sourcePath, 'utf8');
59
+ let content = await fs.readFile(sourcePath, 'utf8');
60
+ if (this.transformContent) {
61
+ content = this.transformContent(content);
62
+ }
60
63
  await fs.outputFile(targetPath, content, 'utf8');
61
64
  installedFiles.push(targetFileName);
62
65
  } catch (err) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "specsmd",
3
- "version": "0.0.0-dev.37",
3
+ "version": "0.0.0-dev.39",
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": {
@@ -61,7 +61,7 @@
61
61
  "markdownlint": "^0.40.0",
62
62
  "markdownlint-cli": "^0.46.0",
63
63
  "remark-parse": "^11.0.0",
64
- "semantic-release": "^24.2.0",
64
+ "semantic-release": "^25.0.2",
65
65
  "typescript": "^5.9.3",
66
66
  "unified": "^11.0.5",
67
67
  "unist-util-visit": "^5.0.0",