murmur8 4.3.3 → 4.4.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "murmur8",
3
- "version": "4.3.3",
3
+ "version": "4.4.0",
4
4
  "description": "Multi-agent workflow framework for automated feature development",
5
5
  "main": "src/index.js",
6
6
  "bin": {
package/src/init.js CHANGED
@@ -81,6 +81,12 @@ function createCopilotSymlink() {
81
81
  }
82
82
  }
83
83
 
84
+ // Framework directories to copy (these are part of the murmur8 framework)
85
+ const FRAMEWORK_DIRS = ['agents', 'prompts', 'templates', 'ways_of_working'];
86
+
87
+ // User content directories to create empty (these are for the target project's own content)
88
+ const USER_CONTENT_DIRS = ['features', 'system_specification'];
89
+
84
90
  async function init() {
85
91
  const blueprintSrc = path.join(PACKAGE_ROOT, '.blueprint');
86
92
  const blueprintDest = path.join(TARGET_DIR, '.blueprint');
@@ -97,7 +103,13 @@ async function init() {
97
103
  console.log('Aborted. Use "murmur8 update" to update existing installation.');
98
104
  return;
99
105
  }
100
- fs.rmSync(blueprintDest, { recursive: true });
106
+ // Only remove framework directories, preserve user content
107
+ for (const dir of FRAMEWORK_DIRS) {
108
+ const dirPath = path.join(blueprintDest, dir);
109
+ if (fs.existsSync(dirPath)) {
110
+ fs.rmSync(dirPath, { recursive: true });
111
+ }
112
+ }
101
113
  }
102
114
 
103
115
  // Copy skill to .claude/commands/ (master location)
@@ -117,9 +129,25 @@ async function init() {
117
129
  createCopilotSymlink();
118
130
  }
119
131
 
120
- // Copy .blueprint directory
132
+ // Copy framework directories only (not user content directories)
121
133
  console.log('Copying .blueprint directory...');
122
- copyDir(blueprintSrc, blueprintDest);
134
+ fs.mkdirSync(blueprintDest, { recursive: true });
135
+ for (const dir of FRAMEWORK_DIRS) {
136
+ const src = path.join(blueprintSrc, dir);
137
+ const dest = path.join(blueprintDest, dir);
138
+ if (fs.existsSync(src)) {
139
+ copyDir(src, dest);
140
+ }
141
+ }
142
+
143
+ // Create empty user content directories with .gitkeep
144
+ for (const dir of USER_CONTENT_DIRS) {
145
+ const dest = path.join(blueprintDest, dir);
146
+ if (!fs.existsSync(dest)) {
147
+ fs.mkdirSync(dest, { recursive: true });
148
+ fs.writeFileSync(path.join(dest, '.gitkeep'), '');
149
+ }
150
+ }
123
151
  console.log('Copied .blueprint directory');
124
152
 
125
153
  // Copy .business_context directory
package/src/update.js CHANGED
@@ -15,6 +15,7 @@ const USER_CONTENT_DIRS = [
15
15
  // Directories/files that should be updated
16
16
  const UPDATABLE = [
17
17
  'agents',
18
+ 'prompts',
18
19
  'templates',
19
20
  'ways_of_working'
20
21
  ];
@@ -91,6 +92,7 @@ Update complete!
91
92
 
92
93
  Updated:
93
94
  - .blueprint/agents/
95
+ - .blueprint/prompts/
94
96
  - .blueprint/templates/
95
97
  - .blueprint/ways_of_working/
96
98
  - SKILL.md