myaidev-method 0.3.5 → 0.3.7
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 +134 -87
- 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.7")
|
|
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,52 @@ 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
|
-
|
|
580
|
+
// Print the full menu so all options are always visible
|
|
581
|
+
const contentPack = INSTALL_PACKS.content;
|
|
582
|
+
const designPack = INSTALL_PACKS.design;
|
|
583
|
+
const devPack = INSTALL_PACKS.dev;
|
|
584
|
+
|
|
585
|
+
console.log(chalk.bold.white(" Available Skill Packs:\n"));
|
|
586
|
+
console.log(dim(" ──────────────────────────────────────────────────────────\n"));
|
|
587
|
+
|
|
588
|
+
console.log(` ${chalk.green.bold(" [1] 📝 Content Creation")} ${dim(`${contentPack.skills.length} skills`)}`);
|
|
589
|
+
console.log(dim(" For marketers & content teams"));
|
|
590
|
+
console.log(dim(" Writing, SEO, visuals, infographics, publishing\n"));
|
|
591
|
+
|
|
592
|
+
console.log(` ${chalk.magenta.bold(" [2] 🎨 Design")} ${dim(`${designPack.skills.length} skills`)}`);
|
|
593
|
+
console.log(dim(" For designers & creative teams"));
|
|
594
|
+
console.log(dim(" Figma capture, visual generation, infographics\n"));
|
|
595
|
+
|
|
596
|
+
console.log(` ${chalk.blue.bold(" [3] ⚡ Development")} ${dim(`${devPack.skills.length} skills`)}`);
|
|
597
|
+
console.log(dim(" For software engineers"));
|
|
598
|
+
console.log(dim(" SPARC workflow, security, deployment, git, publishing\n"));
|
|
599
|
+
|
|
600
|
+
console.log(` ${orange.bold(" [4] 🚀 Full")} ${dim("all skills")}`);
|
|
601
|
+
console.log(dim(" Everything — all packs combined\n"));
|
|
602
|
+
|
|
603
|
+
console.log(dim(" ──────────────────────────────────────────────────────────"));
|
|
604
|
+
console.log(dim(" You can add more packs later with: npx myaidev-method init --pack <name>\n"));
|
|
605
|
+
|
|
606
|
+
const packMap = { "1": "content", "2": "design", "3": "dev", "4": "full" };
|
|
560
607
|
const answer = await inquirer.prompt([
|
|
561
608
|
{
|
|
562
609
|
type: "list",
|
|
563
610
|
name: "pack",
|
|
564
|
-
message: "
|
|
611
|
+
message: "Select a pack to install:",
|
|
565
612
|
choices: [
|
|
566
|
-
{
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
},
|
|
570
|
-
{
|
|
571
|
-
name: `${chalk.magenta("Design")} ${chalk.gray("— For designers: Figma capture, visual generation")}`,
|
|
572
|
-
value: "design",
|
|
573
|
-
},
|
|
574
|
-
{
|
|
575
|
-
name: `${chalk.blue("Development")} ${chalk.gray("— For engineers: SPARC, security, deploy, git")}`,
|
|
576
|
-
value: "dev",
|
|
577
|
-
},
|
|
578
|
-
{
|
|
579
|
-
name: `${chalk.yellow("Full")} ${chalk.gray("— Everything (all skills)")}`,
|
|
580
|
-
value: "full",
|
|
581
|
-
},
|
|
613
|
+
{ name: `${chalk.green("1")} 📝 Content Creation`, value: "content" },
|
|
614
|
+
{ name: `${chalk.magenta("2")} 🎨 Design`, value: "design" },
|
|
615
|
+
{ name: `${chalk.blue("3")} ⚡ Development`, value: "dev" },
|
|
616
|
+
{ name: `${orange("4")} 🚀 Full (all skills)`, value: "full" },
|
|
582
617
|
],
|
|
583
618
|
},
|
|
584
619
|
]);
|
|
@@ -588,17 +623,24 @@ program
|
|
|
588
623
|
// Resolve skill list
|
|
589
624
|
let skillList;
|
|
590
625
|
let packLabel;
|
|
626
|
+
let packEmoji;
|
|
591
627
|
if (pack === "full") {
|
|
592
|
-
skillList = null;
|
|
593
|
-
packLabel = "Full
|
|
628
|
+
skillList = null;
|
|
629
|
+
packLabel = "Full";
|
|
630
|
+
packEmoji = "🚀";
|
|
594
631
|
} else {
|
|
595
632
|
const packDef = INSTALL_PACKS[pack];
|
|
596
633
|
skillList = packDef.skills;
|
|
597
|
-
packLabel =
|
|
634
|
+
packLabel = packDef.name;
|
|
635
|
+
packEmoji = pack === "content" ? "📝" : pack === "design" ? "🎨" : "⚡";
|
|
598
636
|
}
|
|
599
637
|
|
|
600
|
-
// Step 3: Install
|
|
601
|
-
|
|
638
|
+
// ── Step 3: Install ─────────────────────────────────────────────
|
|
639
|
+
console.log("");
|
|
640
|
+
const spinner = ora({
|
|
641
|
+
text: `Installing ${packEmoji} ${packLabel} pack for ${cliType}...`,
|
|
642
|
+
color: "cyan",
|
|
643
|
+
}).start();
|
|
602
644
|
|
|
603
645
|
if (cliType === "claude") {
|
|
604
646
|
await setupClaude(cwd, skillList);
|
|
@@ -608,68 +650,73 @@ program
|
|
|
608
650
|
await setupCodex(cwd, skillList);
|
|
609
651
|
}
|
|
610
652
|
|
|
653
|
+
const skillCount = skillList ? skillList.length : 38;
|
|
611
654
|
spinner.succeed(
|
|
612
|
-
chalk.green(
|
|
655
|
+
chalk.green(`${packEmoji} ${packLabel} pack installed — ${skillCount} skills ready!`),
|
|
613
656
|
);
|
|
614
657
|
|
|
615
|
-
//
|
|
616
|
-
console.log(
|
|
617
|
-
|
|
618
|
-
|
|
658
|
+
// ── Summary ─────────────────────────────────────────────────────
|
|
659
|
+
console.log(
|
|
660
|
+
chalk.white("\n ════════════════════════════════════════════════════════\n"),
|
|
661
|
+
);
|
|
662
|
+
console.log(chalk.bold.white(" Installed Skills:\n"));
|
|
619
663
|
|
|
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"));
|
|
664
|
+
if (pack === "content" || pack === "full") {
|
|
665
|
+
console.log(chalk.green(" 📝 Content ") + dim("myai-content-writer, myai-content-production-coordinator"));
|
|
666
|
+
console.log(chalk.green(" 🎯 SEO/Quality ") + dim("myai-content-verifier, myai-content-ideation"));
|
|
667
|
+
console.log(chalk.green(" 🖼 Visual ") + dim("myai-visual-generator, myai-infographic"));
|
|
668
|
+
console.log(chalk.yellow(" 📤 Publishing ") + dim("wordpress, payloadcms, docusaurus, mintlify, astro"));
|
|
669
|
+
}
|
|
670
|
+
if (pack === "design" || pack === "full") {
|
|
671
|
+
console.log(chalk.magenta(" 🎨 Design ") + dim("myaidev-figma, myaidev-figma-configure"));
|
|
672
|
+
if (pack === "design") {
|
|
673
|
+
console.log(chalk.magenta(" 🖼 Visual ") + dim("myai-visual-generator, myai-infographic"));
|
|
646
674
|
}
|
|
647
|
-
|
|
675
|
+
}
|
|
676
|
+
if (pack === "dev" || pack === "full") {
|
|
677
|
+
console.log(chalk.blue(" ⚡ SPARC ") + dim("myaidev-workflow, architect, coder, tester, reviewer, documenter"));
|
|
678
|
+
console.log(chalk.blue(" 🔧 Tools ") + dim("analyze, debug, refactor, performance, migrate"));
|
|
679
|
+
console.log(chalk.cyan(" 🔀 Git ") + dim("git-workflow (pr, release, sync, hotfix)"));
|
|
680
|
+
console.log(chalk.red(" 🛡 Security ") + dim("security-tester, security-auditor"));
|
|
681
|
+
console.log(chalk.blue(" 📦 Deploy ") + dim("deployer, coolify-deployer, openstack-manager"));
|
|
682
|
+
console.log(chalk.blue(" 🧰 Skill Dev ") + dim("myai-skill-builder, skill-contributor"));
|
|
683
|
+
}
|
|
684
|
+
console.log(dim(" ⚙️ Config configure, company-config, myai-configurator"));
|
|
648
685
|
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
)
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
console.log(
|
|
666
|
-
|
|
667
|
-
);
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
686
|
+
// ── Next steps ──────────────────────────────────────────────────
|
|
687
|
+
console.log(
|
|
688
|
+
chalk.white("\n ════════════════════════════════════════════════════════\n"),
|
|
689
|
+
);
|
|
690
|
+
console.log(chalk.bold.white(" Next Steps:\n"));
|
|
691
|
+
console.log(
|
|
692
|
+
chalk.white(" 1. ") + chalk.cyan("Restart your AI CLI") + dim(" to load the new skills"),
|
|
693
|
+
);
|
|
694
|
+
console.log(
|
|
695
|
+
chalk.white(" 2. ") + chalk.cyan("npx myaidev-method login") + dim(" — connect to the marketplace"),
|
|
696
|
+
);
|
|
697
|
+
console.log(
|
|
698
|
+
chalk.white(" 3. ") + dim("Start using skills naturally in conversation, e.g.:"),
|
|
699
|
+
);
|
|
700
|
+
|
|
701
|
+
if (pack === "content") {
|
|
702
|
+
console.log(dim(' "Write a blog post about AI in healthcare"'));
|
|
703
|
+
} else if (pack === "design") {
|
|
704
|
+
console.log(dim(' "Capture the homepage of stripe.com into Figma"'));
|
|
705
|
+
} else if (pack === "dev") {
|
|
706
|
+
console.log(dim(' "Build a REST API for user management"'));
|
|
707
|
+
} else {
|
|
708
|
+
console.log(dim(' "Build a REST API" or "Write a blog post about AI"'));
|
|
671
709
|
}
|
|
672
|
-
|
|
710
|
+
|
|
711
|
+
console.log(
|
|
712
|
+
dim("\n • Add more packs: ") + chalk.white("npx myaidev-method init --pack <name>"),
|
|
713
|
+
);
|
|
714
|
+
console.log(
|
|
715
|
+
dim(" • Browse skills: ") + chalk.white("npx myaidev-method addon list"),
|
|
716
|
+
);
|
|
717
|
+
console.log(
|
|
718
|
+
dim(" • Documentation: ") + chalk.white("https://github.com/myaione/myaidev-method\n"),
|
|
719
|
+
);
|
|
673
720
|
} catch (error) {
|
|
674
721
|
if (error.name === 'ExitPromptError') {
|
|
675
722
|
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.7",
|
|
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",
|