myaidev-method 0.2.24-1 → 0.2.24

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 CHANGED
@@ -7,17 +7,7 @@ import fs from 'fs-extra';
7
7
  import path from 'path';
8
8
  import { fileURLToPath } from 'url';
9
9
  import inquirer from 'inquirer';
10
- import {
11
- getASCIIBanner,
12
- getSPARCBreakdown,
13
- getInitSuccessMessage,
14
- getWorkflowBanner,
15
- getContentWorkflowSuccess,
16
- getVisualWorkflowSuccess,
17
- getDevWorkflowSuccess,
18
- getPublishWorkflowSuccess,
19
- getDeployWorkflowSuccess
20
- } from '../src/lib/ascii-banner.js';
10
+ import { getASCIIBanner, getSPARCBreakdown, getInitSuccessMessage } from '../src/lib/ascii-banner.js';
21
11
 
22
12
  const __filename = fileURLToPath(import.meta.url);
23
13
  const __dirname = path.dirname(__filename);
@@ -74,44 +64,21 @@ program
74
64
  .option('--dry-run', 'Show what would be installed without making changes')
75
65
  .option('--verbose', 'Show detailed progress')
76
66
  .action(async (options) => {
77
- // Display workflow banner
78
- console.log(getWorkflowBanner('content'));
79
-
80
67
  const cliType = await selectCLIType(options);
81
68
 
82
69
  // For non-Claude CLIs, inform user about limited support
83
70
  if (cliType !== 'claude') {
84
71
  console.log(chalk.yellow(`\nNote: Content workflow is optimized for Claude Code.`));
85
- console.log(chalk.gray(`Some features may have limited support for ${cliType}.\n`));
72
+ console.log(chalk.gray(`Some features may have limited support for ${cliType}.`));
86
73
  }
87
74
 
88
- const spinner = ora('Installing content creation workflow...').start();
89
-
90
- try {
91
- await loadWorkflowSystem();
92
- const installer = new WorkflowInstaller({
93
- projectRoot: process.cwd(),
94
- verbose: options.verbose,
95
- dryRun: options.dryRun
96
- });
97
- const result = await installer.install(['content']);
98
-
99
- if (options.dryRun) {
100
- spinner.succeed(chalk.yellow('Dry run complete - no changes made'));
101
- } else {
102
- spinner.succeed(chalk.green('Content workflow installed successfully!'));
103
-
104
- // Display rich success message
105
- console.log(getContentWorkflowSuccess(result.results || [], cliType));
106
-
107
- console.log(chalk.cyan(`\nšŸ”„ Restart ${cliType} to load your new content commands!`));
108
- }
109
- } catch (error) {
110
- spinner.fail(chalk.red('Failed to install content workflow'));
111
- console.error(chalk.red(error.message));
112
- if (options.verbose) console.error(error);
113
- process.exit(1);
114
- }
75
+ await loadWorkflowSystem();
76
+ const installer = new WorkflowInstaller({
77
+ projectRoot: process.cwd(),
78
+ verbose: options.verbose,
79
+ dryRun: options.dryRun
80
+ });
81
+ await installer.install(['content']);
115
82
  });
116
83
 
117
84
  program
@@ -123,44 +90,21 @@ program
123
90
  .option('--dry-run', 'Show what would be installed without making changes')
124
91
  .option('--verbose', 'Show detailed progress')
