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 +39 -166
- package/package.json +5 -5
- package/src/lib/ascii-banner.js +0 -214
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}
|
|
72
|
+
console.log(chalk.gray(`Some features may have limited support for ${cliType}.`));
|
|
86
73
|
}
|
|
87
74
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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}
|
|
98
|
+
console.log(chalk.gray(`Some features may have limited support for ${cliType}.`));
|
|
135
99
|
}
|
|
136
100
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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}
|
|
123
|
+
console.log(chalk.gray(`Some features may have limited support for ${cliType}.`));
|
|
183
124
|
}
|
|
184
125
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
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
|
-
|
|
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
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
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
|
-
|
|
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
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
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
|
|
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",
|
package/src/lib/ascii-banner.js
CHANGED
|
@@ -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
|
-
}
|