myaidev-method 0.3.5 → 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/bin/cli.js +140 -75
- package/package.json +1 -1
package/bin/cli.js
CHANGED
|
@@ -128,7 +128,7 @@ async function loadWorkflowSystem() {
|
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
program
|
|
131
|
-
.version("0.3.
|
|
131
|
+
.version("0.3.6")
|
|
132
132
|
.enablePositionalOptions()
|
|
133
133
|
.description(
|
|
134
134
|
"MyAIDev Method - Comprehensive development framework with SPARC methodology",
|
|
@@ -519,10 +519,31 @@ program
|
|
|
519
519
|
.option("--codex", "Initialize for Codex CLI")
|
|
520
520
|
.option("--pack <pack>", "Install a specific pack: content, design, dev, or full")
|
|
521
521
|
.action(async (options) => {
|
|
522
|
+
const pkgJson = await fs.readJson(path.join(__dirname, "..", "package.json"));
|
|
523
|
+
const version = pkgJson.version;
|
|
524
|
+
const orange = chalk.hex("#FFA500");
|
|
525
|
+
const dim = chalk.dim;
|
|
526
|
+
|
|
522
527
|
try {
|
|
523
528
|
const cwd = process.cwd();
|
|
524
529
|
|
|
525
|
-
//
|
|
530
|
+
// ── Welcome screen ──────────────────────────────────────────────
|
|
531
|
+
console.log(getASCIIBanner());
|
|
532
|
+
console.log(
|
|
533
|
+
chalk.bold.white(" Welcome to ") +
|
|
534
|
+
orange.bold(`MyAIDev Method v${version}`) +
|
|
535
|
+
chalk.bold.white("!\n"),
|
|
536
|
+
);
|
|
537
|
+
console.log(
|
|
538
|
+
dim(" AI-powered skills for content creation, design, software\n") +
|
|
539
|
+
dim(" development, security, and deployment — installed directly\n") +
|
|
540
|
+
dim(" into your AI coding assistant.\n"),
|
|
541
|
+
);
|
|
542
|
+
console.log(
|
|
543
|
+
chalk.white(" ════════════════════════════════════════════════════════\n"),
|
|
544
|
+
);
|
|
545
|
+
|
|
546
|
+
// ── Step 1: CLI type ────────────────────────────────────────────
|
|
526
547
|
let cliType = null;
|
|
527
548
|
if (options.claude) {
|
|
528
549
|
cliType = "claude";
|
|
@@ -535,11 +556,11 @@ program
|
|
|
535
556
|
{
|
|
536
557
|
type: "list",
|
|
537
558
|
name: "cliType",
|
|
538
|
-
message: "Which AI CLI are you
|
|
559
|
+
message: "Which AI CLI are you using?",
|
|
539
560
|
choices: [
|
|
540
|
-
{ name: "Claude Code
|
|
541
|
-
{ name: "Gemini CLI"
|
|
542
|
-
{ name: "Codex CLI
|
|
561
|
+
{ name: `${chalk.bold.cyan("Claude Code")} ${dim("(Recommended)")}`, value: "claude" },
|
|
562
|
+
{ name: `${chalk.bold.white("Gemini CLI")}`, value: "gemini" },
|
|
563
|
+
{ name: `${chalk.bold.white("Codex CLI")} ${dim("/ OpenCode")}`, value: "codex" },
|
|
543
564
|
],
|
|
544
565
|
default: "claude",
|
|
545
566
|
},
|
|
@@ -547,38 +568,70 @@ program
|
|
|
547
568
|
cliType = answer.cliType;
|
|
548
569
|
}
|
|
549
570
|
|
|
550
|
-
// Step 2:
|
|
571
|
+
// ── Step 2: Pack selection ──────────────────────────────────────
|
|
551
572
|
let pack = options.pack || null;
|
|
552
573
|
if (pack && !["content", "design", "dev", "full"].includes(pack)) {
|
|
553
|
-
console.log(chalk.red(`\
|
|
554
|
-
console.log(
|
|
574
|
+
console.log(chalk.red(`\n Unknown pack: "${pack}"`));
|
|
575
|
+
console.log(dim(" Available packs: content, design, dev, full\n"));
|
|
555
576
|
process.exit(1);
|
|
556
577
|
}
|
|
557
578
|
|
|
558
579
|
if (!pack) {
|
|
559
|
-
console.log(
|
|
580
|
+
console.log(
|
|
581
|
+
dim("\n Choose a skill pack based on your role. You can always\n") +
|
|
582
|
+
dim(" add more packs later with: ") +
|
|
583
|
+
chalk.white("npx myaidev-method init --pack <name>\n"),
|
|
584
|
+
);
|
|
585
|
+
|
|
586
|
+
// Build rich pack descriptions
|
|
587
|
+
const contentPack = INSTALL_PACKS.content;
|
|
588
|
+
const designPack = INSTALL_PACKS.design;
|
|
589
|
+
const devPack = INSTALL_PACKS.dev;
|
|
590
|
+
|
|
560
591
|
const answer = await inquirer.prompt([
|
|
561
592
|
{
|
|
562
593
|
type: "list",
|
|
563
594
|
name: "pack",
|
|
564
|
-
message: "
|
|
595
|
+
message: "Select a skill pack to install:",
|
|
565
596
|
choices: [
|
|
597
|
+
new inquirer.Separator(dim(" ─── Skill Packs ──────────────────────────────────────")),
|
|
566
598
|
{
|
|
567
|
-
name:
|
|
599
|
+
name: [
|
|
600
|
+
` ${chalk.green.bold("📝 Content Creation")} ${dim(`${contentPack.skills.length} skills`)}`,
|
|
601
|
+
` ${dim("For marketers & content teams")}`,
|
|
602
|
+
` ${dim("Writing, SEO, visuals, infographics, multi-platform publishing")}`,
|
|
603
|
+
].join("\n"),
|
|
568
604
|
value: "content",
|
|
605
|
+
short: "Content Creation",
|
|
569
606
|
},
|
|
570
607
|
{
|
|
571
|
-
name:
|
|
608
|
+
name: [
|
|
609
|
+
` ${chalk.magenta.bold("🎨 Design")} ${dim(`${designPack.skills.length} skills`)}`,
|
|
610
|
+
` ${dim("For designers & creative teams")}`,
|
|
611
|
+
` ${dim("Figma capture, visual generation, infographics")}`,
|
|
612
|
+
].join("\n"),
|
|
572
613
|
value: "design",
|
|
614
|
+
short: "Design",
|
|
573
615
|
},
|
|
574
616
|
{
|
|
575
|
-
name:
|
|
617
|
+
name: [
|
|
618
|
+
` ${chalk.blue.bold("⚡ Development")} ${dim(`${devPack.skills.length} skills`)}`,
|
|
619
|
+
` ${dim("For software engineers")}`,
|
|
620
|
+
` ${dim("SPARC workflow, security testing, deployment, git, publishing")}`,
|
|
621
|
+
].join("\n"),
|
|
576
622
|
value: "dev",
|
|
623
|
+
short: "Development",
|
|
577
624
|
},
|
|
625
|
+
new inquirer.Separator(""),
|
|
578
626
|
{
|
|
579
|
-
name:
|
|
627
|
+
name: [
|
|
628
|
+
` ${orange.bold("🚀 Full")} ${dim("38 skills")}`,
|
|
629
|
+
` ${dim("Everything — all packs combined")}`,
|
|
630
|
+
].join("\n"),
|
|
580
631
|
value: "full",
|
|
632
|
+
short: "Full",
|
|
581
633
|
},
|
|
634
|
+
new inquirer.Separator(dim(" ──────────────────────────────────────────────────────")),
|
|
582
635
|
],
|
|
583
636
|
},
|
|
584
637
|
]);
|
|
@@ -588,17 +641,24 @@ program
|
|
|
588
641
|
// Resolve skill list
|
|
589
642
|
let skillList;
|
|
590
643
|
let packLabel;
|
|
644
|
+
let packEmoji;
|
|
591
645
|
if (pack === "full") {
|
|
592
|
-
skillList = null;
|
|
593
|
-
packLabel = "Full
|
|
646
|
+
skillList = null;
|
|
647
|
+
packLabel = "Full";
|
|
648
|
+
packEmoji = "🚀";
|
|
594
649
|
} else {
|
|
595
650
|
const packDef = INSTALL_PACKS[pack];
|
|
596
651
|
skillList = packDef.skills;
|
|
597
|
-
packLabel =
|
|
652
|
+
packLabel = packDef.name;
|
|
653
|
+
packEmoji = pack === "content" ? "📝" : pack === "design" ? "🎨" : "⚡";
|
|
598
654
|
}
|
|
599
655
|
|
|
600
|
-
// Step 3: Install
|
|
601
|
-
|
|
656
|
+
// ── Step 3: Install ─────────────────────────────────────────────
|
|
657
|
+
console.log("");
|
|
658
|
+
const spinner = ora({
|
|
659
|
+
text: `Installing ${packEmoji} ${packLabel} pack for ${cliType}...`,
|
|
660
|
+
color: "cyan",
|
|
661
|
+
}).start();
|
|
602
662
|
|
|
603
663
|
if (cliType === "claude") {
|
|
604
664
|
await setupClaude(cwd, skillList);
|
|
@@ -608,68 +668,73 @@ program
|
|
|
608
668
|
await setupCodex(cwd, skillList);
|
|
609
669
|
}
|
|
610
670
|
|
|
671
|
+
const skillCount = skillList ? skillList.length : 38;
|
|
611
672
|
spinner.succeed(
|
|
612
|
-
chalk.green(
|
|
673
|
+
chalk.green(`${packEmoji} ${packLabel} pack installed — ${skillCount} skills ready!`),
|
|
613
674
|
);
|
|
614
675
|
|
|
615
|
-
//
|
|
616
|
-
console.log(
|
|
617
|
-
|
|
618
|
-
|
|
676
|
+
// ── Summary ─────────────────────────────────────────────────────
|
|
677
|
+
console.log(
|
|
678
|
+
chalk.white("\n ════════════════════════════════════════════════════════\n"),
|
|
679
|
+
);
|
|
680
|
+
console.log(chalk.bold.white(" Installed Skills:\n"));
|
|
619
681
|
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
if (pack === "content" || pack === "full") {
|
|
632
|
-
console.log(chalk.green(" Content: myai-content-writer, myai-content-production-coordinator, myai-content-ideation"));
|
|
633
|
-
console.log(chalk.green(" Visual: myai-visual-generator, myai-infographic"));
|
|
634
|
-
console.log(chalk.yellow(" Publishing: wordpress, payloadcms, docusaurus, mintlify, astro"));
|
|
635
|
-
}
|
|
636
|
-
if (pack === "design" || pack === "full") {
|
|
637
|
-
console.log(chalk.magenta(" Design: myaidev-figma, myaidev-figma-configure"));
|
|
638
|
-
console.log(chalk.magenta(" Visual: myai-visual-generator, myai-infographic"));
|
|
639
|
-
}
|
|
640
|
-
if (pack === "dev" || pack === "full") {
|
|
641
|
-
console.log(chalk.blue(" SPARC: myaidev-workflow, myaidev-architect, myaidev-coder, myaidev-tester"));
|
|
642
|
-
console.log(chalk.cyan(" Git: git-workflow (pr, release, sync, hotfix)"));
|
|
643
|
-
console.log(chalk.red(" Security: security-tester, security-auditor"));
|
|
644
|
-
console.log(chalk.blue(" Deploy: deployer, coolify-deployer, openstack-manager"));
|
|
645
|
-
console.log(chalk.blue(" Skills: myai-skill-builder, skill-contributor"));
|
|
682
|
+
if (pack === "content" || pack === "full") {
|
|
683
|
+
console.log(chalk.green(" 📝 Content ") + dim("myai-content-writer, myai-content-production-coordinator"));
|
|
684
|
+
console.log(chalk.green(" 🎯 SEO/Quality ") + dim("myai-content-verifier, myai-content-ideation"));
|
|
685
|
+
console.log(chalk.green(" 🖼 Visual ") + dim("myai-visual-generator, myai-infographic"));
|
|
686
|
+
console.log(chalk.yellow(" 📤 Publishing ") + dim("wordpress, payloadcms, docusaurus, mintlify, astro"));
|
|
687
|
+
}
|
|
688
|
+
if (pack === "design" || pack === "full") {
|
|
689
|
+
console.log(chalk.magenta(" 🎨 Design ") + dim("myaidev-figma, myaidev-figma-configure"));
|
|
690
|
+
if (pack === "design") {
|
|
691
|
+
console.log(chalk.magenta(" 🖼 Visual ") + dim("myai-visual-generator, myai-infographic"));
|
|
646
692
|
}
|
|
647
|
-
|
|
693
|
+
}
|
|
694
|
+
if (pack === "dev" || pack === "full") {
|
|
695
|
+
console.log(chalk.blue(" ⚡ SPARC ") + dim("myaidev-workflow, architect, coder, tester, reviewer, documenter"));
|
|
696
|
+
console.log(chalk.blue(" 🔧 Tools ") + dim("analyze, debug, refactor, performance, migrate"));
|
|
697
|
+
console.log(chalk.cyan(" 🔀 Git ") + dim("git-workflow (pr, release, sync, hotfix)"));
|
|
698
|
+
console.log(chalk.red(" 🛡 Security ") + dim("security-tester, security-auditor"));
|
|
699
|
+
console.log(chalk.blue(" 📦 Deploy ") + dim("deployer, coolify-deployer, openstack-manager"));
|
|
700
|
+
console.log(chalk.blue(" 🧰 Skill Dev ") + dim("myai-skill-builder, skill-contributor"));
|
|
701
|
+
}
|
|
702
|
+
console.log(dim(" ⚙️ Config configure, company-config, myai-configurator"));
|
|
648
703
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
)
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
console.log(
|
|
666
|
-
|
|
667
|
-
);
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
704
|
+
// ── Next steps ──────────────────────────────────────────────────
|
|
705
|
+
console.log(
|
|
706
|
+
chalk.white("\n ════════════════════════════════════════════════════════\n"),
|
|
707
|
+
);
|
|
708
|
+
console.log(chalk.bold.white(" Next Steps:\n"));
|
|
709
|
+
console.log(
|
|
710
|
+
chalk.white(" 1. ") + chalk.cyan("Restart your AI CLI") + dim(" to load the new skills"),
|
|
711
|
+
);
|
|
712
|
+
console.log(
|
|
713
|
+
chalk.white(" 2. ") + chalk.cyan("npx myaidev-method login") + dim(" — connect to the marketplace"),
|
|
714
|
+
);
|
|
715
|
+
console.log(
|
|
716
|
+
chalk.white(" 3. ") + dim("Start using skills naturally in conversation, e.g.:"),
|
|
717
|
+
);
|
|
718
|
+
|
|
719
|
+
if (pack === "content") {
|
|
720
|
+
console.log(dim(' "Write a blog post about AI in healthcare"'));
|
|
721
|
+
} else if (pack === "design") {
|
|
722
|
+
console.log(dim(' "Capture the homepage of stripe.com into Figma"'));
|
|
723
|
+
} else if (pack === "dev") {
|
|
724
|
+
console.log(dim(' "Build a REST API for user management"'));
|
|
725
|
+
} else {
|
|
726
|
+
console.log(dim(' "Build a REST API" or "Write a blog post about AI"'));
|
|
671
727
|
}
|
|
672
|
-
|
|
728
|
+
|
|
729
|
+
console.log(
|
|
730
|
+
dim("\n • Add more packs: ") + chalk.white("npx myaidev-method init --pack <name>"),
|
|
731
|
+
);
|
|
732
|
+
console.log(
|
|
733
|
+
dim(" • Browse skills: ") + chalk.white("npx myaidev-method addon list"),
|
|
734
|
+
);
|
|
735
|
+
console.log(
|
|
736
|
+
dim(" • Documentation: ") + chalk.white("https://github.com/myaione/myaidev-method\n"),
|
|
737
|
+
);
|
|
673
738
|
} catch (error) {
|
|
674
739
|
if (error.name === 'ExitPromptError') {
|
|
675
740
|
console.log(chalk.gray("\nCancelled.\n"));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "myaidev-method",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.6",
|
|
4
4
|
"description": "Comprehensive development framework with SPARC methodology for AI-assisted software development, security testing (PTES, OWASP, penetration testing, compliance auditing), AI visual content generation (Gemini, OpenAI GPT Image 1.5, Imagen, FLUX 2, Veo 3), OpenStack VM management, multi-platform publishing (WordPress, PayloadCMS, Astro, Docusaurus, Mintlify), and Coolify deployment",
|
|
5
5
|
"mcpName": "io.github.myaione/myaidev-method",
|
|
6
6
|
"main": "src/index.js",
|