125
92
  .action(async (options) => {
126
- // Display workflow banner
127
- console.log(getWorkflowBanner('visual'));
128
-
129
93
  const cliType = await selectCLIType(options);
130
94
 
131
95
  // For non-Claude CLIs, inform user about limited support
132
96
  if (cliType !== 'claude') {
133
97
  console.log(chalk.yellow(`\nNote: Visual workflow is optimized for Claude Code.`));
134
- console.log(chalk.gray(`Some features may have limited support for ${cliType}.\n`));
98
+ console.log(chalk.gray(`Some features may have limited support for ${cliType}.`));
135
99
  }
136
100
 
137
- const spinner = ora('Installing visual content generation workflow...').start();
138
-
139
- try {
140
- await loadWorkflowSystem();
141
- const installer = new WorkflowInstaller({
142
- projectRoot: process.cwd(),
143
- verbose: options.verbose,
144
- dryRun: options.dryRun
145
- });
146
- const result = await installer.install(['visual']);
147
-
148
- if (options.dryRun) {
149
- spinner.succeed(chalk.yellow('Dry run complete - no changes made'));
150
- } else {
151
- spinner.succeed(chalk.green('Visual workflow installed successfully!'));
152
-
153
- // Display rich success message
154
- console.log(getVisualWorkflowSuccess(result.results || [], cliType));
155
-
156
- console.log(chalk.cyan(`\nšŸ”„ Restart ${cliType} to load your new visual commands!`));
157
- }
158
- } catch (error) {
159
- spinner.fail(chalk.red('Failed to install visual workflow'));
160
- console.error(chalk.red(error.message));
161
- if (options.verbose) console.error(error);
162
- process.exit(1);
163
- }
101
+ await loadWorkflowSystem();
102
+ const installer = new WorkflowInstaller({
103
+ projectRoot: process.cwd(),
104
+ verbose: options.verbose,
105
+ dryRun: options.dryRun
106
+ });
107
+ await installer.install(['visual']);
164
108
  });
165
109
 
166
110
  program
@@ -172,43 +116,20 @@ program
172
116
  .option('--dry-run', 'Show what would be installed without making changes')
173
117
  .option('--verbose', 'Show detailed progress')
174
118
  .action(async (options) => {
175
- // Display workflow banner
176
- console.log(getWorkflowBanner('development'));
177
-
178
119
  const cliType = await selectCLIType(options);
179
120
 
180
121
  if (cliType !== 'claude') {
181
122
  console.log(chalk.yellow(`\nNote: Development workflow is optimized for Claude Code.`));
182
- console.log(chalk.gray(`Some features may have limited support for ${cliType}.\n`));
123
+ console.log(chalk.gray(`Some features may have limited support for ${cliType}.`));
183
124
  }
184
125
 
185
- const spinner = ora('Installing SPARC development workflow...').start();
186
-
187
- try {
188
- await loadWorkflowSystem();
189
- const installer = new WorkflowInstaller({
190
- projectRoot: process.cwd(),
191
- verbose: options.verbose,
192
- dryRun: options.dryRun
193
- });
194
- const result = await installer.install(['development']);
195
-
196
- if (options.dryRun) {
197
- spinner.succeed(chalk.yellow('Dry run complete - no changes made'));
198
- } else {
199
- spinner.succeed(chalk.green('Development workflow installed successfully!'));
200
-
201
- // Display rich success message
202
- console.log(getDevWorkflowSuccess(result.results || [], cliType));
203
-
204
- console.log(chalk.cyan(`\nšŸ”„ Restart ${cliType} to load your new development commands!`));
205
- }
206
- } catch (error) {
207
- spinner.fail(chalk.red('Failed to install development workflow'));
208
- console.error(chalk.red(error.message));
209
- if (options.verbose) console.error(error);
210
- process.exit(1);
211
- }
126
+ await loadWorkflowSystem();
127
+ const installer = new WorkflowInstaller({
128
+ projectRoot: process.cwd(),
129
+ verbose: options.verbose,
130
+ dryRun: options.dryRun
131
+ });
132
+ await installer.install(['development']);
212
133
  });
213
134
 
214
135
  program
@@ -221,9 +142,7 @@ program
221
142
  .option('--dry-run', 'Show what would be installed without making changes')
222
143
  .option('--verbose', 'Show detailed progress')
