xo-agent 0.0.1-1 → 0.0.1-2
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/templates/agents/code-reviewer/test-include.md +1 -0
- package/dist/utils/copy.d.ts.map +1 -1
- package/dist/utils/copy.js +36 -3
- package/dist/utils/copy.js.map +1 -1
- package/dist/utils/file-builder.d.ts +4 -0
- package/dist/utils/file-builder.d.ts.map +1 -1
- package/dist/utils/file-builder.js +36 -2
- package/dist/utils/file-builder.js.map +1 -1
- package/package.json +7 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Test include
|
package/dist/utils/copy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../src/utils/copy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI5C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgDD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEnF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAE/E;
|
|
1
|
+
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../src/utils/copy.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI5C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAgDD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAE5E;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAEnF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAE/E;AA+FD;;GAEG;AACH,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,IAAI,CAAC,CAGf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAElE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;AASD;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExF;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAExF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3G;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAErF"}
|
package/dist/utils/copy.js
CHANGED
|
@@ -112,6 +112,31 @@ async function getAvailableCommands(commandsDir) {
|
|
|
112
112
|
async function getAvailableAgents(agentsDir) {
|
|
113
113
|
return getTemplates(agentsDir, 'AGENT.md');
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Collect all files referenced via @include directives
|
|
117
|
+
*/
|
|
118
|
+
async function collectIncludedFiles(sourcePath, files) {
|
|
119
|
+
const includedFiles = new Set();
|
|
120
|
+
for (const file of files) {
|
|
121
|
+
if (!file.endsWith('.md'))
|
|
122
|
+
continue;
|
|
123
|
+
const filePath = path.join(sourcePath, file);
|
|
124
|
+
const content = await fs.readFile(filePath, 'utf-8');
|
|
125
|
+
// Find all @include directives
|
|
126
|
+
const includePattern = /@include\s*["`](.+?)["`]/g;
|
|
127
|
+
let match;
|
|
128
|
+
while ((match = includePattern.exec(content)) !== null) {
|
|
129
|
+
const includedPath = match[1];
|
|
130
|
+
// Resolve relative to the file containing the @include
|
|
131
|
+
const fileDir = path.dirname(filePath);
|
|
132
|
+
const resolvedPath = path.resolve(fileDir, includedPath);
|
|
133
|
+
// Get relative path from sourcePath
|
|
134
|
+
const relativePath = path.relative(sourcePath, resolvedPath);
|
|
135
|
+
includedFiles.add(relativePath);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return includedFiles;
|
|
139
|
+
}
|
|
115
140
|
/**
|
|
116
141
|
* Generic function to process and copy files with FileBuilder
|
|
117
142
|
*/
|
|
@@ -124,8 +149,14 @@ async function processAndCopyFiles(sourcePath, destPath, agent, agentDir, patter
|
|
|
124
149
|
if (files.length === 0) {
|
|
125
150
|
throw new Error(`No files found matching pattern "${pattern}" in ${sourcePath}`);
|
|
126
151
|
}
|
|
152
|
+
// Collect all files referenced via @include
|
|
153
|
+
const includedFiles = await collectIncludedFiles(sourcePath, files);
|
|
127
154
|
await fs.ensureDir(destPath);
|
|
128
155
|
for (const file of files) {
|
|
156
|
+
// Skip files that are included by other files
|
|
157
|
+
if (includedFiles.has(file)) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
129
160
|
const sourceFile = path.join(sourcePath, file);
|
|
130
161
|
const destFile = path.join(destPath, file);
|
|
131
162
|
await fs.ensureDir(path.dirname(destFile));
|
|
@@ -133,15 +164,17 @@ async function processAndCopyFiles(sourcePath, destPath, agent, agentDir, patter
|
|
|
133
164
|
if (file.endsWith('.md')) {
|
|
134
165
|
let content = await fs.readFile(sourceFile, 'utf-8');
|
|
135
166
|
// Process with FileBuilder to handle directives
|
|
136
|
-
|
|
167
|
+
const builder = new file_builder_1.FileBuilder({
|
|
137
168
|
agent,
|
|
138
169
|
content,
|
|
139
170
|
agentDir,
|
|
140
171
|
source: sourceFile,
|
|
141
172
|
})
|
|
142
173
|
.include()
|
|
143
|
-
.code()
|
|
144
|
-
|
|
174
|
+
.code();
|
|
175
|
+
// Clean and format markdown
|
|
176
|
+
await builder.clean();
|
|
177
|
+
content = builder.build();
|
|
145
178
|
await fs.writeFile(destFile, content, 'utf-8');
|
|
146
179
|
}
|
|
147
180
|
else {
|
package/dist/utils/copy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/utils/copy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,gDAEC;AAKD,oDAEC;AAKD,gDAEC;
|
|
1
|
+
{"version":3,"file":"copy.js","sourceRoot":"","sources":["../../src/utils/copy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-builder.d.ts","sourceRoot":"","sources":["../../src/utils/file-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-builder.d.ts","sourceRoot":"","sources":["../../src/utils/file-builder.ts"],"names":[],"mappings":"AAQA,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,kBAAkB;IAOpE;;OAEG;IACH,OAAO,CAAC,aAAa;IA8BrB;;OAEG;IACH,OAAO,IAAI,WAAW;IAKtB;;OAEG;IACH,IAAI,IAAI,WAAW;IAkBnB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAqBnC,KAAK,IAAI,MAAM;CAGhB"}
|
|
@@ -32,10 +32,17 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
32
32
|
return result;
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
35
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
39
|
exports.FileBuilder = void 0;
|
|
37
40
|
const fs = __importStar(require("fs-extra"));
|
|
38
41
|
const path = __importStar(require("path"));
|
|
42
|
+
const remark_1 = require("remark");
|
|
43
|
+
const remark_stringify_1 = __importDefault(require("remark-stringify"));
|
|
44
|
+
const remark_frontmatter_1 = __importDefault(require("remark-frontmatter"));
|
|
45
|
+
const remark_gfm_1 = __importDefault(require("remark-gfm"));
|
|
39
46
|
const evaluate_1 = require("./evaluate");
|
|
40
47
|
class FileBuilder {
|
|
41
48
|
constructor({ agent, content, agentDir, source }) {
|
|
@@ -56,14 +63,17 @@ class FileBuilder {
|
|
|
56
63
|
if (filePath === this.source) {
|
|
57
64
|
return "";
|
|
58
65
|
}
|
|
66
|
+
// Resolve path relative to source file directory
|
|
67
|
+
const sourceDir = path.dirname(this.source);
|
|
68
|
+
const resolvedPath = path.resolve(sourceDir, filePath);
|
|
59
69
|
// Nếu include file có agent hoặc general
|
|
60
70
|
if (filePath.includes(`.md`)) {
|
|
61
|
-
const pathContent = fs.readFileSync(
|
|
71
|
+
const pathContent = fs.readFileSync(resolvedPath, "utf-8");
|
|
62
72
|
return new FileBuilder({
|
|
63
73
|
agent: this.agent,
|
|
64
74
|
content: pathContent,
|
|
65
75
|
agentDir: this.agentDir,
|
|
66
|
-
source:
|
|
76
|
+
source: resolvedPath,
|
|
67
77
|
})
|
|
68
78
|
.include()
|
|
69
79
|
.code()
|
|
@@ -99,6 +109,30 @@ class FileBuilder {
|
|
|
99
109
|
this.content = (0, evaluate_1.evaluate)(this.agent, this.agentDir, jsExecution, this.content);
|
|
100
110
|
return this;
|
|
101
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Clean and format markdown
|
|
114
|
+
*/
|
|
115
|
+
async clean() {
|
|
116
|
+
try {
|
|
117
|
+
const result = await (0, remark_1.remark)()
|
|
118
|
+
.use(remark_frontmatter_1.default, ['yaml']) // Preserve YAML frontmatter
|
|
119
|
+
.use(remark_gfm_1.default) // Support GitHub Flavored Markdown (tables, task lists, etc.)
|
|
120
|
+
.use(remark_stringify_1.default, {
|
|
121
|
+
bullet: '-',
|
|
122
|
+
emphasis: '_',
|
|
123
|
+
strong: '*',
|
|
124
|
+
fences: true,
|
|
125
|
+
incrementListMarker: true,
|
|
126
|
+
})
|
|
127
|
+
.process(this.content);
|
|
128
|
+
this.content = String(result);
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
// If remark fails, keep original content
|
|
132
|
+
console.warn('Failed to clean markdown:', error);
|
|
133
|
+
}
|
|
134
|
+
return this;
|
|
135
|
+
}
|
|
102
136
|
build() {
|
|
103
137
|
return this.content;
|
|
104
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-builder.js","sourceRoot":"","sources":["../../src/utils/file-builder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-builder.js","sourceRoot":"","sources":["../../src/utils/file-builder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "xo-agent",
|
|
3
|
-
"version": "0.0.1-
|
|
3
|
+
"version": "0.0.1-2",
|
|
4
4
|
"description": "CLI tool to manage AI agent projects (skills, commands, agents) for Antigravity and Claude",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -33,7 +33,12 @@
|
|
|
33
33
|
"commander": "^12.1.0",
|
|
34
34
|
"fast-glob": "^3.3.3",
|
|
35
35
|
"fs-extra": "^11.3.3",
|
|
36
|
-
"inquirer": "^8.2.7"
|
|
36
|
+
"inquirer": "^8.2.7",
|
|
37
|
+
"remark": "^15.0.1",
|
|
38
|
+
"remark-frontmatter": "^5.0.0",
|
|
39
|
+
"remark-gfm": "^4.0.1",
|
|
40
|
+
"remark-stringify": "^11.0.0",
|
|
41
|
+
"unified": "^11.0.5"
|
|
37
42
|
},
|
|
38
43
|
"devDependencies": {
|
|
39
44
|
"@types/fs-extra": "^11.0.4",
|