specweave 0.3.1 → 0.3.3
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/dist/adapters/agents-md-generator.d.ts.map +1 -1
- package/dist/adapters/agents-md-generator.js +66 -5
- package/dist/adapters/agents-md-generator.js.map +1 -1
- package/dist/adapters/claude-md-generator.d.ts.map +1 -1
- package/dist/adapters/claude-md-generator.js +66 -5
- package/dist/adapters/claude-md-generator.js.map +1 -1
- package/dist/cli/commands/init.js +113 -15
- package/dist/cli/commands/init.js.map +1 -1
- package/package.json +1 -1
- package/src/adapters/agents-md-generator.ts +72 -6
- package/src/adapters/claude-md-generator.ts +72 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md-generator.d.ts","sourceRoot":"","sources":["../../src/adapters/agents-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"agents-md-generator.d.ts","sourceRoot":"","sources":["../../src/adapters/agents-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAmEH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAe;gBAG3B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM;IAKtB;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAgCzD;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAgC3B"}
|
|
@@ -18,6 +18,58 @@ import * as path from 'path';
|
|
|
18
18
|
import fs from 'fs-extra';
|
|
19
19
|
import { getDirname } from '../utils/esm-helpers.js';
|
|
20
20
|
const __dirname = getDirname(import.meta.url);
|
|
21
|
+
/**
|
|
22
|
+
* Find the package root by walking up the directory tree looking for package.json
|
|
23
|
+
* This works reliably on all platforms including Windows with UNC paths
|
|
24
|
+
*/
|
|
25
|
+
function findPackageRoot(startDir) {
|
|
26
|
+
let currentDir = startDir;
|
|
27
|
+
const root = path.parse(currentDir).root;
|
|
28
|
+
while (currentDir !== root) {
|
|
29
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
|
30
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
31
|
+
try {
|
|
32
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
33
|
+
// Verify this is the specweave package
|
|
34
|
+
if (packageJson.name === 'specweave') {
|
|
35
|
+
return currentDir;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
// Not a valid package.json, continue searching
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
const parentDir = path.dirname(currentDir);
|
|
43
|
+
if (parentDir === currentDir)
|
|
44
|
+
break; // Reached root
|
|
45
|
+
currentDir = parentDir;
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Find template file using package root detection
|
|
51
|
+
*/
|
|
52
|
+
function findTemplateFile(filename) {
|
|
53
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
54
|
+
if (packageRoot) {
|
|
55
|
+
// Try src/templates/ first (for npm installs)
|
|
56
|
+
const srcPath = path.normalize(path.join(packageRoot, 'src', 'templates', filename));
|
|
57
|
+
if (fs.existsSync(srcPath)) {
|
|
58
|
+
return srcPath;
|
|
59
|
+
}
|
|
60
|
+
// Try dist/templates/ (shouldn't exist but try anyway)
|
|
61
|
+
const distPath = path.normalize(path.join(packageRoot, 'dist', 'templates', filename));
|
|
62
|
+
if (fs.existsSync(distPath)) {
|
|
63
|
+
return distPath;
|
|
64
|
+
}
|
|
65
|
+
// Try templates/ directly in package root
|
|
66
|
+
const rootPath = path.normalize(path.join(packageRoot, 'templates', filename));
|
|
67
|
+
if (fs.existsSync(rootPath)) {
|
|
68
|
+
return rootPath;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
21
73
|
/**
|
|
22
74
|
* Generate universal AGENTS.md file
|
|
23
75
|
*/
|
|
@@ -29,11 +81,20 @@ export class AgentsMdGenerator {
|
|
|
29
81
|
* Generate complete AGENTS.md content
|
|
30
82
|
*/
|
|
31
83
|
async generate(options) {
|
|
32
|
-
// Read template
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
84
|
+
// Read template - use provided path or find it via package root
|
|
85
|
+
let templatePath = options.templatePath;
|
|
86
|
+
if (!templatePath || !await fs.pathExists(templatePath)) {
|
|
87
|
+
// Fallback: try to find template using package root detection
|
|
88
|
+
const foundPath = findTemplateFile('AGENTS.md.template');
|
|
89
|
+
if (foundPath) {
|
|
90
|
+
templatePath = foundPath;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const errorMsg = options.templatePath
|
|
94
|
+
? `AGENTS.md template not found at: ${options.templatePath}\nAlso tried package root detection but failed.`
|
|
95
|
+
: `AGENTS.md template not found. Tried:\n - Package root detection\n - __dirname: ${__dirname}\n - Default: ${path.join(__dirname, '../templates/AGENTS.md.template')}`;
|
|
96
|
+
throw new Error(errorMsg);
|
|
97
|
+
}
|
|
37
98
|
}
|
|
38
99
|
let content = await fs.readFile(templatePath, 'utf-8');
|
|
39
100
|
// Extract agents and skills
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents-md-generator.js","sourceRoot":"","sources":["../../src/adapters/agents-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"agents-md-generator.js","sourceRoot":"","sources":["../../src/adapters/agents-md-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md-generator.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"claude-md-generator.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmEH,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAe;gBAG3B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM;IAKtB;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BzD;;OAEG;YACW,sBAAsB;IAkBpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgC5B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiBpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAiBtC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,OAAO,CAAC,QAAQ;CAIjB"}
|
|
@@ -16,6 +16,58 @@ import * as path from 'path';
|
|
|
16
16
|
import fs from 'fs-extra';
|
|
17
17
|
import { getDirname } from '../utils/esm-helpers.js';
|
|
18
18
|
const __dirname = getDirname(import.meta.url);
|
|
19
|
+
/**
|
|
20
|
+
* Find the package root by walking up the directory tree looking for package.json
|
|
21
|
+
* This works reliably on all platforms including Windows with UNC paths
|
|
22
|
+
*/
|
|
23
|
+
function findPackageRoot(startDir) {
|
|
24
|
+
let currentDir = startDir;
|
|
25
|
+
const root = path.parse(currentDir).root;
|
|
26
|
+
while (currentDir !== root) {
|
|
27
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
|
28
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
29
|
+
try {
|
|
30
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
31
|
+
// Verify this is the specweave package
|
|
32
|
+
if (packageJson.name === 'specweave') {
|
|
33
|
+
return currentDir;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
catch (error) {
|
|
37
|
+
// Not a valid package.json, continue searching
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
const parentDir = path.dirname(currentDir);
|
|
41
|
+
if (parentDir === currentDir)
|
|
42
|
+
break; // Reached root
|
|
43
|
+
currentDir = parentDir;
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Find template file using package root detection
|
|
49
|
+
*/
|
|
50
|
+
function findTemplateFile(filename) {
|
|
51
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
52
|
+
if (packageRoot) {
|
|
53
|
+
// Try src/templates/ first (for npm installs)
|
|
54
|
+
const srcPath = path.normalize(path.join(packageRoot, 'src', 'templates', filename));
|
|
55
|
+
if (fs.existsSync(srcPath)) {
|
|
56
|
+
return srcPath;
|
|
57
|
+
}
|
|
58
|
+
// Try dist/templates/ (shouldn't exist but try anyway)
|
|
59
|
+
const distPath = path.normalize(path.join(packageRoot, 'dist', 'templates', filename));
|
|
60
|
+
if (fs.existsSync(distPath)) {
|
|
61
|
+
return distPath;
|
|
62
|
+
}
|
|
63
|
+
// Try templates/ directly in package root
|
|
64
|
+
const rootPath = path.normalize(path.join(packageRoot, 'templates', filename));
|
|
65
|
+
if (fs.existsSync(rootPath)) {
|
|
66
|
+
return rootPath;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
19
71
|
/**
|
|
20
72
|
* Generate CLAUDE.md with dynamic agent/skill sections
|
|
21
73
|
*/
|
|
@@ -27,11 +79,20 @@ export class ClaudeMdGenerator {
|
|
|
27
79
|
* Generate complete CLAUDE.md content
|
|
28
80
|
*/
|
|
29
81
|
async generate(options) {
|
|
30
|
-
// Read template
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
82
|
+
// Read template - use provided path or find it via package root
|
|
83
|
+
let templatePath = options.templatePath;
|
|
84
|
+
if (!templatePath || !await fs.pathExists(templatePath)) {
|
|
85
|
+
// Fallback: try to find template using package root detection
|
|
86
|
+
const foundPath = findTemplateFile('CLAUDE.md.template');
|
|
87
|
+
if (foundPath) {
|
|
88
|
+
templatePath = foundPath;
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
const errorMsg = options.templatePath
|
|
92
|
+
? `CLAUDE.md template not found at: ${options.templatePath}\nAlso tried package root detection but failed.`
|
|
93
|
+
: `CLAUDE.md template not found. Tried:\n - Package root detection\n - __dirname: ${__dirname}\n - Default: ${path.join(__dirname, '../templates/CLAUDE.md.template')}`;
|
|
94
|
+
throw new Error(errorMsg);
|
|
95
|
+
}
|
|
35
96
|
}
|
|
36
97
|
let content = await fs.readFile(templatePath, 'utf-8');
|
|
37
98
|
// Replace placeholders
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md-generator.js","sourceRoot":"","sources":["../../src/adapters/claude-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-md-generator.js","sourceRoot":"","sources":["../../src/adapters/claude-md-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE9C;;;GAGG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,UAAU,GAAG,QAAQ,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;IAEzC,OAAO,UAAU,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;gBAC1E,uCAAuC;gBACvC,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACrC,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,+CAA+C;YACjD,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU;YAAE,MAAM,CAAC,eAAe;QACpD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,QAAgB;IACxC,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAE/C,IAAI,WAAW,EAAE,CAAC;QAChB,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrF,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,uDAAuD;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QACvF,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/E,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAQD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAG5B,YACE,SAAkB,EAClB,SAAkB,EAClB,WAAoB;QAEpB,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,gEAAgE;QAChE,IAAI,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAExC,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACxD,8DAA8D;YAC9D,MAAM,SAAS,GAAG,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YACzD,IAAI,SAAS,EAAE,CAAC;gBACd,YAAY,GAAG,SAAS,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY;oBACnC,CAAC,CAAC,oCAAoC,OAAO,CAAC,YAAY,iDAAiD;oBAC3G,CAAC,CAAC,oFAAoF,SAAS,kBAAkB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iCAAiC,CAAC,EAAE,CAAC;gBAC7K,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEvD,uBAAuB;QACvB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAEpE,2BAA2B;QAC3B,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAErD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,OAAe;QAClD,mCAAmC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;QAErD,qDAAqD;QACrD,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAErD,qDAAqD;QACrD,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAErD,qCAAqC;QACrC,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEzD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAe,EAAE,MAAa;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAErD,yCAAyC;QACzC,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,yDAAyD,CAAC;QAErF,MAAM,aAAa,GAAG;;;;EAIxB,WAAW;;QAEL,MAAM,CAAC,MAAM;;;;;CAKpB,CAAC;QAEE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAa;QACvC,IAAI,KAAK,GAAG,wCAAwC,CAAC;QACrD,KAAK,IAAI,wCAAwC,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,WAAW,MAAM,UAAU,MAAM,CAAC;QAC5E,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,SAAiB;QAC1C,MAAM,WAAW,GAA2B;YAC1C,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,kBAAkB;YAC/B,UAAU,EAAE,iBAAiB;YAC7B,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,mBAAmB;YAC7B,WAAW,EAAE,aAAa;YAC1B,KAAK,EAAE,iBAAiB;YACxB,aAAa,EAAE,cAAc;YAC7B,aAAa,EAAE,qBAAqB;YACpC,UAAU,EAAE,sBAAsB;YAClC,gBAAgB,EAAE,iBAAiB;YACnC,gBAAgB,EAAE,gBAAgB;YAClC,QAAQ,EAAE,qBAAqB;YAC/B,gBAAgB,EAAE,kBAAkB;SACrC,CAAC;QAEF,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,OAAe,EAAE,MAAa;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAErD,yCAAyC;QACzC,MAAM,kBAAkB,GAAG,yDAAyD,CAAC;QAErF,MAAM,aAAa,GAAG;;;;EAIxB,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC;;;;EAIzC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC;;;;EAIpC,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC;;oDAEO,MAAM,CAAC,MAAM;;;CAGhE,CAAC;QAEE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,4BAA4B,CAAC,MAAa;QAChD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACxC,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,cAAc;YAC3E,uBAAuB,EAAE,2BAA2B,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAC/F,CAAC;QAEF,IAAI,KAAK,GAAG,wCAAwC,CAAC;QACrD,KAAK,IAAI,wCAAwC,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,UAAU,MAAM,CAAC;QAC/F,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,MAAa;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnC,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB;YAC1E,gBAAgB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC,CAAC;QAEF,IAAI,KAAK,GAAG,wCAAwC,CAAC;QACrD,KAAK,IAAI,wCAAwC,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,UAAU,MAAM,CAAC;QAC/F,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,8BAA8B,CAAC,MAAa;QAClD,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC1C,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB;YAC7D,gBAAgB,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAC3D,CAAC;QAEF,IAAI,KAAK,GAAG,wCAAwC,CAAC;QACrD,KAAK,IAAI,wCAAwC,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACvD,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,UAAU,MAAM,CAAC;QAC/F,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,SAAiB;QAC1C,MAAM,WAAW,GAA2B;YAC1C,oBAAoB,EAAE,2BAA2B;YACjD,mBAAmB,EAAE,yBAAyB;YAC9C,gBAAgB,EAAE,uBAAuB;YACzC,cAAc,EAAE,oBAAoB;YACpC,uBAAuB,EAAE,qBAAqB;YAC9C,2BAA2B,EAAE,2BAA2B;YACxD,gBAAgB,EAAE,iBAAiB;YACnC,gBAAgB,EAAE,gBAAgB;YAClC,QAAQ,EAAE,SAAS;YACnB,UAAU,EAAE,UAAU;YACtB,gBAAgB,EAAE,MAAM;YACxB,WAAW,EAAE,kBAAkB;YAC/B,aAAa,EAAE,oBAAoB;YACnC,UAAU,EAAE,mBAAmB;YAC/B,qBAAqB,EAAE,oBAAoB;YAC3C,gBAAgB,EAAE,mBAAmB;YACrC,gBAAgB,EAAE,aAAa;SAChC,CAAC;QAEF,OAAO,WAAW,CAAC,SAAS,CAAC,IAAI,mBAAmB,CAAC;IACvD,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,MAAa;QACvC,IAAI,KAAK,GAAG,2BAA2B,CAAC;QACxC,KAAK,IAAI,2BAA2B,CAAC;QAErC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,gBAAgB;YACzD,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC;QAC/E,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;YACvB,KAAK,IAAI,aAAa,MAAM,CAAC,MAAM,GAAG,EAAE,sCAAsC,CAAC;QACjF,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,OAAe,EAAE,QAAe;QAC7D,kFAAkF;QAClF,oEAAoE;QACpE,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,IAAY,EAAE,SAAiB;QAC9C,IAAI,IAAI,CAAC,MAAM,IAAI,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IAClD,CAAC;CACF"}
|
|
@@ -236,6 +236,27 @@ function createDirectoryStructure(targetDir) {
|
|
|
236
236
|
});
|
|
237
237
|
}
|
|
238
238
|
async function copyTemplates(templatesDir, targetDir, projectName) {
|
|
239
|
+
// Verify templates directory exists
|
|
240
|
+
if (!fs.existsSync(templatesDir)) {
|
|
241
|
+
console.error(chalk.red(`\n❌ Error: Templates directory not found at: ${templatesDir}`));
|
|
242
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
243
|
+
if (packageRoot) {
|
|
244
|
+
console.error(chalk.red(` Package root: ${packageRoot}`));
|
|
245
|
+
console.error(chalk.red(` Trying alternate locations...`));
|
|
246
|
+
// Try src/templates as fallback
|
|
247
|
+
const altPath = path.join(packageRoot, 'src', 'templates');
|
|
248
|
+
if (fs.existsSync(altPath)) {
|
|
249
|
+
console.error(chalk.yellow(` ✓ Found templates at: ${altPath}`));
|
|
250
|
+
templatesDir = altPath;
|
|
251
|
+
}
|
|
252
|
+
else {
|
|
253
|
+
throw new Error('Failed to locate templates directory');
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
throw new Error('Failed to locate templates directory and package root');
|
|
258
|
+
}
|
|
259
|
+
}
|
|
239
260
|
// Copy README.md
|
|
240
261
|
const readmeTemplate = path.join(templatesDir, 'README.md.template');
|
|
241
262
|
if (fs.existsSync(readmeTemplate)) {
|
|
@@ -249,11 +270,12 @@ async function copyTemplates(templatesDir, targetDir, projectName) {
|
|
|
249
270
|
const skillsDir = findSourceDir('skills');
|
|
250
271
|
const agentsDir = findSourceDir('agents');
|
|
251
272
|
const commandsDir = findSourceDir('commands');
|
|
273
|
+
const claudeMdTemplatePath = path.normalize(path.join(templatesDir, 'CLAUDE.md.template'));
|
|
252
274
|
const claudeGen = new ClaudeMdGenerator(skillsDir, agentsDir, commandsDir);
|
|
253
275
|
const claudeMd = await claudeGen.generate({
|
|
254
276
|
projectName,
|
|
255
277
|
projectPath: targetDir,
|
|
256
|
-
templatePath:
|
|
278
|
+
templatePath: fs.existsSync(claudeMdTemplatePath) ? claudeMdTemplatePath : undefined
|
|
257
279
|
});
|
|
258
280
|
fs.writeFileSync(path.join(targetDir, 'CLAUDE.md'), claudeMd);
|
|
259
281
|
// Generate AGENTS.md - Universal file for ALL OTHER AI tools
|
|
@@ -261,11 +283,12 @@ async function copyTemplates(templatesDir, targetDir, projectName) {
|
|
|
261
283
|
// Used by: Cursor, Gemini CLI, Codex, GitHub Copilot, and ANY non-Claude tool
|
|
262
284
|
// NOTE: Claude Code does NOT read this file - it only reads CLAUDE.md above
|
|
263
285
|
// Replaces: .cursorrules, instructions.md, and other tool-specific files
|
|
286
|
+
const agentsMdTemplatePath = path.normalize(path.join(templatesDir, 'AGENTS.md.template'));
|
|
264
287
|
const agentsGen = new AgentsMdGenerator(skillsDir, agentsDir, commandsDir);
|
|
265
288
|
const agentsMd = await agentsGen.generate({
|
|
266
289
|
projectName,
|
|
267
290
|
projectPath: targetDir,
|
|
268
|
-
templatePath:
|
|
291
|
+
templatePath: fs.existsSync(agentsMdTemplatePath) ? agentsMdTemplatePath : undefined
|
|
269
292
|
});
|
|
270
293
|
fs.writeFileSync(path.join(targetDir, 'AGENTS.md'), agentsMd);
|
|
271
294
|
// Copy .gitignore
|
|
@@ -274,19 +297,67 @@ async function copyTemplates(templatesDir, targetDir, projectName) {
|
|
|
274
297
|
fs.copyFileSync(gitignoreTemplate, path.join(targetDir, '.gitignore'));
|
|
275
298
|
}
|
|
276
299
|
}
|
|
300
|
+
/**
|
|
301
|
+
* Find the package root by walking up the directory tree looking for package.json
|
|
302
|
+
* This works reliably on all platforms including Windows with UNC paths
|
|
303
|
+
*/
|
|
304
|
+
function findPackageRoot(startDir) {
|
|
305
|
+
let currentDir = startDir;
|
|
306
|
+
const root = path.parse(currentDir).root;
|
|
307
|
+
while (currentDir !== root) {
|
|
308
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
|
309
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
310
|
+
try {
|
|
311
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
312
|
+
// Verify this is the specweave package
|
|
313
|
+
if (packageJson.name === 'specweave') {
|
|
314
|
+
return currentDir;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
// Not a valid package.json, continue searching
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
const parentDir = path.dirname(currentDir);
|
|
322
|
+
if (parentDir === currentDir)
|
|
323
|
+
break; // Reached root
|
|
324
|
+
currentDir = parentDir;
|
|
325
|
+
}
|
|
326
|
+
return null;
|
|
327
|
+
}
|
|
277
328
|
/**
|
|
278
329
|
* Find the source directory, trying multiple possible locations
|
|
279
330
|
* Handles both development and installed package scenarios
|
|
331
|
+
* Windows-compatible with proper path normalization
|
|
280
332
|
*/
|
|
281
333
|
function findSourceDir(relativePath) {
|
|
282
|
-
//
|
|
334
|
+
// First, try to find package root by walking up from __dirname
|
|
335
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
336
|
+
if (packageRoot) {
|
|
337
|
+
// Try src/ directory first (for npm installs that include src/)
|
|
338
|
+
const srcPath = path.normalize(path.join(packageRoot, 'src', relativePath));
|
|
339
|
+
if (fs.existsSync(srcPath)) {
|
|
340
|
+
return srcPath;
|
|
341
|
+
}
|
|
342
|
+
// Try dist/ directory (for development where src might not be in dist)
|
|
343
|
+
const distPath = path.normalize(path.join(packageRoot, 'dist', relativePath));
|
|
344
|
+
if (fs.existsSync(distPath)) {
|
|
345
|
+
return distPath;
|
|
346
|
+
}
|
|
347
|
+
// Try directly in package root (legacy)
|
|
348
|
+
const rootPath = path.normalize(path.join(packageRoot, relativePath));
|
|
349
|
+
if (fs.existsSync(rootPath)) {
|
|
350
|
+
return rootPath;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
// Fallback: Try multiple possible locations relative to __dirname
|
|
283
354
|
const possiblePaths = [
|
|
284
355
|
// Development: dist/cli/commands -> src/
|
|
285
|
-
path.join(__dirname, '../../..', relativePath),
|
|
356
|
+
path.normalize(path.join(__dirname, '../../..', relativePath)),
|
|
286
357
|
// Installed: node_modules/specweave/dist/cli/commands -> node_modules/specweave/src/
|
|
287
|
-
path.join(__dirname, '../../../src', relativePath),
|
|
358
|
+
path.normalize(path.join(__dirname, '../../../src', relativePath)),
|
|
288
359
|
// Alternative: go up from dist/ to package root, then to src/
|
|
289
|
-
path.join(__dirname, '../../..', 'src', relativePath),
|
|
360
|
+
path.normalize(path.join(__dirname, '../../..', 'src', relativePath)),
|
|
290
361
|
// Absolute from package root (for global installs)
|
|
291
362
|
path.resolve(__dirname, '../../../src', relativePath),
|
|
292
363
|
];
|
|
@@ -301,43 +372,70 @@ function findSourceDir(relativePath) {
|
|
|
301
372
|
function copyCommands(commandsDir, targetCommandsDir) {
|
|
302
373
|
const sourceDir = findSourceDir('commands');
|
|
303
374
|
if (!fs.existsSync(sourceDir)) {
|
|
304
|
-
console.
|
|
305
|
-
console.
|
|
306
|
-
|
|
375
|
+
console.error(chalk.red(`\n❌ Error: Source commands directory not found`));
|
|
376
|
+
console.error(chalk.red(` Expected at: ${sourceDir}`));
|
|
377
|
+
console.error(chalk.red(` __dirname: ${__dirname}`));
|
|
378
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
379
|
+
if (packageRoot) {
|
|
380
|
+
console.error(chalk.red(` Package root: ${packageRoot}`));
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
console.error(chalk.red(` Could not find package root (looking for package.json with name="specweave")`));
|
|
384
|
+
}
|
|
385
|
+
throw new Error('Failed to locate source commands directory. This may be a Windows path resolution issue.');
|
|
307
386
|
}
|
|
308
387
|
try {
|
|
309
388
|
fs.copySync(sourceDir, targetCommandsDir);
|
|
310
389
|
}
|
|
311
390
|
catch (error) {
|
|
312
391
|
console.error(chalk.red(`\n❌ Error copying commands: ${error.message}`));
|
|
392
|
+
throw error;
|
|
313
393
|
}
|
|
314
394
|
}
|
|
315
395
|
function copyAgents(agentsDir, targetAgentsDir) {
|
|
316
396
|
const sourceDir = findSourceDir('agents');
|
|
317
397
|
if (!fs.existsSync(sourceDir)) {
|
|
318
|
-
console.
|
|
319
|
-
console.
|
|
320
|
-
|
|
398
|
+
console.error(chalk.red(`\n❌ Error: Source agents directory not found`));
|
|
399
|
+
console.error(chalk.red(` Expected at: ${sourceDir}`));
|
|
400
|
+
console.error(chalk.red(` __dirname: ${__dirname}`));
|
|
401
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
402
|
+
if (packageRoot) {
|
|
403
|
+
console.error(chalk.red(` Package root: ${packageRoot}`));
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
console.error(chalk.red(` Could not find package root (looking for package.json with name="specweave")`));
|
|
407
|
+
}
|
|
408
|
+
throw new Error('Failed to locate source agents directory. This may be a Windows path resolution issue.');
|
|
321
409
|
}
|
|
322
410
|
try {
|
|
323
411
|
fs.copySync(sourceDir, targetAgentsDir);
|
|
324
412
|
}
|
|
325
413
|
catch (error) {
|
|
326
414
|
console.error(chalk.red(`\n❌ Error copying agents: ${error.message}`));
|
|
415
|
+
throw error;
|
|
327
416
|
}
|
|
328
417
|
}
|
|
329
418
|
function copySkills(skillsDir, targetSkillsDir) {
|
|
330
419
|
const sourceDir = findSourceDir('skills');
|
|
331
420
|
if (!fs.existsSync(sourceDir)) {
|
|
332
|
-
console.
|
|
333
|
-
console.
|
|
334
|
-
|
|
421
|
+
console.error(chalk.red(`\n❌ Error: Source skills directory not found`));
|
|
422
|
+
console.error(chalk.red(` Expected at: ${sourceDir}`));
|
|
423
|
+
console.error(chalk.red(` __dirname: ${__dirname}`));
|
|
424
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
425
|
+
if (packageRoot) {
|
|
426
|
+
console.error(chalk.red(` Package root: ${packageRoot}`));
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
console.error(chalk.red(` Could not find package root (looking for package.json with name="specweave")`));
|
|
430
|
+
}
|
|
431
|
+
throw new Error('Failed to locate source skills directory. This may be a Windows path resolution issue.');
|
|
335
432
|
}
|
|
336
433
|
try {
|
|
337
434
|
fs.copySync(sourceDir, targetSkillsDir);
|
|
338
435
|
}
|
|
339
436
|
catch (error) {
|
|
340
437
|
console.error(chalk.red(`\n❌ Error copying skills: ${error.message}`));
|
|
438
|
+
throw error;
|
|
341
439
|
}
|
|
342
440
|
}
|
|
343
441
|
function showNextSteps(projectName, adapterName, usedDotNotation = false) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "specweave",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.3",
|
|
4
4
|
"description": "Replace vibe coding with spec-driven development. Smart workflow: /specweave inc auto-closes previous, /specweave build auto-resumes, /specweave progress shows status. PM-led planning, 10 agents, 35+ skills. spec-weave.com",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -21,6 +21,64 @@ import { getDirname } from '../utils/esm-helpers.js';
|
|
|
21
21
|
|
|
22
22
|
const __dirname = getDirname(import.meta.url);
|
|
23
23
|
|
|
24
|
+
/**
|
|
25
|
+
* Find the package root by walking up the directory tree looking for package.json
|
|
26
|
+
* This works reliably on all platforms including Windows with UNC paths
|
|
27
|
+
*/
|
|
28
|
+
function findPackageRoot(startDir: string): string | null {
|
|
29
|
+
let currentDir = startDir;
|
|
30
|
+
const root = path.parse(currentDir).root;
|
|
31
|
+
|
|
32
|
+
while (currentDir !== root) {
|
|
33
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
|
34
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
35
|
+
try {
|
|
36
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
37
|
+
// Verify this is the specweave package
|
|
38
|
+
if (packageJson.name === 'specweave') {
|
|
39
|
+
return currentDir;
|
|
40
|
+
}
|
|
41
|
+
} catch (error) {
|
|
42
|
+
// Not a valid package.json, continue searching
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
const parentDir = path.dirname(currentDir);
|
|
46
|
+
if (parentDir === currentDir) break; // Reached root
|
|
47
|
+
currentDir = parentDir;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Find template file using package root detection
|
|
55
|
+
*/
|
|
56
|
+
function findTemplateFile(filename: string): string | null {
|
|
57
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
58
|
+
|
|
59
|
+
if (packageRoot) {
|
|
60
|
+
// Try src/templates/ first (for npm installs)
|
|
61
|
+
const srcPath = path.normalize(path.join(packageRoot, 'src', 'templates', filename));
|
|
62
|
+
if (fs.existsSync(srcPath)) {
|
|
63
|
+
return srcPath;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Try dist/templates/ (shouldn't exist but try anyway)
|
|
67
|
+
const distPath = path.normalize(path.join(packageRoot, 'dist', 'templates', filename));
|
|
68
|
+
if (fs.existsSync(distPath)) {
|
|
69
|
+
return distPath;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Try templates/ directly in package root
|
|
73
|
+
const rootPath = path.normalize(path.join(packageRoot, 'templates', filename));
|
|
74
|
+
if (fs.existsSync(rootPath)) {
|
|
75
|
+
return rootPath;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
|
|
24
82
|
export interface AgentsMdOptions {
|
|
25
83
|
projectName: string;
|
|
26
84
|
projectPath: string;
|
|
@@ -45,12 +103,20 @@ export class AgentsMdGenerator {
|
|
|
45
103
|
* Generate complete AGENTS.md content
|
|
46
104
|
*/
|
|
47
105
|
async generate(options: AgentsMdOptions): Promise<string> {
|
|
48
|
-
// Read template
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
106
|
+
// Read template - use provided path or find it via package root
|
|
107
|
+
let templatePath = options.templatePath;
|
|
108
|
+
|
|
109
|
+
if (!templatePath || !await fs.pathExists(templatePath)) {
|
|
110
|
+
// Fallback: try to find template using package root detection
|
|
111
|
+
const foundPath = findTemplateFile('AGENTS.md.template');
|
|
112
|
+
if (foundPath) {
|
|
113
|
+
templatePath = foundPath;
|
|
114
|
+
} else {
|
|
115
|
+
const errorMsg = options.templatePath
|
|
116
|
+
? `AGENTS.md template not found at: ${options.templatePath}\nAlso tried package root detection but failed.`
|
|
117
|
+
: `AGENTS.md template not found. Tried:\n - Package root detection\n - __dirname: ${__dirname}\n - Default: ${path.join(__dirname, '../templates/AGENTS.md.template')}`;
|
|
118
|
+
throw new Error(errorMsg);
|
|
119
|
+
}
|
|
54
120
|
}
|
|
55
121
|
|
|
56
122
|
let content = await fs.readFile(templatePath, 'utf-8');
|
|
@@ -19,6 +19,64 @@ import { getDirname } from '../utils/esm-helpers.js';
|
|
|
19
19
|
|
|
20
20
|
const __dirname = getDirname(import.meta.url);
|
|
21
21
|
|
|
22
|
+
/**
|
|
23
|
+
* Find the package root by walking up the directory tree looking for package.json
|
|
24
|
+
* This works reliably on all platforms including Windows with UNC paths
|
|
25
|
+
*/
|
|
26
|
+
function findPackageRoot(startDir: string): string | null {
|
|
27
|
+
let currentDir = startDir;
|
|
28
|
+
const root = path.parse(currentDir).root;
|
|
29
|
+
|
|
30
|
+
while (currentDir !== root) {
|
|
31
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
|
32
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
33
|
+
try {
|
|
34
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
35
|
+
// Verify this is the specweave package
|
|
36
|
+
if (packageJson.name === 'specweave') {
|
|
37
|
+
return currentDir;
|
|
38
|
+
}
|
|
39
|
+
} catch (error) {
|
|
40
|
+
// Not a valid package.json, continue searching
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
const parentDir = path.dirname(currentDir);
|
|
44
|
+
if (parentDir === currentDir) break; // Reached root
|
|
45
|
+
currentDir = parentDir;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Find template file using package root detection
|
|
53
|
+
*/
|
|
54
|
+
function findTemplateFile(filename: string): string | null {
|
|
55
|
+
const packageRoot = findPackageRoot(__dirname);
|
|
56
|
+
|
|
57
|
+
if (packageRoot) {
|
|
58
|
+
// Try src/templates/ first (for npm installs)
|
|
59
|
+
const srcPath = path.normalize(path.join(packageRoot, 'src', 'templates', filename));
|
|
60
|
+
if (fs.existsSync(srcPath)) {
|
|
61
|
+
return srcPath;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// Try dist/templates/ (shouldn't exist but try anyway)
|
|
65
|
+
const distPath = path.normalize(path.join(packageRoot, 'dist', 'templates', filename));
|
|
66
|
+
if (fs.existsSync(distPath)) {
|
|
67
|
+
return distPath;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Try templates/ directly in package root
|
|
71
|
+
const rootPath = path.normalize(path.join(packageRoot, 'templates', filename));
|
|
72
|
+
if (fs.existsSync(rootPath)) {
|
|
73
|
+
return rootPath;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
|
|
22
80
|
export interface ClaudeMdOptions {
|
|
23
81
|
projectName: string;
|
|
24
82
|
projectPath: string;
|
|
@@ -43,12 +101,20 @@ export class ClaudeMdGenerator {
|
|
|
43
101
|
* Generate complete CLAUDE.md content
|
|
44
102
|
*/
|
|
45
103
|
async generate(options: ClaudeMdOptions): Promise<string> {
|
|
46
|
-
// Read template
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
104
|
+
// Read template - use provided path or find it via package root
|
|
105
|
+
let templatePath = options.templatePath;
|
|
106
|
+
|
|
107
|
+
if (!templatePath || !await fs.pathExists(templatePath)) {
|
|
108
|
+
// Fallback: try to find template using package root detection
|
|
109
|
+
const foundPath = findTemplateFile('CLAUDE.md.template');
|
|
110
|
+
if (foundPath) {
|
|
111
|
+
templatePath = foundPath;
|
|
112
|
+
} else {
|
|
113
|
+
const errorMsg = options.templatePath
|
|
114
|
+
? `CLAUDE.md template not found at: ${options.templatePath}\nAlso tried package root detection but failed.`
|
|
115
|
+
: `CLAUDE.md template not found. Tried:\n - Package root detection\n - __dirname: ${__dirname}\n - Default: ${path.join(__dirname, '../templates/CLAUDE.md.template')}`;
|
|
116
|
+
throw new Error(errorMsg);
|
|
117
|
+
}
|
|
52
118
|
}
|
|
53
119
|
|
|
54
120
|
let content = await fs.readFile(templatePath, 'utf-8');
|