myaidev-method 0.3.4 → 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/.claude-plugin/plugin.json +0 -1
- package/.env.example +5 -4
- package/CHANGELOG.md +2 -2
- package/CONTENT_CREATION_GUIDE.md +489 -3211
- package/DEVELOPER_USE_CASES.md +1 -1
- package/MODULAR_INSTALLATION.md +2 -2
- package/README.md +39 -33
- package/TECHNICAL_ARCHITECTURE.md +1 -1
- package/USER_GUIDE.md +242 -190
- package/agents/content-editor-agent.md +90 -0
- package/agents/content-planner-agent.md +97 -0
- package/agents/content-research-agent.md +62 -0
- package/agents/content-seo-agent.md +101 -0
- package/agents/content-writer-agent.md +69 -0
- package/agents/infographic-analyzer-agent.md +63 -0
- package/agents/infographic-designer-agent.md +72 -0
- package/bin/cli.js +846 -427
- package/{content-rules.example.md → content-rules-example.md} +2 -2
- package/dist/mcp/health-check.js +82 -68
- package/dist/mcp/mcp-config.json +8 -0
- package/dist/mcp/openstack-server.js +1746 -1262
- package/dist/server/.tsbuildinfo +1 -1
- package/extension.json +21 -4
- package/package.json +181 -184
- package/skills/company-config/SKILL.md +133 -0
- package/skills/configure/SKILL.md +1 -1
- package/skills/myai-configurator/SKILL.md +77 -0
- package/skills/myai-configurator/content-creation-configurator/SKILL.md +516 -0
- package/skills/myai-configurator/content-maintenance-configurator/SKILL.md +397 -0
- package/skills/myai-content-enrichment/SKILL.md +114 -0
- package/skills/myai-content-ideation/SKILL.md +288 -0
- package/skills/myai-content-ideation/evals/evals.json +182 -0
- package/skills/myai-content-production-coordinator/SKILL.md +946 -0
- package/skills/{content-rules-setup → myai-content-rules-setup}/SKILL.md +1 -1
- package/skills/{content-verifier → myai-content-verifier}/SKILL.md +1 -1
- package/skills/myai-content-writer/SKILL.md +333 -0
- package/skills/{infographic → myai-infographic}/SKILL.md +1 -1
- package/skills/myai-proprietary-content-verifier/SKILL.md +175 -0
- package/skills/myai-proprietary-content-verifier/evals/evals.json +36 -0
- package/skills/myai-skill-builder/SKILL.md +699 -0
- package/skills/myai-skill-builder/agents/analyzer-agent.md +137 -0
- package/skills/myai-skill-builder/agents/comparator-agent.md +77 -0
- package/skills/myai-skill-builder/agents/grader-agent.md +103 -0
- package/skills/myai-skill-builder/assets/eval_review.html +131 -0
- package/skills/myai-skill-builder/references/schemas.md +211 -0
- package/skills/myai-skill-builder/scripts/aggregate_benchmark.py +190 -0
- package/skills/myai-skill-builder/scripts/generate_review.py +381 -0
- package/skills/myai-skill-builder/scripts/package_skill.py +91 -0
- package/skills/myai-skill-builder/scripts/run_eval.py +105 -0
- package/skills/myai-skill-builder/scripts/run_loop.py +211 -0
- package/skills/myai-skill-builder/scripts/utils.py +123 -0
- package/skills/myai-visual-generator/SKILL.md +125 -0
- package/skills/myai-visual-generator/evals/evals.json +155 -0
- package/skills/myai-visual-generator/references/infographic-pipeline.md +73 -0
- package/skills/myai-visual-generator/references/research-visuals.md +57 -0
- package/skills/myai-visual-generator/references/services.md +89 -0
- package/skills/myai-visual-generator/scripts/visual-generation-utils.js +1272 -0
- package/skills/myaidev-figma/SKILL.md +212 -0
- package/skills/myaidev-figma/capture.js +133 -0
- package/skills/myaidev-figma/crawl.js +130 -0
- package/skills/myaidev-figma-configure/SKILL.md +130 -0
- package/skills/openstack-manager/SKILL.md +1 -1
- package/skills/payloadcms-publisher/SKILL.md +141 -77
- package/skills/payloadcms-publisher/references/field-mapping.md +142 -0
- package/skills/payloadcms-publisher/references/lexical-format.md +97 -0
- package/skills/security-auditor/SKILL.md +1 -1
- package/src/cli/commands/addon.js +105 -7
- package/src/config/workflows.js +172 -228
- package/src/lib/ascii-banner.js +197 -182
- package/src/lib/{content-coordinator.js → content-production-coordinator.js} +649 -459
- package/src/lib/installation-detector.js +93 -59
- package/src/lib/payloadcms-utils.js +285 -510
- package/src/lib/workflow-installer.js +55 -0
- package/src/mcp/health-check.js +82 -68
- package/src/mcp/openstack-server.js +1746 -1262
- package/src/scripts/configure-visual-apis.js +224 -173
- package/src/scripts/configure-wordpress-mcp.js +96 -66
- package/src/scripts/init/install.js +109 -85
- package/src/scripts/init-project.js +138 -67
- package/src/scripts/utils/write-content.js +67 -52
- package/src/scripts/wordpress/publish-to-wordpress.js +128 -128
- package/src/templates/claude/CLAUDE.md +19 -12
- package/hooks/hooks.json +0 -26
- package/skills/content-coordinator/SKILL.md +0 -130
- package/skills/content-enrichment/SKILL.md +0 -80
- package/skills/content-writer/SKILL.md +0 -285
- package/skills/skill-builder/SKILL.md +0 -417
- package/skills/visual-generator/SKILL.md +0 -140
- /package/skills/{content-writer → myai-content-writer}/agents/editor-agent.md +0 -0
- /package/skills/{content-writer → myai-content-writer}/agents/planner-agent.md +0 -0
- /package/skills/{content-writer → myai-content-writer}/agents/research-agent.md +0 -0
- /package/skills/{content-writer → myai-content-writer}/agents/seo-agent.md +0 -0
- /package/skills/{content-writer → myai-content-writer}/agents/visual-planner-agent.md +0 -0
- /package/skills/{content-writer → myai-content-writer}/agents/writer-agent.md +0 -0
package/src/lib/ascii-banner.js
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import chalk from
|
|
1
|
+
import chalk from "chalk";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* ASCII Banner for MyAIDev Method with orange to grey gradient
|
|
5
5
|
*/
|
|
6
6
|
export function getASCIIBanner() {
|
|
7
7
|
// Orange to grey gradient colors
|
|
8
|
-
const orange = chalk.hex(
|
|
9
|
-
const orangeLight = chalk.hex(
|
|
10
|
-
const greyOrange = chalk.hex(
|
|
11
|
-
const greyLight = chalk.hex(
|
|
12
|
-
const grey = chalk.hex(
|
|
13
|
-
const greyDark = chalk.hex(
|
|
8
|
+
const orange = chalk.hex("#FFA500");
|
|
9
|
+
const orangeLight = chalk.hex("#FFB84D");
|
|
10
|
+
const greyOrange = chalk.hex("#CC9966");
|
|
11
|
+
const greyLight = chalk.hex("#999999");
|
|
12
|
+
const grey = chalk.hex("#808080");
|
|
13
|
+
const greyDark = chalk.hex("#666666");
|
|
14
14
|
|
|
15
15
|
const banner = `
|
|
16
|
-
${orange(
|
|
17
|
-
${orange(
|
|
18
|
-
${orange(
|
|
19
|
-
${orange(
|
|
20
|
-
${orange(
|
|
21
|
-
${orange(
|
|
22
|
-
|
|
23
|
-
${orange(
|
|
24
|
-
${orange(
|
|
25
|
-
${orange(
|
|
26
|
-
${orange(
|
|
27
|
-
${orange(
|
|
28
|
-
${orange(
|
|
16
|
+
${orange("███╗ ███╗")}${orangeLight("██╗ ██╗")}${greyOrange(" █████╗ ")}${greyLight("██╗")}${grey("██████╗ ")}${greyDark("███████╗")}${grey("██╗ ██╗")}
|
|
17
|
+
${orange("████╗ ████║")}${orangeLight("╚██╗ ██╔╝")}${greyOrange("██╔══██╗")}${greyLight("██║")}${grey("██╔══██╗")}${greyDark("██╔════╝")}${grey("██║ ██║")}
|
|
18
|
+
${orange("██╔████╔██║")}${orangeLight(" ╚████╔╝ ")}${greyOrange("███████║")}${greyLight("██║")}${grey("██║ ██║")}${greyDark("█████╗ ")}${grey("██║ ██║")}
|
|
19
|
+
${orange("██║╚██╔╝██║")}${orangeLight(" ╚██╔╝ ")}${greyOrange("██╔══██║")}${greyLight("██║")}${grey("██║ ██║")}${greyDark("██╔══╝ ")}${grey("╚██╗ ██╔╝")}
|
|
20
|
+
${orange("██║ ╚═╝ ██║")}${orangeLight(" ██║ ")}${greyOrange("██║ ██║")}${greyLight("██║")}${grey("██████╔╝")}${greyDark("███████╗")}${grey(" ╚████╔╝ ")}
|
|
21
|
+
${orange("╚═╝ ╚═╝")}${orangeLight(" ╚═╝ ")}${greyOrange("╚═╝ ╚═╝")}${greyLight("╚═╝")}${grey("╚═════╝ ")}${greyDark("╚══════╝")}${grey(" ╚═══╝ ")}
|
|
22
|
+
|
|
23
|
+
${orange(" ███╗ ███╗")}${orangeLight("███████╗")}${greyOrange("████████╗")}${greyLight("██╗ ██╗")}${grey("ย╗ ██████╗")} ${greyDark("██████╗ ")}
|
|
24
|
+
${orange(" ████╗ ████║")}${orangeLight("██╔════╝")}${greyOrange("╚══██╔══╝")}${greyLight("██║ ██║")}${grey("╠╝ ██╔══██╗")}${greyDark("██╔══██╗")}
|
|
25
|
+
${orange(" ██╔████╔██║")}${orangeLight("█████╗ ")}${greyOrange(" ██║ ")}${greyLight("███████║")}${grey(" ██║ ██║")}${greyDark("██║ ██║")}
|
|
26
|
+
${orange(" ██║╚██╔╝██║")}${orangeLight("██╔══╝ ")}${greyOrange(" ██║ ")}${greyLight("██╔══██║")}${grey(" ██║ ██║")}${greyDark("██║ ██║")}
|
|
27
|
+
${orange(" ██║ ╚═╝ ██║")}${orangeLight("███████╗")}${greyOrange(" ██║ ")}${greyLight("██║ ██║")}${grey("╗ ██████╔╝")}${greyDark("██████╔╝")}
|
|
28
|
+
${orange(" ╚═╝ ╚═╝")}${orangeLight("╚══════╝")}${greyOrange(" ╚═╝ ")}${greyLight("╚═╝ ╚═╝")}${grey("╩ ╚═════╝ ")}${greyDark("╚═════╝ ")}
|
|
29
29
|
`;
|
|
30
30
|
|
|
31
31
|
return banner;
|
|
@@ -35,40 +35,40 @@ ${orange(' ╚═╝ ╚═╝')}${orangeLight('╚═════
|
|
|
35
35
|
* Get SPARC methodology breakdown with emoji and colors
|
|
36
36
|
*/
|
|
37
37
|
export function getSPARCBreakdown() {
|
|
38
|
-
const orange = chalk.hex(
|
|
39
|
-
const blue = chalk.hex(
|
|
40
|
-
const green = chalk.hex(
|
|
41
|
-
const purple = chalk.hex(
|
|
42
|
-
const red = chalk.hex(
|
|
38
|
+
const orange = chalk.hex("#FFA500");
|
|
39
|
+
const blue = chalk.hex("#4A90E2");
|
|
40
|
+
const green = chalk.hex("#50C878");
|
|
41
|
+
const purple = chalk.hex("#9B59B6");
|
|
42
|
+
const red = chalk.hex("#E74C3C");
|
|
43
43
|
|
|
44
44
|
return `
|
|
45
|
-
${chalk.bold.hex(
|
|
46
|
-
${chalk.bold.hex(
|
|
47
|
-
${chalk.bold.hex(
|
|
45
|
+
${chalk.bold.hex("#FFA500")("╔══════════════════════════════════════════════════════════════════════════╗")}
|
|
46
|
+
${chalk.bold.hex("#FFA500")("║")} ${chalk.bold.white("SPARC Methodology - Systematic Software Development Framework")} ${chalk.bold.hex("#FFA500")("║")}
|
|
47
|
+
${chalk.bold.hex("#FFA500")("╚══════════════════════════════════════════════════════════════════════════╝")}
|
|
48
48
|
|
|
49
|
-
${orange.bold(
|
|
50
|
-
${chalk.dim(
|
|
51
|
-
${chalk.dim(
|
|
49
|
+
${orange.bold("S")} ${chalk.white("│")} ${blue("📋 Specification")}
|
|
50
|
+
${chalk.dim("Define requirements and system boundaries")}
|
|
51
|
+
${chalk.dim("→ Clear goals, constraints, and success criteria")}
|
|
52
52
|
|
|
53
|
-
${orange.bold(
|
|
54
|
-
${chalk.dim(
|
|
55
|
-
${chalk.dim(
|
|
53
|
+
${orange.bold("P")} ${chalk.white("│")} ${green("🔄 Pseudocode")}
|
|
54
|
+
${chalk.dim("Plan implementation approach")}
|
|
55
|
+
${chalk.dim("→ Algorithm design and logic flow")}
|
|
56
56
|
|
|
57
|
-
${orange.bold(
|
|
58
|
-
${chalk.dim(
|
|
59
|
-
${chalk.dim(
|
|
57
|
+
${orange.bold("A")} ${chalk.white("│")} ${purple("🏗️ Architecture")}
|
|
58
|
+
${chalk.dim("Design system structure, APIs, and data models")}
|
|
59
|
+
${chalk.dim("→ Technical decisions and infrastructure planning")}
|
|
60
60
|
|
|
61
|
-
${orange.bold(
|
|
62
|
-
${chalk.dim(
|
|
63
|
-
${chalk.dim(
|
|
61
|
+
${orange.bold("R")} ${chalk.white("│")} ${red("⚙️ Refinement")}
|
|
62
|
+
${chalk.dim("Implement, test, and review code quality")}
|
|
63
|
+
${chalk.dim("→ SOLID principles, Clean Code, comprehensive testing")}
|
|
64
64
|
|
|
65
|
-
${orange.bold(
|
|
66
|
-
${chalk.dim(
|
|
67
|
-
${chalk.dim(
|
|
65
|
+
${orange.bold("C")} ${chalk.white("│")} ${chalk.cyan("✅ Completion")}
|
|
66
|
+
${chalk.dim("Document and deliver production-ready software")}
|
|
67
|
+
${chalk.dim("→ API docs, user guides, deployment automation")}
|
|
68
68
|
|
|
69
|
-
${chalk.bold.hex(
|
|
70
|
-
${chalk.dim(
|
|
71
|
-
${chalk.bold.hex(
|
|
69
|
+
${chalk.bold.hex("#808080")("───────────────────────────────────────────────────────────────────────────")}
|
|
70
|
+
${chalk.dim("Quality Standards")}: ${chalk.green("SOLID")} • ${chalk.blue("DRY")} • ${chalk.yellow("KISS")} • ${chalk.magenta("YAGNI")} • ${chalk.red("OWASP Top 10")} • ${chalk.cyan("80%+ Coverage")}
|
|
71
|
+
${chalk.bold.hex("#808080")("───────────────────────────────────────────────────────────────────────────")}
|
|
72
72
|
`;
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -76,26 +76,27 @@ ${chalk.bold.hex('#808080')('─────────────────
|
|
|
76
76
|
* Get initialization success message with instructions
|
|
77
77
|
*/
|
|
78
78
|
export function getInitSuccessMessage(cliType) {
|
|
79
|
-
const commands =
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
const commands =
|
|
80
|
+
cliType === "claude"
|
|
81
|
+
? ' • View README: Press Ctrl+Shift+P → "Toggle Documentation"\n • Run workflow: /myaidev-workflow "Build your feature"'
|
|
82
|
+
: cliType === "gemini"
|
|
83
|
+
? ' • View commands: ls .gemini/commands/\n • Run workflow: /myaidev-workflow "Build your feature"'
|
|
84
|
+
: ' • View commands: ls .opencode/commands/\n • Run workflow: /myaidev-workflow "Build your feature"';
|
|
84
85
|
|
|
85
86
|
return `
|
|
86
|
-
${chalk.green.bold(
|
|
87
|
+
${chalk.green.bold("✨ Installation Complete!")}
|
|
87
88
|
|
|
88
|
-
${chalk.cyan.bold(
|
|
89
|
-
${cliType ===
|
|
90
|
-
├─ commands/ ${chalk.dim(
|
|
91
|
-
${cliType ===
|
|
89
|
+
${chalk.cyan.bold("📁 Project Structure:")}
|
|
90
|
+
${cliType === "claude" ? ".claude/" : cliType === "gemini" ? ".gemini/" : ".opencode/"}
|
|
91
|
+
├─ commands/ ${chalk.dim("# All slash commands")}
|
|
92
|
+
${cliType === "claude" ? "├─ agents/ # Agent definitions\n ├─ mcp/ # MCP server configs\n " : ""}└─ README.md ${chalk.dim("# Configuration guide")}
|
|
92
93
|
|
|
93
|
-
${chalk.cyan.bold(
|
|
94
|
+
${chalk.cyan.bold("🚀 Next Steps:")}
|
|
94
95
|
${commands}
|
|
95
96
|
• Configure platforms: /myai-configure
|
|
96
97
|
• Read full guide: cat USER_GUIDE.md
|
|
97
98
|
|
|
98
|
-
${chalk.hex(
|
|
99
|
+
${chalk.hex("#FFA500").bold("🎯 Ready to build with the SPARC methodology!")}
|
|
99
100
|
`;
|
|
100
101
|
}
|
|
101
102
|
|
|
@@ -103,35 +104,35 @@ ${chalk.hex('#FFA500').bold('🎯 Ready to build with the SPARC methodology!')}
|
|
|
103
104
|
* Get workflow-specific mini banner
|
|
104
105
|
*/
|
|
105
106
|
export function getWorkflowBanner(workflowName) {
|
|
106
|
-
const orange = chalk.hex(
|
|
107
|
-
const grey = chalk.hex(
|
|
107
|
+
const orange = chalk.hex("#FFA500");
|
|
108
|
+
const grey = chalk.hex("#808080");
|
|
108
109
|
|
|
109
110
|
const banners = {
|
|
110
111
|
content: `
|
|
111
|
-
${orange(
|
|
112
|
-
${orange(
|
|
113
|
-
${orange(
|
|
114
|
-
${orange(
|
|
112
|
+
${orange("╔═══════════════════════════════════════════════════════════╗")}
|
|
113
|
+
${orange("║")} ${chalk.bold.white("✍️ CONTENT CREATION WORKFLOW")} ${orange("║")}
|
|
114
|
+
${orange("║")} ${grey("Professional SEO-optimized content with WordPress publishing")} ${orange("║")}
|
|
115
|
+
${orange("╚═══════════════════════════════════════════════════════════╝")}`,
|
|
115
116
|
visual: `
|
|
116
|
-
${orange(
|
|
117
|
-
${orange(
|
|
118
|
-
${orange(
|
|
119
|
-
${orange(
|
|
117
|
+
${orange("╔═══════════════════════════════════════════════════════════╗")}
|
|
118
|
+
${orange("║")} ${chalk.bold.white("🎨 VISUAL CONTENT GENERATION WORKFLOW")} ${orange("║")}
|
|
119
|
+
${orange("║")} ${grey("AI-powered images & videos with Gemini, Imagen, FLUX, Veo")} ${orange("║")}
|
|
120
|
+
${orange("╚═══════════════════════════════════════════════════════════╝")}`,
|
|
120
121
|
development: `
|
|
121
|
-
${orange(
|
|
122
|
-
${orange(
|
|
123
|
-
${orange(
|
|
124
|
-
${orange(
|
|
122
|
+
${orange("╔═══════════════════════════════════════════════════════════╗")}
|
|
123
|
+
${orange("║")} ${chalk.bold.white("🏗️ SPARC DEVELOPMENT WORKFLOW")} ${orange("║")}
|
|
124
|
+
${orange("║")} ${grey("Systematic software development with quality standards")} ${orange("║")}
|
|
125
|
+
${orange("╚═══════════════════════════════════════════════════════════╝")}`,
|
|
125
126
|
publish: `
|
|
126
|
-
${orange(
|
|
127
|
-
${orange(
|
|
128
|
-
${orange(
|
|
129
|
-
${orange(
|
|
127
|
+
${orange("╔═══════════════════════════════════════════════════════════╗")}
|
|
128
|
+
${orange("║")} ${chalk.bold.white("📤 PUBLISHING WORKFLOW")} ${orange("║")}
|
|
129
|
+
${orange("║")} ${grey("Multi-platform content publishing and distribution")} ${orange("║")}
|
|
130
|
+
${orange("╚═══════════════════════════════════════════════════════════╝")}`,
|
|
130
131
|
deploy: `
|
|
131
|
-
${orange(
|
|
132
|
-
${orange(
|
|
133
|
-
${orange(
|
|
134
|
-
${orange(
|
|
132
|
+
${orange("╔═══════════════════════════════════════════════════════════╗")}
|
|
133
|
+
${orange("║")} ${chalk.bold.white("🚀 DEPLOYMENT WORKFLOW")} ${orange("║")}
|
|
134
|
+
${orange("║")} ${grey("Application deployment and infrastructure management")} ${orange("║")}
|
|
135
|
+
${orange("╚═══════════════════════════════════════════════════════════╝")}`,
|
|
135
136
|
};
|
|
136
137
|
|
|
137
138
|
return banners[workflowName] || banners.content;
|
|
@@ -140,175 +141,189 @@ ${orange('╚══════════════════════
|
|
|
140
141
|
/**
|
|
141
142
|
* Get content workflow success message
|
|
142
143
|
*/
|
|
143
|
-
export function getContentWorkflowSuccess(results, cliType =
|
|
144
|
+
export function getContentWorkflowSuccess(results, cliType = "claude") {
|
|
144
145
|
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
145
146
|
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
146
147
|
|
|
147
148
|
return `
|
|
148
|
-
${chalk.green.bold(
|
|
149
|
+
${chalk.green.bold("✨ Content Workflow Installed Successfully!")}
|
|
149
150
|
|
|
150
|
-
${chalk.cyan.bold(
|
|
151
|
-
${chalk.green(
|
|
152
|
-
${chalk.green(
|
|
151
|
+
${chalk.cyan.bold("📊 Installation Summary:")}
|
|
152
|
+
${chalk.green("✓")} ${totalAgents} agents installed
|
|
153
|
+
${chalk.green("✓")} ${totalCommands} commands installed
|
|
153
154
|
|
|
154
|
-
${chalk.cyan.bold(
|
|
155
|
-
${cliType ===
|
|
155
|
+
${chalk.cyan.bold("📁 Files Installed:")}
|
|
156
|
+
${cliType === "claude" ? ".claude/" : ".gemini/"}
|
|
156
157
|
├─ agents/
|
|
157
|
-
│ ├─ content-writer.md ${chalk.dim(
|
|
158
|
-
│ ├─ wordpress-admin.md ${chalk.dim(
|
|
159
|
-
│ └─ proprietary-content-verifier.md ${chalk.dim(
|
|
158
|
+
│ ├─ content-writer.md ${chalk.dim("# SEO content creation")}
|
|
159
|
+
│ ├─ wordpress-admin.md ${chalk.dim("# WordPress publishing")}
|
|
160
|
+
│ └─ proprietary-content-verifier.md ${chalk.dim("# Content validation")}
|
|
160
161
|
└─ commands/
|
|
161
|
-
├─
|
|
162
|
-
├─
|
|
163
|
-
└─ myai-
|
|
164
|
-
|
|
165
|
-
${chalk.yellow.bold(
|
|
166
|
-
Run ${chalk.cyan(
|
|
167
|
-
${chalk.gray(
|
|
168
|
-
${chalk.gray(
|
|
169
|
-
${chalk.gray(
|
|
170
|
-
|
|
171
|
-
${chalk.green.bold(
|
|
172
|
-
${chalk.gray(
|
|
173
|
-
${chalk.gray(
|
|
174
|
-
${chalk.gray(
|
|
175
|
-
|
|
176
|
-
${chalk.hex(
|
|
162
|
+
├─ content-writer.md ${chalk.dim("# /content-writer")}
|
|
163
|
+
├─ wordpress-publish.md ${chalk.dim("# /wordpress-publish")}
|
|
164
|
+
└─ myai-content-production-coordinator.md ${chalk.dim("# /myai-content-production-coordinator")}
|
|
165
|
+
|
|
166
|
+
${chalk.yellow.bold("⚙️ Configuration Required:")}
|
|
167
|
+
Run ${chalk.cyan("/myai-configure")} to set up WordPress credentials:
|
|
168
|
+
${chalk.gray("• WORDPRESS_URL - Your WordPress site URL")}
|
|
169
|
+
${chalk.gray("• WORDPRESS_USERNAME - WordPress username")}
|
|
170
|
+
${chalk.gray("• WORDPRESS_APP_PASSWORD - Application password")}
|
|
171
|
+
|
|
172
|
+
${chalk.green.bold("🚀 Quick Start:")}
|
|
173
|
+
${chalk.gray("1.")} ${chalk.white("Create content:")} ${chalk.cyan('/content-writer "Your Article Topic"')}
|
|
174
|
+
${chalk.gray("2.")} ${chalk.white("Publish to WP:")} ${chalk.cyan('/wordpress-publish "article.md"')}
|
|
175
|
+
${chalk.gray("3.")} ${chalk.white("Batch publish:")} ${chalk.cyan("/myai-content-production-coordinator ./content/")}
|
|
176
|
+
|
|
177
|
+
${chalk.hex("#FFA500").bold("📝 Ready to create and publish professional content!")}
|
|
177
178
|
`;
|
|
178
179
|
}
|
|
179
180
|
|
|
180
181
|
/**
|
|
181
182
|
* Get visual workflow success message
|
|
182
183
|
*/
|
|
183
|
-
export function getVisualWorkflowSuccess(results, cliType =
|
|
184
|
+
export function getVisualWorkflowSuccess(results, cliType = "claude") {
|
|
184
185
|
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
185
186
|
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
186
187
|
|
|
187
188
|
return `
|
|
188
|
-
${chalk.green.bold(
|
|
189
|
+
${chalk.green.bold("✨ Visual Content Workflow Installed Successfully!")}
|
|
189
190
|
|
|
190
|
-
${chalk.cyan.bold(
|
|
191
|
-
${chalk.green(
|
|
192
|
-
${chalk.green(
|
|
191
|
+
${chalk.cyan.bold("📊 Installation Summary:")}
|
|
192
|
+
${chalk.green("✓")} ${totalAgents} agents installed
|
|
193
|
+
${chalk.green("✓")} ${totalCommands} commands installed
|
|
193
194
|
|
|
194
|
-
${chalk.cyan.bold(
|
|
195
|
-
${cliType ===
|
|
195
|
+
${chalk.cyan.bold("📁 Files Installed:")}
|
|
196
|
+
${cliType === "claude" ? ".claude/" : ".gemini/"}
|
|
196
197
|
├─ agents/
|
|
197
|
-
│ └─ visual-content-generator.md ${chalk.dim(
|
|
198
|
+
│ └─ visual-content-generator.md ${chalk.dim("# AI image/video generation")}
|
|
198
199
|
└─ commands/
|
|
199
|
-
└─ myai-
|
|
200
|
+
└─ myai-visual-generator.md ${chalk.dim("# /myai-visual-generator")}
|
|
200
201
|
|
|
201
|
-
${chalk.yellow.bold(
|
|
202
|
-
${chalk.gray(
|
|
203
|
-
${chalk.gray(
|
|
204
|
-
${chalk.gray(
|
|
202
|
+
${chalk.yellow.bold("⚙️ API Keys Required (at least one):")}
|
|
203
|
+
${chalk.gray("• GOOGLE_AI_API_KEY - For Gemini, Imagen, Veo")}
|
|
204
|
+
${chalk.gray("• OPENAI_API_KEY - For DALL-E")}
|
|
205
|
+
${chalk.gray("• FAL_AI_API_KEY - For FLUX models")}
|
|
205
206
|
|
|
206
|
-
${chalk.green.bold(
|
|
207
|
-
${chalk.gray(
|
|
208
|
-
${chalk.gray(
|
|
209
|
-
${chalk.gray(
|
|
207
|
+
${chalk.green.bold("🚀 Quick Start:")}
|
|
208
|
+
${chalk.gray("1.")} ${chalk.white("Generate image:")} ${chalk.cyan('/myai-visual-generator "A modern office workspace"')}
|
|
209
|
+
${chalk.gray("2.")} ${chalk.white("With options:")} ${chalk.cyan('/myai-visual-generator "Product photo" --service imagen')}
|
|
210
|
+
${chalk.gray("3.")} ${chalk.white("Generate video:")} ${chalk.cyan('/myai-visual-generator "Timelapse clouds" --type video')}
|
|
210
211
|
|
|
211
|
-
${chalk.cyan.bold(
|
|
212
|
-
${chalk.white(
|
|
213
|
-
${chalk.white(
|
|
212
|
+
${chalk.cyan.bold("🎨 Supported Services:")}
|
|
213
|
+
${chalk.white("Images:")} Gemini • Imagen • DALL-E • FLUX
|
|
214
|
+
${chalk.white("Videos:")} Veo
|
|
214
215
|
|
|
215
|
-
${chalk.hex(
|
|
216
|
+
${chalk.hex("#FFA500").bold("🎨 Ready to generate stunning visual content!")}
|
|
216
217
|
`;
|
|
217
218
|
}
|
|
218
219
|
|
|
219
220
|
/**
|
|
220
221
|
* Get development workflow success message
|
|
221
222
|
*/
|
|
222
|
-
export function getDevWorkflowSuccess(results, cliType =
|
|
223
|
+
export function getDevWorkflowSuccess(results, cliType = "claude") {
|
|
223
224
|
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
224
225
|
|
|
225
226
|
return `
|
|
226
|
-
${chalk.green.bold(
|
|
227
|
-
|
|
228
|
-
${chalk.cyan.bold(
|
|
229
|
-
${chalk.green(
|
|
230
|
-
|
|
231
|
-
${chalk.cyan.bold(
|
|
232
|
-
${cliType ===
|
|
233
|
-
├─ sc:git.md ${chalk.dim(
|
|
234
|
-
├─ sc:implement.md ${chalk.dim(
|
|
235
|
-
├─ sc:test.md ${chalk.dim(
|
|
236
|
-
├─ sc:analyze.md ${chalk.dim(
|
|
237
|
-
├─ sc:design.md ${chalk.dim(
|
|
227
|
+
${chalk.green.bold("✨ Development Workflow Installed Successfully!")}
|
|
228
|
+
|
|
229
|
+
${chalk.cyan.bold("📊 Installation Summary:")}
|
|
230
|
+
${chalk.green("✓")} ${totalCommands} SPARC commands installed
|
|
231
|
+
|
|
232
|
+
${chalk.cyan.bold("📁 Commands Installed:")}
|
|
233
|
+
${cliType === "claude" ? ".claude/" : ".gemini/"}commands/
|
|
234
|
+
├─ sc:git.md ${chalk.dim("# Git operations")}
|
|
235
|
+
├─ sc:implement.md ${chalk.dim("# Feature implementation")}
|
|
236
|
+
├─ sc:test.md ${chalk.dim("# Testing strategies")}
|
|
237
|
+
├─ sc:analyze.md ${chalk.dim("# Code analysis")}
|
|
238
|
+
├─ sc:design.md ${chalk.dim("# Architecture design")}
|
|
238
239
|
└─ ... and more
|
|
239
240
|
|
|
240
|
-
${chalk.green.bold(
|
|
241
|
-
${chalk.gray(
|
|
242
|
-
${chalk.gray(
|
|
243
|
-
${chalk.gray(
|
|
244
|
-
${chalk.gray(
|
|
245
|
-
${chalk.gray(
|
|
241
|
+
${chalk.green.bold("🚀 SPARC Workflow Commands:")}
|
|
242
|
+
${chalk.gray("S")} ${chalk.white("Specification:")} ${chalk.cyan('/sc:brainstorm "Define requirements"')}
|
|
243
|
+
${chalk.gray("P")} ${chalk.white("Pseudocode:")} ${chalk.cyan('/sc:workflow "Plan implementation"')}
|
|
244
|
+
${chalk.gray("A")} ${chalk.white("Architecture:")} ${chalk.cyan('/sc:design "System architecture"')}
|
|
245
|
+
${chalk.gray("R")} ${chalk.white("Refinement:")} ${chalk.cyan('/sc:implement "Build feature"')}
|
|
246
|
+
${chalk.gray("C")} ${chalk.white("Completion:")} ${chalk.cyan('/sc:document "API documentation"')}
|
|
246
247
|
|
|
247
|
-
${chalk.cyan.bold(
|
|
248
|
-
${chalk.gray(
|
|
249
|
-
${chalk.gray(
|
|
250
|
-
${chalk.gray(
|
|
251
|
-
${chalk.gray(
|
|
248
|
+
${chalk.cyan.bold("💡 Additional Commands:")}
|
|
249
|
+
${chalk.gray("•")} ${chalk.cyan("/sc:git")} - Git operations and commits
|
|
250
|
+
${chalk.gray("•")} ${chalk.cyan("/sc:test")} - Run tests with coverage
|
|
251
|
+
${chalk.gray("•")} ${chalk.cyan("/sc:analyze")} - Code quality analysis
|
|
252
|
+
${chalk.gray("•")} ${chalk.cyan("/sc:troubleshoot")} - Debug issues
|
|
252
253
|
|
|
253
|
-
${chalk.hex(
|
|
254
|
+
${chalk.hex("#FFA500").bold("🏗️ Ready to build with SPARC methodology!")}
|
|
254
255
|
`;
|
|
255
256
|
}
|
|
256
257
|
|
|
257
258
|
/**
|
|
258
259
|
* Get publish workflow success message
|
|
259
260
|
*/
|
|
260
|
-
export function getPublishWorkflowSuccess(
|
|
261
|
+
export function getPublishWorkflowSuccess(
|
|
262
|
+
workflows,
|
|
263
|
+
results,
|
|
264
|
+
cliType = "claude",
|
|
265
|
+
) {
|
|
261
266
|
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
262
267
|
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
263
268
|
|
|
264
|
-
const platformList = workflows
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
269
|
+
const platformList = workflows
|
|
270
|
+
.map((w) => {
|
|
271
|
+
switch (w) {
|
|
272
|
+
case "publish-wordpress":
|
|
273
|
+
return "WordPress";
|
|
274
|
+
case "publish-payloadcms":
|
|
275
|
+
return "PayloadCMS";
|
|
276
|
+
case "publish-static":
|
|
277
|
+
return "Static Sites (Hugo, Jekyll, 11ty)";
|
|
278
|
+
default:
|
|
279
|
+
return w;
|
|
280
|
+
}
|
|
281
|
+
})
|
|
282
|
+
.join(", ");
|
|
272
283
|
|
|
273
284
|
return `
|
|
274
|
-
${chalk.green.bold(
|
|
285
|
+
${chalk.green.bold("✨ Publishing Workflow Installed Successfully!")}
|
|
275
286
|
|
|
276
|
-
${chalk.cyan.bold(
|
|
277
|
-
${chalk.green(
|
|
278
|
-
${chalk.green(
|
|
279
|
-
${chalk.green(
|
|
287
|
+
${chalk.cyan.bold("📊 Installation Summary:")}
|
|
288
|
+
${chalk.green("✓")} ${totalAgents} agents installed
|
|
289
|
+
${chalk.green("✓")} ${totalCommands} commands installed
|
|
290
|
+
${chalk.green("✓")} Platforms: ${platformList}
|
|
280
291
|
|
|
281
|
-
${chalk.yellow.bold(
|
|
282
|
-
Run ${chalk.cyan(
|
|
292
|
+
${chalk.yellow.bold("⚙️ Configuration Required:")}
|
|
293
|
+
Run ${chalk.cyan("/myai-configure")} to set up your publishing platforms.
|
|
283
294
|
|
|
284
|
-
${chalk.green.bold(
|
|
285
|
-
${workflows.includes(
|
|
295
|
+
${chalk.green.bold("🚀 Quick Start:")}
|
|
296
|
+
${workflows.includes("publish-wordpress") ? chalk.gray("• WordPress:") + " " + chalk.cyan('/wordpress-publish "article.md"') + "\n" : ""}${workflows.includes("publish-payloadcms") ? chalk.gray("• PayloadCMS:") + " " + chalk.cyan('/myai-payloadcms-publish "article.md"') + "\n" : ""}${workflows.includes("publish-static") ? chalk.gray("• Static:") + " " + chalk.cyan('/myai-static-publish "post.md"') : ""}
|
|
286
297
|
|
|
287
|
-
${chalk.hex(
|
|
298
|
+
${chalk.hex("#FFA500").bold("📤 Ready to publish across platforms!")}
|
|
288
299
|
`;
|
|
289
300
|
}
|
|
290
301
|
|
|
291
302
|
/**
|
|
292
303
|
* Get deploy workflow success message
|
|
293
304
|
*/
|
|
294
|
-
export function getDeployWorkflowSuccess(
|
|
305
|
+
export function getDeployWorkflowSuccess(
|
|
306
|
+
workflows,
|
|
307
|
+
results,
|
|
308
|
+
cliType = "claude",
|
|
309
|
+
) {
|
|
295
310
|
const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
|
|
296
311
|
const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
|
|
297
312
|
|
|
298
313
|
return `
|
|
299
|
-
${chalk.green.bold(
|
|
314
|
+
${chalk.green.bold("✨ Deployment Workflow Installed Successfully!")}
|
|
300
315
|
|
|
301
|
-
${chalk.cyan.bold(
|
|
302
|
-
${chalk.green(
|
|
303
|
-
${chalk.green(
|
|
316
|
+
${chalk.cyan.bold("📊 Installation Summary:")}
|
|
317
|
+
${chalk.green("✓")} ${totalAgents} agents installed
|
|
318
|
+
${chalk.green("✓")} ${totalCommands} commands installed
|
|
304
319
|
|
|
305
|
-
${chalk.yellow.bold(
|
|
306
|
-
${workflows.includes(
|
|
320
|
+
${chalk.yellow.bold("⚙️ Configuration Required:")}
|
|
321
|
+
${workflows.includes("coolify") ? chalk.gray("• COOLIFY_URL - Your Coolify instance URL") + "\n " + chalk.gray("• COOLIFY_API_KEY - Coolify API key") : ""}
|
|
307
322
|
|
|
308
|
-
${chalk.green.bold(
|
|
309
|
-
${chalk.gray(
|
|
310
|
-
${chalk.gray(
|
|
323
|
+
${chalk.green.bold("🚀 Quick Start:")}
|
|
324
|
+
${chalk.gray("•")} ${chalk.cyan("/coolify-deployer")} - Deploy to Coolify
|
|
325
|
+
${chalk.gray("•")} ${chalk.cyan("/sc:deploy")} - General deployment commands
|
|
311
326
|
|
|
312
|
-
${chalk.hex(
|
|
327
|
+
${chalk.hex("#FFA500").bold("🚀 Ready to deploy your applications!")}
|
|
313
328
|
`;
|
|
314
329
|
}
|