@songsid/agend 0.0.17-beta.7 → 0.0.17-beta.8

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.
@@ -166,7 +166,7 @@ export declare class FleetManager implements FleetContext, LifecycleContext, Arc
166
166
  private static GENERAL_INSTRUCTIONS;
167
167
  /** Ensure the general instance has its project instructions file + knowledge */
168
168
  private ensureGeneralInstructions;
169
- /** Copy src/general-knowledge/*.md to the general instance's steering dir */
169
+ /** Copy general-knowledge steering + skills to the general instance's workspace */
170
170
  private syncGeneralKnowledge;
171
171
  /** Fetch forum topic icon stickers and pick emoji IDs for each state */
172
172
  private resolveTopicIcons;
@@ -2352,28 +2352,55 @@ When users create specialized instances, suggest these configurations:
2352
2352
  // Sync bundled knowledge files to general's steering directory
2353
2353
  this.syncGeneralKnowledge(workDir, backend);
2354
2354
  }
2355
- /** Copy src/general-knowledge/*.md to the general instance's steering dir */
2355
+ /** Copy general-knowledge steering + skills to the general instance's workspace */
2356
2356
  syncGeneralKnowledge(workDir, backend) {
2357
2357
  const knowledgeDir = join(dirname(fileURLToPath(import.meta.url)), "general-knowledge");
2358
2358
  if (!existsSync(knowledgeDir))
2359
2359
  return;
2360
+ // Sync steering files → .kiro/steering/ (or workDir root for non-kiro)
2360
2361
  const steeringDir = backend === "kiro-cli"
2361
2362
  ? join(workDir, ".kiro", "steering")
2362
- : workDir; // other backends: put in working dir root
2363
+ : workDir;
2363
2364
  mkdirSync(steeringDir, { recursive: true });
2364
- for (const file of readdirSync(knowledgeDir)) {
2365
- if (!file.endsWith(".md"))
2366
- continue;
2367
- const src = join(knowledgeDir, file);
2368
- const dest = join(steeringDir, file);
2369
- // Only write if content actually changed — avoids triggering instructions hash diff
2370
- const newContent = readFileSync(src, "utf-8");
2371
- try {
2372
- if (existsSync(dest) && readFileSync(dest, "utf-8") === newContent)
2365
+ const srcSteering = join(knowledgeDir, "steering");
2366
+ if (existsSync(srcSteering)) {
2367
+ for (const file of readdirSync(srcSteering)) {
2368
+ if (!file.endsWith(".md"))
2373
2369
  continue;
2370
+ const src = join(srcSteering, file);
2371
+ const dest = join(steeringDir, file);
2372
+ const newContent = readFileSync(src, "utf-8");
2373
+ try {
2374
+ if (existsSync(dest) && readFileSync(dest, "utf-8") === newContent)
2375
+ continue;
2376
+ }
2377
+ catch { }
2378
+ writeFileSync(dest, newContent);
2379
+ }
2380
+ }
2381
+ // Sync skills → .kiro/skills/ (kiro-cli only)
2382
+ if (backend === "kiro-cli") {
2383
+ const srcSkills = join(knowledgeDir, "skills");
2384
+ if (existsSync(srcSkills)) {
2385
+ const destSkills = join(workDir, ".kiro", "skills");
2386
+ mkdirSync(destSkills, { recursive: true });
2387
+ for (const skillDir of readdirSync(srcSkills)) {
2388
+ const skillSrc = join(srcSkills, skillDir);
2389
+ if (!existsSync(join(skillSrc, "SKILL.md")))
2390
+ continue;
2391
+ const skillDest = join(destSkills, skillDir);
2392
+ mkdirSync(skillDest, { recursive: true });
2393
+ const src = join(skillSrc, "SKILL.md");
2394
+ const dest = join(skillDest, "SKILL.md");
2395
+ const newContent = readFileSync(src, "utf-8");
2396
+ try {
2397
+ if (existsSync(dest) && readFileSync(dest, "utf-8") === newContent)
2398
+ continue;
2399
+ }
2400
+ catch { }
2401
+ writeFileSync(dest, newContent);
2402
+ }
2374
2403
  }
2375
- catch { }
2376
- writeFileSync(dest, newContent);
2377
2404
  }
2378
2405
  this.logger.debug({ knowledgeDir, steeringDir }, "Synced general knowledge files");
2379
2406
  }