223
144
  .action(async (options) => {
224
- // Display workflow banner
225
- console.log(getWorkflowBanner('publish'));
226
-
145
+ await loadWorkflowSystem();
227
146
  const workflows = [];
228
147
  if (options.wordpress) workflows.push('publish-wordpress');
229
148
  if (options.payloadcms) workflows.push('publish-payloadcms');
@@ -236,34 +155,12 @@ program
236
155
  console.log(chalk.gray(' --wordpress, --payloadcms, --static, or --all'));
237
156
  process.exit(1);
238
157
  }
239
-
240
- const spinner = ora('Installing publishing workflows...').start();
241
-
242
- try {
243
- await loadWorkflowSystem();
244
- const installer = new WorkflowInstaller({
245
- projectRoot: process.cwd(),
246
- verbose: options.verbose,
247
- dryRun: options.dryRun
248
- });
249
- const result = await installer.install(workflows);
250
-
251
- if (options.dryRun) {
252
- spinner.succeed(chalk.yellow('Dry run complete - no changes made'));
253
- } else {
254
- spinner.succeed(chalk.green('Publishing workflows installed successfully!'));
255
-
256
- // Display rich success message
257
- console.log(getPublishWorkflowSuccess(workflows, result.results || [], 'claude'));
258
-
259
- console.log(chalk.cyan(`\nšŸ”„ Restart Claude Code to load your new publishing commands!`));
260
- }
261
- } catch (error) {
262
- spinner.fail(chalk.red('Failed to install publishing workflows'));
263
- console.error(chalk.red(error.message));
264
- if (options.verbose) console.error(error);
265
- process.exit(1);
266
- }
158
+ const installer = new WorkflowInstaller({
159
+ projectRoot: process.cwd(),
160
+ verbose: options.verbose,
161
+ dryRun: options.dryRun
162
+ });
163
+ await installer.install(workflows);
267
164
  });
268
165
 
269
166
  program
@@ -274,43 +171,19 @@ program
274
171
  .option('--dry-run', 'Show what would be installed without making changes')
275
172
  .option('--verbose', 'Show detailed progress')
276
173
  .action(async (options) => {
277
- // Display workflow banner
278
- console.log(getWorkflowBanner('deploy'));
279
-
174
+ await loadWorkflowSystem();
280
175
  const workflows = [];
281
176
  if (options.coolify) workflows.push('coolify');
282
177
  if (options.all) workflows.push('deployment', 'coolify');
283
178
  if (workflows.length === 0) {
284
179
  workflows.push('deployment');
285
180
  }
286
-
287
- const spinner = ora('Installing deployment workflows...').start();
288
-
289
- try {
290
- await loadWorkflowSystem();
291
- const installer = new WorkflowInstaller({
292
- projectRoot: process.cwd(),
293
- verbose: options.verbose,
294
- dryRun: options.dryRun
295
- });
296
- const result = await installer.install(workflows);
297
-
298
- if (options.dryRun) {
299
- spinner.succeed(chalk.yellow('Dry run complete - no changes made'));
300
- } else {
301
- spinner.succeed(chalk.green('Deployment workflows installed successfully!'));
302
-
303
- // Display rich success message
304
- console.log(getDeployWorkflowSuccess(workflows, result.results || [], 'claude'));
305
-
306
- console.log(chalk.cyan(`\nšŸ”„ Restart Claude Code to load your new deployment commands!`));
307
- }
308
- } catch (error) {
309
- spinner.fail(chalk.red('Failed to install deployment workflows'));
310
- console.error(chalk.red(error.message));
311
- if (options.verbose) console.error(error);
312
- process.exit(1);
313
- }
181
+ const installer = new WorkflowInstaller({
182
+ projectRoot: process.cwd(),
183
+ verbose: options.verbose,
184
+ dryRun: options.dryRun
185
+ });
186
+ await installer.install(workflows);
314
187
  });
315
188
 
316
189
  // Workflow management commands
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "myaidev-method",
3
- "version": "0.2.24-1",
3
+ "version": "0.2.24",
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",
7
7
  "bin": {
8
- "myaidev-method": "bin/cli.js",
9
- "myaidev-mcp-server": "dist/mcp/wordpress-server.js",
10
- "myaidev-mcp-launcher": "dist/mcp/mcp-launcher.js",
11
- "myaidev-sparc-orchestrator": "dist/mcp/sparc-orchestrator-server.js"
8
+ "myaidev-method": "./bin/cli.js",
9
+ "myaidev-mcp-server": "./dist/mcp/wordpress-server.js",
10
+ "myaidev-mcp-launcher": "./dist/mcp/mcp-launcher.js",
11
+ "myaidev-sparc-orchestrator": "./dist/mcp/sparc-orchestrator-server.js"
12
12
  },
