agent-skills-standard 2.5.0 → 2.5.1
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/README.md +1 -1
- package/dist/index.js +39 -15
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
**Sync 242 AI coding standards to any project in one command.** Works with Cursor, Claude Code, GitHub Copilot, Gemini, Windsurf, Trae, Kiro, and Roo.
|
|
7
7
|
|
|
8
|
-
**Current release:** `v2.
|
|
8
|
+
**Current release:** `v2.5.1` — automated SkillSpector security scanning, pull request evaluation gates, and verified release tags.
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
11
|
npx agent-skills-standard@latest init # detect your stack
|
package/dist/index.js
CHANGED
|
@@ -43,7 +43,7 @@ let child_process = require("child_process");
|
|
|
43
43
|
let fs = require("fs");
|
|
44
44
|
var package_default = {
|
|
45
45
|
name: "agent-skills-standard",
|
|
46
|
-
version: "2.5.
|
|
46
|
+
version: "2.5.1",
|
|
47
47
|
description: "A CLI to manage and sync AI agent skills standard for Cursor, Claude, Copilot, Windsurf, and more.",
|
|
48
48
|
main: "dist/index.js",
|
|
49
49
|
bin: {
|
|
@@ -342,6 +342,7 @@ var Framework = /* @__PURE__ */ function(Framework) {
|
|
|
342
342
|
Framework["Android"] = "android";
|
|
343
343
|
Framework["iOS"] = "ios";
|
|
344
344
|
Framework["Laravel"] = "laravel";
|
|
345
|
+
Framework["Python"] = "python";
|
|
345
346
|
return Framework;
|
|
346
347
|
}({});
|
|
347
348
|
//#endregion
|
|
@@ -672,7 +673,8 @@ var BACKEND_FRAMEWORKS = [
|
|
|
672
673
|
Framework.NestJS,
|
|
673
674
|
Framework.Golang,
|
|
674
675
|
Framework.SpringBoot,
|
|
675
|
-
Framework.Laravel
|
|
676
|
+
Framework.Laravel,
|
|
677
|
+
Framework.Python
|
|
676
678
|
];
|
|
677
679
|
var FRONTEND_FRAMEWORKS = [
|
|
678
680
|
Framework.React,
|
|
@@ -1007,6 +1009,20 @@ var getFrameworkDefinition = (id) => {
|
|
|
1007
1009
|
javascript: ["resources/js", "vite.config.js"]
|
|
1008
1010
|
}
|
|
1009
1011
|
};
|
|
1012
|
+
case Framework.Python: return {
|
|
1013
|
+
id,
|
|
1014
|
+
name: "Python",
|
|
1015
|
+
languages: ["python"],
|
|
1016
|
+
detectionFiles: [
|
|
1017
|
+
"pyproject.toml",
|
|
1018
|
+
"requirements.txt",
|
|
1019
|
+
"setup.py",
|
|
1020
|
+
"setup.cfg",
|
|
1021
|
+
"Pipfile",
|
|
1022
|
+
"poetry.lock",
|
|
1023
|
+
"uv.lock"
|
|
1024
|
+
]
|
|
1025
|
+
};
|
|
1010
1026
|
}
|
|
1011
1027
|
};
|
|
1012
1028
|
var SUPPORTED_AGENTS = Object.values(Agent).map(getAgentDefinition);
|
|
@@ -4361,25 +4377,35 @@ var MarkdownUtils = class {
|
|
|
4361
4377
|
* @param rootDir Project root directory
|
|
4362
4378
|
* @param targets Array of target file names
|
|
4363
4379
|
* @param indexContent The markdown content to inject
|
|
4380
|
+
* @returns Array of target files that were successfully updated/created
|
|
4364
4381
|
*/
|
|
4365
4382
|
static async injectIndex(rootDir, targets, indexContent) {
|
|
4383
|
+
const updated = [];
|
|
4366
4384
|
for (const target of targets) {
|
|
4367
4385
|
const targetPath = path.default.join(rootDir, target);
|
|
4368
4386
|
let content = "";
|
|
4387
|
+
const markerStart = "<!-- SKILLS_INDEX_START -->";
|
|
4388
|
+
const markerEnd = "<!-- SKILLS_INDEX_END -->";
|
|
4369
4389
|
if (await fs_extra.default.pathExists(targetPath)) {
|
|
4370
4390
|
content = await fs_extra.default.readFile(targetPath, "utf8");
|
|
4371
|
-
const markerStart = "<!-- SKILLS_INDEX_START -->";
|
|
4372
|
-
const markerEnd = "<!-- SKILLS_INDEX_END -->";
|
|
4373
4391
|
const startIndex = content.indexOf(markerStart);
|
|
4374
4392
|
const endIndex = content.indexOf(markerEnd);
|
|
4375
4393
|
if (startIndex !== -1 && endIndex !== -1 && startIndex < endIndex) content = `${content.substring(0, startIndex + 27)}\n${indexContent}\n${content.substring(endIndex)}`;
|
|
4376
|
-
else
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4394
|
+
else continue;
|
|
4395
|
+
} else content = [
|
|
4396
|
+
"# Project Context for AI Agents",
|
|
4397
|
+
"",
|
|
4398
|
+
"This file provides context and instructions for AI agents working in this repository.",
|
|
4399
|
+
"",
|
|
4400
|
+
markerStart,
|
|
4401
|
+
indexContent,
|
|
4402
|
+
markerEnd,
|
|
4403
|
+
""
|
|
4404
|
+
].join("\n");
|
|
4381
4405
|
await fs_extra.default.outputFile(targetPath, content);
|
|
4406
|
+
updated.push(target);
|
|
4382
4407
|
}
|
|
4408
|
+
return updated;
|
|
4383
4409
|
}
|
|
4384
4410
|
};
|
|
4385
4411
|
//#endregion
|
|
@@ -4475,13 +4501,11 @@ var SyncService = class {
|
|
|
4475
4501
|
if (Object.keys(categoryIndices).length > 0) console.log(picocolors.default.green(` ✅ Generated _INDEX.md for ${Object.keys(categoryIndices).length} categories.`));
|
|
4476
4502
|
const mcpEnabled = config.mcp?.enabled === true;
|
|
4477
4503
|
const routerIndex = await generator.assembleRouterIndex(baseDir, allowedCategories, mcpEnabled);
|
|
4478
|
-
await MarkdownUtils.injectIndex(process.cwd(), ["AGENTS.md"], routerIndex);
|
|
4479
|
-
console.log(picocolors.default.
|
|
4504
|
+
if ((await MarkdownUtils.injectIndex(process.cwd(), ["AGENTS.md"], routerIndex)).length > 0) console.log(picocolors.default.green(" ✅ AGENTS.md router index updated."));
|
|
4505
|
+
else console.log(picocolors.default.yellow(" ⚠️ Skipped AGENTS.md update: index markers <!-- SKILLS_INDEX_START --> … <!-- SKILLS_INDEX_END --> are missing or out of order. Opt-in by adding these markers to your file."));
|
|
4480
4506
|
const serverDir = path.default.join(process.cwd(), "server");
|
|
4481
|
-
if (await fs_extra.default.pathExists(serverDir))
|
|
4482
|
-
|
|
4483
|
-
console.log(picocolors.default.green(" ✅ server/AGENTS.md router index updated."));
|
|
4484
|
-
}
|
|
4507
|
+
if (await fs_extra.default.pathExists(serverDir)) if ((await MarkdownUtils.injectIndex(serverDir, ["AGENTS.md"], routerIndex)).length > 0) console.log(picocolors.default.green(" ✅ server/AGENTS.md router index updated."));
|
|
4508
|
+
else console.log(picocolors.default.yellow(" ⚠️ Skipped server/AGENTS.md update: index markers <!-- SKILLS_INDEX_START --> … <!-- SKILLS_INDEX_END --> are missing or out of order in server/AGENTS.md. Opt-in via markers."));
|
|
4485
4509
|
await new AgentBridgeService().bridge(process.cwd(), agents);
|
|
4486
4510
|
} catch (error) {
|
|
4487
4511
|
console.log(picocolors.default.yellow(` ⚠️ Failed to update index: ${error}`));
|