ai-workflow-init 6.4.1 โ†’ 6.4.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.
@@ -12,5 +12,5 @@
12
12
  "deny": [],
13
13
  "ask": []
14
14
  },
15
- "outputStyle": "tech-explainer"
15
+ "outputStyle": "default"
16
16
  }
package/cli.js CHANGED
@@ -212,7 +212,7 @@ const AI_TOOLS = [
212
212
  id: "claude",
213
213
  name: "Claude Code",
214
214
  description: "Anthropic's AI coding assistant",
215
- folders: [".claude/commands", ".claude/skills", ".claude/themes"],
215
+ folders: [".claude/commands", ".claude/skills", ".claude/themes", ".claude/output-styles", ".claude/agents"],
216
216
  },
217
217
  {
218
218
  id: "opencode",
@@ -426,6 +426,20 @@ function installClaudeCode() {
426
426
  mkdirSync(".claude/themes", { recursive: true });
427
427
  }
428
428
  run(`npx degit ${REPO}/.claude/themes .claude/themes --force`);
429
+
430
+ // Download output-styles folder (always overwrite to get latest)
431
+ step("๐Ÿšš Downloading Claude Code output-styles (.claude/output-styles)...");
432
+ if (!existsSync(".claude/output-styles")) {
433
+ mkdirSync(".claude/output-styles", { recursive: true });
434
+ }
435
+ run(`npx degit ${REPO}/.claude/output-styles .claude/output-styles --force`);
436
+
437
+ // Download agents folder (always overwrite to get latest)
438
+ step("๐Ÿšš Downloading Claude Code agents (.claude/agents)...");
439
+ if (!existsSync(".claude/agents")) {
440
+ mkdirSync(".claude/agents", { recursive: true });
441
+ }
442
+ run(`npx degit ${REPO}/.claude/agents .claude/agents --force`);
429
443
  }
430
444
 
431
445
  // Install OpenCode
@@ -524,6 +538,66 @@ function installFactoryDroid() {
524
538
  }
525
539
  }
526
540
 
541
+ // Check and clone missing .factory subfolders (when .factory already exists)
542
+ function checkAndCloneFactory() {
543
+ if (!existsSync(".factory")) {
544
+ return; // .factory doesn't exist, skip
545
+ }
546
+
547
+ step("๐Ÿ” Checking for missing .factory subfolders...");
548
+
549
+ const factorySubfolders = [
550
+ { path: ".factory/commands", name: "commands" },
551
+ { path: ".factory/droids", name: "droids" },
552
+ { path: ".factory/skills", name: "skills" },
553
+ ];
554
+
555
+ for (const subfolder of factorySubfolders) {
556
+ if (!existsSync(subfolder.path)) {
557
+ step(`๐Ÿšš Cloning missing subfolder: ${subfolder.path}...`);
558
+ mkdirSync(subfolder.path, { recursive: true });
559
+ try {
560
+ run(`npx degit ${REPO}/${subfolder.path} ${subfolder.path} --force`);
561
+ success(`Cloned: ${subfolder.path}`);
562
+ } catch (e) {
563
+ console.log(`${colors.yellow}โš ๏ธ ${subfolder.path} not found in repo${colors.reset}`);
564
+ }
565
+ } else {
566
+ skip(`Already exists: ${subfolder.path}`);
567
+ }
568
+ }
569
+ }
570
+
571
+ // Check and clone missing .opencode subfolders (when .opencode already exists)
572
+ function checkAndCloneOpenCode() {
573
+ if (!existsSync(".opencode")) {
574
+ return; // .opencode doesn't exist, skip
575
+ }
576
+
577
+ step("๐Ÿ” Checking for missing .opencode subfolders...");
578
+
579
+ const opencodeSubfolders = [
580
+ { path: ".opencode/agent", name: "agent" },
581
+ { path: ".opencode/command", name: "command" },
582
+ { path: ".opencode/skill", name: "skill" },
583
+ ];
584
+
585
+ for (const subfolder of opencodeSubfolders) {
586
+ if (!existsSync(subfolder.path)) {
587
+ step(`๐Ÿšš Cloning missing subfolder: ${subfolder.path}...`);
588
+ mkdirSync(subfolder.path, { recursive: true });
589
+ try {
590
+ run(`npx degit ${REPO}/${subfolder.path} ${subfolder.path} --force`);
591
+ success(`Cloned: ${subfolder.path}`);
592
+ } catch (e) {
593
+ console.log(`${colors.yellow}โš ๏ธ ${subfolder.path} not found in repo${colors.reset}`);
594
+ }
595
+ } else {
596
+ skip(`Already exists: ${subfolder.path}`);
597
+ }
598
+ }
599
+ }
600
+
527
601
  async function main() {
528
602
  console.log(`
529
603
  ${colors.cyan}โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•—
@@ -596,6 +670,15 @@ ${colors.cyan}โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•
596
670
  installFactoryDroid();
597
671
  }
598
672
 
673
+ // Check and clone missing subfolders for existing .factory and .opencode
674
+ // This runs regardless of tool selection, in case folders already exist
675
+ if (!toolIds.includes("factory")) {
676
+ checkAndCloneFactory();
677
+ }
678
+ if (!toolIds.includes("opencode")) {
679
+ checkAndCloneOpenCode();
680
+ }
681
+
599
682
  // Download AGENTS.md (luรดn ghi ฤ‘รจ)
600
683
  step("๐Ÿšš Downloading AGENTS.md...");
601
684
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ai-workflow-init",
3
- "version": "6.4.1",
3
+ "version": "6.4.2",
4
4
  "description": "Initialize AI workflow docs & commands into any repo with one command",
5
5
  "bin": {
6
6
  "ai-workflow-init": "./cli.js"