auroq-os 1.2.1 → 1.2.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/bin/auroq-os.js +33 -0
- package/package.json +1 -1
package/bin/auroq-os.js
CHANGED
|
@@ -245,8 +245,41 @@ async function init() {
|
|
|
245
245
|
'business/cockpit.md',
|
|
246
246
|
];
|
|
247
247
|
|
|
248
|
+
// Detectar se ja existe companion personalizado (ex: taquion-companion.md)
|
|
249
|
+
// Se existir, NAO copiar companion.md generico pra nao duplicar
|
|
250
|
+
const commandsDir = path.join(targetDir, '.claude', 'commands');
|
|
251
|
+
let hasCustomCompanion = false;
|
|
252
|
+
if (await fs.pathExists(commandsDir)) {
|
|
253
|
+
const cmdFiles = await fs.readdir(commandsDir);
|
|
254
|
+
hasCustomCompanion = cmdFiles.some(f => f.endsWith('-companion.md') && f !== 'companion.md');
|
|
255
|
+
if (hasCustomCompanion) {
|
|
256
|
+
const customName = cmdFiles.find(f => f.endsWith('-companion.md') && f !== 'companion.md');
|
|
257
|
+
log(`${DIM} Companion personalizado detectado: ${customName} — pulando companion.md generico${RESET}`);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
// Limpar commands antigos em camelCase (versoes anteriores usavam camelCase)
|
|
261
|
+
const legacyCommands = ['cloneForge.md', 'mindForge.md', 'squadForge.md', 'workerForge.md', 'etlmaker.md'];
|
|
262
|
+
// Nota: etlmaker.md nao muda de nome, os outros sim
|
|
263
|
+
const camelToKebab = { 'cloneForge.md': 'clone-forge.md', 'mindForge.md': 'mind-forge.md', 'squadForge.md': 'squad-forge.md', 'workerForge.md': 'worker-forge.md' };
|
|
264
|
+
let legacyCleaned = 0;
|
|
265
|
+
for (const legacy of Object.keys(camelToKebab)) {
|
|
266
|
+
const legacyPath = path.join(commandsDir, legacy);
|
|
267
|
+
if (await fs.pathExists(legacyPath)) {
|
|
268
|
+
await fs.remove(legacyPath);
|
|
269
|
+
legacyCleaned++;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
if (legacyCleaned > 0) {
|
|
273
|
+
log(`${DIM} Removidos ${legacyCleaned} commands antigos (camelCase → kebab-case)${RESET}`);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
|
|
248
277
|
let copied = 0;
|
|
249
278
|
for (const file of frameworkFiles) {
|
|
279
|
+
// Pular companion.md generico se ja tem personalizado
|
|
280
|
+
if (file === '.claude/commands/companion.md' && hasCustomCompanion) {
|
|
281
|
+
continue;
|
|
282
|
+
}
|
|
250
283
|
const src = path.join(sourceDir, file);
|
|
251
284
|
const dst = path.join(targetDir, file);
|
|
252
285
|
if (await fs.pathExists(src)) {
|