13
13
  "scripts": {
14
14
  "test": "node test/run-tests.js",
@@ -98,217 +98,3 @@ ${commands}
98
98
  ${chalk.hex('#FFA500').bold('šŸŽÆ Ready to build with the SPARC methodology!')}
99
99
  `;
100
100
  }
101
-
102
- /**
103
- * Get workflow-specific mini banner
104
- */
105
- export function getWorkflowBanner(workflowName) {
106
- const orange = chalk.hex('#FFA500');
107
- const grey = chalk.hex('#808080');
108
-
109
- const banners = {
110
- content: `
111
- ${orange('╔═══════════════════════════════════════════════════════════╗')}
112
- ${orange('ā•‘')} ${chalk.bold.white('āœļø CONTENT CREATION WORKFLOW')} ${orange('ā•‘')}
113
- ${orange('ā•‘')} ${grey('Professional SEO-optimized content with WordPress publishing')} ${orange('ā•‘')}
114
- ${orange('ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•')}`,
115
- visual: `
116
- ${orange('╔═══════════════════════════════════════════════════════════╗')}
117
- ${orange('ā•‘')} ${chalk.bold.white('šŸŽØ VISUAL CONTENT GENERATION WORKFLOW')} ${orange('ā•‘')}
118
- ${orange('ā•‘')} ${grey('AI-powered images & videos with Gemini, Imagen, FLUX, Veo')} ${orange('ā•‘')}
119
- ${orange('ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•')}`,
120
- development: `
121
- ${orange('╔═══════════════════════════════════════════════════════════╗')}
122
- ${orange('ā•‘')} ${chalk.bold.white('šŸ—ļø SPARC DEVELOPMENT WORKFLOW')} ${orange('ā•‘')}
123
- ${orange('ā•‘')} ${grey('Systematic software development with quality standards')} ${orange('ā•‘')}
124
- ${orange('ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•')}`,
125
- publish: `
126
- ${orange('╔═══════════════════════════════════════════════════════════╗')}
127
- ${orange('ā•‘')} ${chalk.bold.white('šŸ“¤ PUBLISHING WORKFLOW')} ${orange('ā•‘')}
128
- ${orange('ā•‘')} ${grey('Multi-platform content publishing and distribution')} ${orange('ā•‘')}
129
- ${orange('ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•')}`,
130
- deploy: `
131
- ${orange('╔═══════════════════════════════════════════════════════════╗')}
132
- ${orange('ā•‘')} ${chalk.bold.white('šŸš€ DEPLOYMENT WORKFLOW')} ${orange('ā•‘')}
133
- ${orange('ā•‘')} ${grey('Application deployment and infrastructure management')} ${orange('ā•‘')}
134
- ${orange('ā•šā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•ā•')}`
135
- };
136
-
137
- return banners[workflowName] || banners.content;
138
- }
139
-
140
- /**
141
- * Get content workflow success message
142
- */
143
- export function getContentWorkflowSuccess(results, cliType = 'claude') {
144
- const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
145
- const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
146
-
147
- return `
148
- ${chalk.green.bold('✨ Content Workflow Installed Successfully!')}
149
-
150
- ${chalk.cyan.bold('šŸ“Š Installation Summary:')}
151
- ${chalk.green('āœ“')} ${totalAgents} agents installed
152
- ${chalk.green('āœ“')} ${totalCommands} commands installed
153
-
154
- ${chalk.cyan.bold('šŸ“ Files Installed:')}
155
- ${cliType === 'claude' ? '.claude/' : '.gemini/'}
156
- ā”œā”€ agents/
157
- │ ā”œā”€ content-writer.md ${chalk.dim('# SEO content creation')}
158
- │ ā”œā”€ wordpress-admin.md ${chalk.dim('# WordPress publishing')}
159
- │ └─ proprietary-content-verifier.md ${chalk.dim('# Content validation')}
160
- └─ commands/
161
- ā”œā”€ myai-content-writer.md ${chalk.dim('# /myai-content-writer')}
162
- ā”œā”€ myai-wordpress-publish.md ${chalk.dim('# /myai-wordpress-publish')}
163
- └─ myai-coordinate-content.md ${chalk.dim('# /myai-coordinate-content')}
164
-
165
- ${chalk.yellow.bold('āš™ļø Configuration Required:')}
166
- Run ${chalk.cyan('/myai-configure')} to set up WordPress credentials:
167
- ${chalk.gray('• WORDPRESS_URL - Your WordPress site URL')}
168
- ${chalk.gray('• WORDPRESS_USERNAME - WordPress username')}
169
- ${chalk.gray('• WORDPRESS_APP_PASSWORD - Application password')}
170
-
171
- ${chalk.green.bold('šŸš€ Quick Start:')}
172
- ${chalk.gray('1.')} ${chalk.white('Create content:')} ${chalk.cyan('/myai-content-writer "Your Article Topic"')}
173
- ${chalk.gray('2.')} ${chalk.white('Publish to WP:')} ${chalk.cyan('/myai-wordpress-publish "article.md"')}
174
- ${chalk.gray('3.')} ${chalk.white('Batch publish:')} ${chalk.cyan('/myai-coordinate-content ./content/')}
175
-
176
- ${chalk.hex('#FFA500').bold('šŸ“ Ready to create and publish professional content!')}
177
- `;
178
- }
179
-
180
- /**
181
- * Get visual workflow success message
182
- */
183
- export function getVisualWorkflowSuccess(results, cliType = 'claude') {
184
- const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
185
- const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
186
-
187
- return `
188
- ${chalk.green.bold('✨ Visual Content Workflow Installed Successfully!')}
189
-
190
- ${chalk.cyan.bold('šŸ“Š Installation Summary:')}
191
- ${chalk.green('āœ“')} ${totalAgents} agents installed
192
- ${chalk.green('āœ“')} ${totalCommands} commands installed
193
-
194
- ${chalk.cyan.bold('šŸ“ Files Installed:')}
195
- ${cliType === 'claude' ? '.claude/' : '.gemini/'}
196
- ā”œā”€ agents/
197
- │ └─ visual-content-generator.md ${chalk.dim('# AI image/video generation')}
198
- └─ commands/
199
- └─ myai-generate-visual.md ${chalk.dim('# /myai-generate-visual')}
200
-
201
- ${chalk.yellow.bold('āš™ļø API Keys Required (at least one):')}
202
- ${chalk.gray('• GOOGLE_AI_API_KEY - For Gemini, Imagen, Veo')}
203
- ${chalk.gray('• OPENAI_API_KEY - For DALL-E')}
204
- ${chalk.gray('• FAL_AI_API_KEY - For FLUX models')}
205
-
206
- ${chalk.green.bold('šŸš€ Quick Start:')}
207
- ${chalk.gray('1.')} ${chalk.white('Generate image:')} ${chalk.cyan('/myai-generate-visual "A modern office workspace"')}
208
- ${chalk.gray('2.')} ${chalk.white('With options:')} ${chalk.cyan('/myai-generate-visual "Product photo" --service imagen')}
209
- ${chalk.gray('3.')} ${chalk.white('Generate video:')} ${chalk.cyan('/myai-generate-visual "Timelapse clouds" --type video')}
210
-
211
- ${chalk.cyan.bold('šŸŽØ Supported Services:')}
212
- ${chalk.white('Images:')} Gemini • Imagen • DALL-E • FLUX
213
- ${chalk.white('Videos:')} Veo
214
-
215
- ${chalk.hex('#FFA500').bold('šŸŽØ Ready to generate stunning visual content!')}
216
- `;
217
- }
218
-
219
- /**
220
- * Get development workflow success message
221
- */
222
- export function getDevWorkflowSuccess(results, cliType = 'claude') {
223
- const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
224
-
225
- return `
226
- ${chalk.green.bold('✨ Development Workflow Installed Successfully!')}
227
-
228
- ${chalk.cyan.bold('šŸ“Š Installation Summary:')}
229
- ${chalk.green('āœ“')} ${totalCommands} SPARC commands installed
230
-
231
- ${chalk.cyan.bold('šŸ“ Commands Installed:')}
232
- ${cliType === 'claude' ? '.claude/' : '.gemini/'}commands/
233
- ā”œā”€ sc:git.md ${chalk.dim('# Git operations')}
234
- ā”œā”€ sc:implement.md ${chalk.dim('# Feature implementation')}
235
- ā”œā”€ sc:test.md ${chalk.dim('# Testing strategies')}
236
- ā”œā”€ sc:analyze.md ${chalk.dim('# Code analysis')}
237
- ā”œā”€ sc:design.md ${chalk.dim('# Architecture design')}
238
- └─ ... and more
239
-
240
- ${chalk.green.bold('šŸš€ SPARC Workflow Commands:')}
241
- ${chalk.gray('S')} ${chalk.white('Specification:')} ${chalk.cyan('/sc:brainstorm "Define requirements"')}
242
- ${chalk.gray('P')} ${chalk.white('Pseudocode:')} ${chalk.cyan('/sc:workflow "Plan implementation"')}
243
- ${chalk.gray('A')} ${chalk.white('Architecture:')} ${chalk.cyan('/sc:design "System architecture"')}
244
- ${chalk.gray('R')} ${chalk.white('Refinement:')} ${chalk.cyan('/sc:implement "Build feature"')}
245
- ${chalk.gray('C')} ${chalk.white('Completion:')} ${chalk.cyan('/sc:document "API documentation"')}
246
-
247
- ${chalk.cyan.bold('šŸ’” Additional Commands:')}
248
- ${chalk.gray('•')} ${chalk.cyan('/sc:git')} - Git operations and commits
249
- ${chalk.gray('•')} ${chalk.cyan('/sc:test')} - Run tests with coverage
250
- ${chalk.gray('•')} ${chalk.cyan('/sc:analyze')} - Code quality analysis
251
- ${chalk.gray('•')} ${chalk.cyan('/sc:troubleshoot')} - Debug issues
252
-
253
- ${chalk.hex('#FFA500').bold('šŸ—ļø Ready to build with SPARC methodology!')}
254
- `;
255
- }
256
-
257
- /**
258
- * Get publish workflow success message
259
- */
260
- export function getPublishWorkflowSuccess(workflows, results, cliType = 'claude') {
261
- const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
262
- const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
263
-
264
- const platformList = workflows.map(w => {
265
- switch(w) {
266
- case 'publish-wordpress': return 'WordPress';
267
- case 'publish-payloadcms': return 'PayloadCMS';
268
- case 'publish-static': return 'Static Sites (Hugo, Jekyll, 11ty)';
269
- default: return w;
270
- }
271
- }).join(', ');
272
-
273
- return `
274
- ${chalk.green.bold('✨ Publishing Workflow Installed Successfully!')}
275
-
276
- ${chalk.cyan.bold('šŸ“Š Installation Summary:')}
277
- ${chalk.green('āœ“')} ${totalAgents} agents installed
278
- ${chalk.green('āœ“')} ${totalCommands} commands installed
279
- ${chalk.green('āœ“')} Platforms: ${platformList}
280
-
281
- ${chalk.yellow.bold('āš™ļø Configuration Required:')}
282
- Run ${chalk.cyan('/myai-configure')} to set up your publishing platforms.
283
-
284
- ${chalk.green.bold('šŸš€ Quick Start:')}
285
- ${workflows.includes('publish-wordpress') ? chalk.gray('• WordPress:') + ' ' + chalk.cyan('/myai-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
-
287
- ${chalk.hex('#FFA500').bold('šŸ“¤ Ready to publish across platforms!')}
288
- `;
289
- }
290
-
291
- /**
292
- * Get deploy workflow success message
293
- */
294
- export function getDeployWorkflowSuccess(workflows, results, cliType = 'claude') {
295
- const totalAgents = results.reduce((sum, r) => sum + r.agents, 0);
296
- const totalCommands = results.reduce((sum, r) => sum + r.commands, 0);
297
-
298
- return `
299
- ${chalk.green.bold('✨ Deployment Workflow Installed Successfully!')}
300
-
301
- ${chalk.cyan.bold('šŸ“Š Installation Summary:')}
302
- ${chalk.green('āœ“')} ${totalAgents} agents installed
303
- ${chalk.green('āœ“')} ${totalCommands} commands installed
304
-
305
- ${chalk.yellow.bold('āš™ļø Configuration Required:')}
306
- ${workflows.includes('coolify') ? chalk.gray('• COOLIFY_URL - Your Coolify instance URL') + '\n ' + chalk.gray('• COOLIFY_API_KEY - Coolify API key') : ''}
307
-
308
- ${chalk.green.bold('šŸš€ Quick Start:')}
309
- ${chalk.gray('•')} ${chalk.cyan('/myai-coolify-deploy')} - Deploy to Coolify
310
- ${chalk.gray('•')} ${chalk.cyan('/sc:deploy')} - General deployment commands
311
-
312
- ${chalk.hex('#FFA500').bold('šŸš€ Ready to deploy your applications!')}
313
- `;
314
- }