@db-ux/agent-cli 3.0.2-copilot-66b0168 → 3.0.2-copilot2-e7bf98b

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.
Files changed (2) hide show
  1. package/build/index.js +54 -39
  2. package/package.json +2 -2
package/build/index.js CHANGED
@@ -4,17 +4,22 @@
4
4
  import { program } from "commander";
5
5
 
6
6
  // src/copilot/index.ts
7
- import fs from "fs";
8
- import path from "path";
9
- function findAllNodeModulesDirs(dir, found = []) {
10
- if (!fs.existsSync(dir)) return found;
11
- const entries = fs.readdirSync(dir, { withFileTypes: true });
7
+ import fs from "node:fs";
8
+ import path from "node:path";
9
+ function findAllNodeModulesDirectories(directory, found = []) {
10
+ if (!fs.existsSync(directory)) {
11
+ return found;
12
+ }
13
+ const entries = fs.readdirSync(directory, { withFileTypes: true });
12
14
  for (const entry of entries) {
13
15
  if (entry.isDirectory()) {
14
16
  if (entry.name === "node_modules") {
15
- found.push(path.join(dir, entry.name));
17
+ found.push(path.join(directory, entry.name));
16
18
  } else if (!entry.name.startsWith(".")) {
17
- findAllNodeModulesDirs(path.join(dir, entry.name), found);
19
+ findAllNodeModulesDirectories(
20
+ path.join(directory, entry.name),
21
+ found
22
+ );
18
23
  }
19
24
  }
20
25
  }
@@ -22,40 +27,50 @@ function findAllNodeModulesDirs(dir, found = []) {
22
27
  }
23
28
  var generateCopilot = (rootPath) => {
24
29
  const outputFolder = path.resolve(rootPath, ".github");
25
- const nodeModulesDirs = findAllNodeModulesDirs(rootPath);
26
- if (nodeModulesDirs.length === 0) {
30
+ const nodeModulesDirectories = findAllNodeModulesDirectories(rootPath);
31
+ if (nodeModulesDirectories.length === 0) {
27
32
  console.error("No node_modules folders found.");
28
33
  return;
29
34
  }
30
35
  let copilotInstructionsContent = "";
31
- for (const nodeModulesPath of nodeModulesDirs) {
32
- const dbUxPath = path.join(nodeModulesPath, "@db-ux");
33
- if (!fs.existsSync(dbUxPath)) {
34
- continue;
35
- }
36
- const packages = fs.readdirSync(dbUxPath, { withFileTypes: true });
37
- for (const pkg of packages) {
38
- if (pkg.isDirectory()) {
39
- const instructionsPath = path.join(
40
- dbUxPath,
41
- pkg.name,
42
- "agent",
43
- "_instructions.md"
44
- );
45
- if (fs.existsSync(instructionsPath)) {
46
- let content = fs.readFileSync(instructionsPath, "utf-8");
47
- const relPath = path.relative(
48
- rootPath,
49
- path.join(dbUxPath, pkg.name)
50
- );
51
- content = content.replace(
52
- /__agent-path__/g,
53
- relPath.replace(/\\/g, "/")
36
+ for (const nodeModulesPath of nodeModulesDirectories) {
37
+ const databaseUxPaths = [
38
+ path.join(nodeModulesPath, "@db-ux"),
39
+ path.join(nodeModulesPath, "@db-ux-inner-source")
40
+ ];
41
+ for (const databaseUxPath of databaseUxPaths) {
42
+ if (!fs.existsSync(databaseUxPath)) {
43
+ continue;
44
+ }
45
+ const packages = fs.readdirSync(databaseUxPath, {
46
+ withFileTypes: true
47
+ });
48
+ for (const package_ of packages) {
49
+ if (package_.isDirectory()) {
50
+ const instructionsPath = path.join(
51
+ databaseUxPath,
52
+ package_.name,
53
+ "agent",
54
+ "_instructions.md"
54
55
  );
55
- copilotInstructionsContent += `
56
- # @db-ux/${pkg.name}
56
+ if (fs.existsSync(instructionsPath)) {
57
+ let content = fs.readFileSync(instructionsPath, "utf8");
58
+ const relativePath = path.relative(
59
+ rootPath,
60
+ path.join(databaseUxPath, package_.name)
61
+ );
62
+ content = content.replaceAll(
63
+ "__agent-path__",
64
+ relativePath.replaceAll("\\", "/")
65
+ ).replaceAll(
66
+ "**agent-path**",
67
+ relativePath.replaceAll("\\", "/")
68
+ );
69
+ copilotInstructionsContent += `
70
+ # ${path.basename(databaseUxPath)}/${package_.name}
57
71
  ${content}
58
72
  `;
73
+ }
59
74
  }
60
75
  }
61
76
  }
@@ -73,14 +88,14 @@ ${content}
73
88
  if (copilotInstructionsContent.trim()) {
74
89
  let copilotFileContent = fs.readFileSync(
75
90
  copilotInstructionsPath,
76
- "utf-8"
91
+ "utf8"
77
92
  );
78
93
  const startMarker = "--- START: DB UX Copilot Instructions ---";
79
94
  const endMarker = "--- END: DB UX Copilot Instructions ---";
80
- const startIdx = copilotFileContent.indexOf(startMarker);
81
- const endIdx = copilotFileContent.indexOf(endMarker);
82
- if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
83
- copilotFileContent = (copilotFileContent.slice(0, startIdx) + copilotFileContent.slice(endIdx + endMarker.length)).trim();
95
+ const startIndex = copilotFileContent.indexOf(startMarker);
96
+ const endIndex = copilotFileContent.indexOf(endMarker);
97
+ if (startIndex !== -1 && endIndex !== -1 && endIndex > startIndex) {
98
+ copilotFileContent = (copilotFileContent.slice(0, startIndex) + copilotFileContent.slice(endIndex + endMarker.length)).trim();
84
99
  }
85
100
  copilotFileContent += `
86
101
  ${startMarker}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@db-ux/agent-cli",
3
- "version": "3.0.2-copilot-66b0168",
3
+ "version": "3.0.2-copilot2-e7bf98b",
4
4
  "type": "module",
5
5
  "description": "CLI for DB UX Design System generate AI agent instructions",
6
6
  "repository": {
@@ -9,7 +9,7 @@
9
9
  },
10
10
  "license": "Apache-2.0",
11
11
  "bin": {
12
- "@db-uxagent-cli": "build/index.js"
12
+ "@db-ux/agent-cli": "build/index.js"
13
13
  },
14
14
  "main": "build.js",
15
15
  "files": [