@famgia/omnify 1.0.73 → 1.0.75

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": "@famgia/omnify",
3
- "version": "1.0.73",
3
+ "version": "1.0.75",
4
4
  "description": "Schema-driven database migration system with TypeScript types and Laravel migrations",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -25,14 +25,14 @@
25
25
  "README.md"
26
26
  ],
27
27
  "dependencies": {
28
- "@famgia/omnify-cli": "0.0.69",
29
- "@famgia/omnify-core": "0.0.63",
30
- "@famgia/omnify-types": "0.0.61",
31
- "@famgia/omnify-typescript": "0.0.51",
32
- "@famgia/omnify-laravel": "0.0.72",
33
- "@famgia/omnify-atlas": "0.0.57",
34
- "@famgia/omnify-mcp": "0.0.49",
35
- "@famgia/omnify-japan": "0.0.56"
28
+ "@famgia/omnify-cli": "0.0.71",
29
+ "@famgia/omnify-types": "0.0.63",
30
+ "@famgia/omnify-core": "0.0.65",
31
+ "@famgia/omnify-laravel": "0.0.74",
32
+ "@famgia/omnify-atlas": "0.0.59",
33
+ "@famgia/omnify-mcp": "0.0.51",
34
+ "@famgia/omnify-typescript": "0.0.53",
35
+ "@famgia/omnify-japan": "0.0.58"
36
36
  },
37
37
  "keywords": [
38
38
  "omnify",
@@ -174,24 +174,6 @@ function findProjectRoot() {
174
174
  return null;
175
175
  }
176
176
 
177
- /**
178
- * Copy ai-guides from a directory to the project's .claude/omnify folder
179
- */
180
- function copyAiGuidesFromDir(aiGuidesDir, omnifyDir) {
181
- if (!fs.existsSync(aiGuidesDir)) return;
182
-
183
- const files = fs.readdirSync(aiGuidesDir);
184
- for (const file of files) {
185
- const srcPath = path.join(aiGuidesDir, file);
186
- const destPath = path.join(omnifyDir, file);
187
-
188
- if (fs.statSync(srcPath).isFile()) {
189
- fs.copyFileSync(srcPath, destPath);
190
- console.log(` Created .claude/omnify/${file}`);
191
- }
192
- }
193
- }
194
-
195
177
  /**
196
178
  * Find all @famgia/omnify-* packages with ai-guides directories
197
179
  */
@@ -248,14 +230,33 @@ function copyAiGuidesToProject(projectRoot) {
248
230
  fs.mkdirSync(omnifyDir, { recursive: true });
249
231
  }
250
232
 
251
- // Copy from main omnify package
233
+ // Track copied files to avoid duplicates
234
+ const copiedFiles = new Set();
235
+
236
+ // Helper to copy files without duplicates
237
+ const copyWithoutDuplicates = (srcDir) => {
238
+ if (!fs.existsSync(srcDir)) return;
239
+ const files = fs.readdirSync(srcDir);
240
+ for (const file of files) {
241
+ if (copiedFiles.has(file)) continue;
242
+ const srcPath = path.join(srcDir, file);
243
+ const destPath = path.join(omnifyDir, file);
244
+ if (fs.statSync(srcPath).isFile()) {
245
+ fs.copyFileSync(srcPath, destPath);
246
+ copiedFiles.add(file);
247
+ console.log(` Created .claude/omnify/${file}`);
248
+ }
249
+ }
250
+ };
251
+
252
+ // Copy from main omnify package first
252
253
  const mainAiGuidesDir = path.join(__dirname, '..', 'ai-guides');
253
- copyAiGuidesFromDir(mainAiGuidesDir, omnifyDir);
254
+ copyWithoutDuplicates(mainAiGuidesDir);
254
255
 
255
256
  // Copy from all @famgia/omnify-* plugin packages
256
257
  const pluginDirs = findPluginAiGuides(projectRoot);
257
258
  for (const pluginDir of pluginDirs) {
258
- copyAiGuidesFromDir(pluginDir, omnifyDir);
259
+ copyWithoutDuplicates(pluginDir);
259
260
  }
260
261
 
261
262
  return true;