azclaude-copilot 0.3.4 → 0.3.6
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/bin/cli.js +13 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<p align="center"><strong>AI coding environment that learns, evolves, and builds autonomously.</strong></p>
|
|
4
4
|
<p align="center">
|
|
5
5
|
<a href="https://www.npmjs.com/package/azclaude-copilot"><img src="https://img.shields.io/npm/v/azclaude-copilot.svg" alt="npm version"></a>
|
|
6
|
-
<a href="https://github.com/haytamAroui/AZ-CLAUDE-COPILOT/actions"><img src="https://
|
|
6
|
+
<a href="https://github.com/haytamAroui/AZ-CLAUDE-COPILOT/actions/workflows/tests.yml"><img src="https://github.com/haytamAroui/AZ-CLAUDE-COPILOT/actions/workflows/tests.yml/badge.svg" alt="tests"></a>
|
|
7
7
|
<a href="https://github.com/haytamAroui/AZ-CLAUDE-COPILOT/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license"></a>
|
|
8
8
|
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/node-%3E%3D16-brightgreen" alt="node version"></a>
|
|
9
9
|
</p>
|
package/bin/cli.js
CHANGED
|
@@ -310,10 +310,20 @@ function installCapabilities(projectDir, cfg, full) {
|
|
|
310
310
|
// Always install missing core dirs (e.g. evolution/ added in v0.1.6)
|
|
311
311
|
const dirs = full ? FULL_CAP_DIRS : CORE_CAP_DIRS;
|
|
312
312
|
for (const dir of dirs) {
|
|
313
|
+
const srcSub = path.join(src, dir);
|
|
313
314
|
const dstSub = path.join(dst, dir);
|
|
314
315
|
if (!fs.existsSync(dstSub)) {
|
|
315
|
-
copyDir(
|
|
316
|
+
copyDir(srcSub, dstSub);
|
|
316
317
|
ok(`${dir}/ capabilities added`);
|
|
318
|
+
} else {
|
|
319
|
+
// Copy any new files added to existing subdirs (e.g. reflexes.md)
|
|
320
|
+
for (const entry of fs.readdirSync(srcSub, { withFileTypes: true })) {
|
|
321
|
+
if (!entry.isFile()) continue;
|
|
322
|
+
const d = path.join(dstSub, entry.name);
|
|
323
|
+
if (!fs.existsSync(d)) {
|
|
324
|
+
fs.copyFileSync(path.join(srcSub, entry.name), d);
|
|
325
|
+
}
|
|
326
|
+
}
|
|
317
327
|
}
|
|
318
328
|
}
|
|
319
329
|
ok('Capabilities verified — all dirs present');
|
|
@@ -448,7 +458,7 @@ function verifyCapabilityReferences(projectDir, cfg) {
|
|
|
448
458
|
path.join(projectDir, cfg, 'commands'),
|
|
449
459
|
path.join(projectDir, cfg, 'agents'),
|
|
450
460
|
];
|
|
451
|
-
const capPattern = /capabilities\/[^\s)}\]"'`,]+/g;
|
|
461
|
+
const capPattern = /capabilities\/[^\s)}\]"'`,{]+/g;
|
|
452
462
|
let checked = 0, missing = 0;
|
|
453
463
|
const seen = new Set();
|
|
454
464
|
|
|
@@ -460,6 +470,7 @@ function verifyCapabilityReferences(projectDir, cfg) {
|
|
|
460
470
|
const matches = content.match(capPattern);
|
|
461
471
|
if (!matches) continue;
|
|
462
472
|
for (const ref of matches) {
|
|
473
|
+
if (!ref.endsWith('.md')) continue; // skip template placeholders like level{N}.md
|
|
463
474
|
const key = ref;
|
|
464
475
|
if (seen.has(key)) continue;
|
|
465
476
|
seen.add(key);
|
package/package.json
CHANGED