myaidev-method 0.2.5 → 0.2.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.
Files changed (55) hide show
  1. package/USER_GUIDE.md +630 -8
  2. package/bin/cli.js +161 -70
  3. package/package.json +1 -1
  4. package/src/lib/ascii-banner.js +100 -0
  5. package/src/templates/claude/commands/myai-deploy-dev.md +500 -0
  6. package/src/templates/claude/commands/myai-deploy-prod.md +837 -0
  7. package/src/templates/claude/commands/myai-deploy-staging.md +331 -0
  8. package/src/templates/claude/commands/myai-git-hotfix.md +957 -0
  9. package/src/templates/claude/commands/myai-git-pr.md +200 -0
  10. package/src/templates/claude/commands/myai-git-release.md +806 -0
  11. package/src/templates/claude/commands/myai-git-sync.md +796 -0
  12. package/src/templates/codex/commands/myai-astro-publish.md +51 -0
  13. package/src/templates/codex/commands/myai-configure.md +185 -0
  14. package/src/templates/codex/commands/myai-content-writer.md +73 -0
  15. package/src/templates/codex/commands/myai-coolify-deploy.md +159 -0
  16. package/src/templates/codex/commands/myai-deploy-dev.md +379 -0
  17. package/src/templates/codex/commands/myai-deploy-prod.md +431 -0
  18. package/src/templates/codex/commands/myai-deploy-staging.md +275 -0
  19. package/src/templates/codex/commands/myai-dev-architect.md +69 -0
  20. package/src/templates/codex/commands/myai-dev-code.md +82 -0
  21. package/src/templates/codex/commands/myai-dev-docs.md +83 -0
  22. package/src/templates/codex/commands/myai-dev-review.md +85 -0
  23. package/src/templates/codex/commands/myai-dev-test.md +84 -0
  24. package/src/templates/codex/commands/myai-docusaurus-publish.md +42 -0
  25. package/src/templates/codex/commands/myai-git-hotfix.md +512 -0
  26. package/src/templates/codex/commands/myai-git-pr.md +196 -0
  27. package/src/templates/codex/commands/myai-git-release.md +516 -0
  28. package/src/templates/codex/commands/myai-git-sync.md +517 -0
  29. package/src/templates/codex/commands/myai-mintlify-publish.md +42 -0
  30. package/src/templates/codex/commands/myai-payloadcms-publish.md +42 -0
  31. package/src/templates/codex/commands/myai-sparc-workflow.md +185 -0
  32. package/src/templates/codex/commands/myai-wordpress-admin.md +143 -0
  33. package/src/templates/codex/commands/myai-wordpress-publish.md +66 -0
  34. package/src/templates/gemini/commands/myai-astro-publish.toml +76 -0
  35. package/src/templates/gemini/commands/myai-configure.toml +188 -0
  36. package/src/templates/gemini/commands/myai-content-writer.toml +76 -0
  37. package/src/templates/gemini/commands/myai-coolify-deploy.toml +138 -0
  38. package/src/templates/gemini/commands/myai-deploy-dev.toml +379 -0
  39. package/src/templates/gemini/commands/myai-deploy-prod.toml +438 -0
  40. package/src/templates/gemini/commands/myai-deploy-staging.toml +275 -0
  41. package/src/templates/gemini/commands/myai-dev-architect.toml +64 -0
  42. package/src/templates/gemini/commands/myai-dev-code.toml +75 -0
  43. package/src/templates/gemini/commands/myai-dev-docs.toml +76 -0
  44. package/src/templates/gemini/commands/myai-dev-review.toml +78 -0
  45. package/src/templates/gemini/commands/myai-dev-test.toml +77 -0
  46. package/src/templates/gemini/commands/myai-docusaurus-publish.toml +63 -0
  47. package/src/templates/gemini/commands/myai-git-hotfix.toml +953 -0
  48. package/src/templates/gemini/commands/myai-git-pr.toml +196 -0
  49. package/src/templates/gemini/commands/myai-git-release.toml +802 -0
  50. package/src/templates/gemini/commands/myai-git-sync.toml +792 -0
  51. package/src/templates/gemini/commands/myai-mintlify-publish.toml +67 -0
  52. package/src/templates/gemini/commands/myai-payloadcms-publish.toml +59 -0
  53. package/src/templates/gemini/commands/myai-sparc-workflow.toml +47 -0
  54. package/src/templates/gemini/commands/myai-wordpress-admin.toml +143 -0
  55. package/src/templates/gemini/commands/myai-wordpress-publish.toml +77 -0
package/bin/cli.js CHANGED
@@ -7,53 +7,14 @@ 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 { getASCIIBanner, getSPARCBreakdown, getInitSuccessMessage } from '../src/lib/ascii-banner.js';
10
11
 
11
12
  const __filename = fileURLToPath(import.meta.url);
12
13
  const __dirname = path.dirname(__filename);
13
14
 
14
- // ASCII Banner with gradient
15
- function displayBanner() {
16
- const grey = chalk.hex('#5A5A5A');
17
- const lightGrey = chalk.hex('#9E9E9E');
18
- const white = chalk.white;
19
- const lightOrange = chalk.hex('#FF8C42');
20
- const orange = chalk.hex('#FF6B35');
21
- const brightOrange = chalk.hex('#FFA500');
22
-
23
- console.log('');
24
- console.log(grey(' ███╗ ███╗') + lightGrey('██╗ ██╗') + white(' █████╗ ') + lightOrange('██╗██████╗ ') + orange('███████╗') + brightOrange('██╗ ██╗'));
25
- console.log(grey(' ████╗ ████║') + lightGrey('╚██╗ ██╔╝') + white('██╔══██╗') + lightOrange('██║██╔══██╗') + orange('██╔════╝') + brightOrange('██║ ██║'));
26
- console.log(grey(' ██╔████╔██║') + lightGrey(' ╚████╔╝ ') + white('███████║') + lightOrange('██║██║ ██║') + orange('█████╗ ') + brightOrange('██║ ██║'));
27
- console.log(grey(' ██║╚██╔╝██║') + lightGrey(' ╚██╔╝ ') + white('██╔══██║') + lightOrange('██║██║ ██║') + orange('██╔══╝ ') + brightOrange('╚██╗ ██╔╝'));
28
- console.log(grey(' ██║ ╚═╝ ██║') + lightGrey(' ██║ ') + white('██║ ██║') + lightOrange('██║██████╔╝') + orange('███████╗') + brightOrange(' ╚████╔╝ '));
29
- console.log(grey(' ╚═╝ ╚═╝') + lightGrey(' ╚═╝ ') + white('╚═╝ ╚═╝') + lightOrange('╚═╝╚═════╝ ') + orange('╚══════╝') + brightOrange(' ╚═══╝ '));
30
- console.log('');
31
- console.log(lightGrey(' ███╗ ███╗') + white('███████╗') + lightOrange('████████╗') + orange('██╗ ██╗') + brightOrange(' ██████╗ ██████╗ '));
32
- console.log(lightGrey(' ████╗ ████║') + white('██╔════╝') + lightOrange('╚══██╔══╝') + orange('██║ ██║') + brightOrange('██╔═══██╗██╔══██╗'));
33
- console.log(lightGrey(' ██╔████╔██║') + white('█████╗ ') + lightOrange(' ██║ ') + orange('███████║') + brightOrange('██║ ██║██║ ██║'));
34
- console.log(lightGrey(' ██║╚██╔╝██║') + white('██╔══╝ ') + lightOrange(' ██║ ') + orange('██╔══██║') + brightOrange('██║ ██║██║ ██║'));
35
- console.log(lightGrey(' ██║ ╚═╝ ██║') + white('███████╗') + lightOrange(' ██║ ') + orange('██║ ██║') + brightOrange('╚██████╔╝██████╔╝'));
36
- console.log(lightGrey(' ╚═╝ ╚═╝') + white('╚══════╝') + lightOrange(' ╚═╝ ') + orange('╚═╝ ╚═╝') + brightOrange(' ╚═════╝ ╚═════╝ '));
37
- console.log('');
38
- }
39
-
40
- // SPARC Methodology breakdown
41
- function displaySPARC() {
42
- console.log(chalk.cyan.bold(' 📋 SPARC Development Methodology'));
43
- console.log('');
44
- console.log(chalk.grey(' ┌─────────────────────────────────────────────────────────────────┐'));
45
- console.log(chalk.grey(' │') + chalk.hex('#FF6B35').bold(' S ') + chalk.white('• Specification') + chalk.grey(' │ ') + chalk.gray('Define requirements & system boundaries'));
46
- console.log(chalk.grey(' │') + chalk.hex('#FF8C42').bold(' P ') + chalk.white('• Pseudocode ') + chalk.grey(' │ ') + chalk.gray('Plan implementation approach'));
47
- console.log(chalk.grey(' │') + chalk.hex('#FFA500').bold(' A ') + chalk.white('• Architecture ') + chalk.grey(' │ ') + chalk.gray('Design structure, APIs, data models'));
48
- console.log(chalk.grey(' │') + chalk.hex('#FFB84D').bold(' R ') + chalk.white('• Refinement ') + chalk.grey(' │ ') + chalk.gray('Implement, test, review quality'));
49
- console.log(chalk.grey(' │') + chalk.hex('#FFCC80').bold(' C ') + chalk.white('• Completion ') + chalk.grey(' │ ') + chalk.gray('Document & deliver production code'));
50
- console.log(chalk.grey(' └─────────────────────────────────────────────────────────────────┘'));
51
- console.log('');
52
- }
53
-
54
15
  program
55
16
  .version('0.2.5')
56
- .description('AI CLI tools package with custom subagents and MCP integrations');
17
+ .description('MyAIDev Method - Comprehensive development framework with SPARC methodology');
57
18
 
58
19
  program
59
20
  .command('init')
@@ -106,10 +67,10 @@ program
106
67
  spinner.succeed(chalk.green(`Successfully initialized ${cliType} configuration!`));
107
68
 
108
69
  // Display ASCII banner and SPARC methodology
109
- displayBanner();
110
- displaySPARC();
70
+ console.log(getASCIIBanner());
71
+ console.log(getSPARCBreakdown());
72
+ console.log(getInitSuccessMessage(cliType));
111
73
 
112
- console.log(chalk.cyan('🎉 You\'re all set! Here\'s how to get started:'));
113
74
  if (cliType === 'claude') {
114
75
  console.log(chalk.green('\n🏗️ SPARC Development Workflow (Systematic Software Development):'));
115
76
  console.log(chalk.gray(' • Complete: /myai-sparc-workflow "Build authentication system"'));
@@ -129,8 +90,14 @@ program
129
90
  console.log(chalk.gray(' • Mintlify: /myai-mintlify-publish "docs.mdx"'));
130
91
  console.log(chalk.gray(' • Astro: /myai-astro-publish "post.md"'));
131
92
 
132
- console.log(chalk.blue('\n🚀 Deploy applications:'));
133
- console.log(chalk.gray(' • Coolify: /myai-coolify-deploy'));
93
+ console.log(chalk.blue('\n🚀 Git & CI/CD Workflow:'));
94
+ console.log(chalk.gray(' • Pull Requests: /myai-git-pr "Add user feature"'));
95
+ console.log(chalk.gray(' • Releases: /myai-git-release'));
96
+ console.log(chalk.gray(' • Sync Branches: /myai-git-sync'));
97
+ console.log(chalk.gray(' • Hotfixes: /myai-git-hotfix'));
98
+ console.log(chalk.gray(' • Deploy Dev: /myai-deploy-dev'));
99
+ console.log(chalk.gray(' • Deploy Staging: /myai-deploy-staging'));
100
+ console.log(chalk.gray(' • Deploy Prod: /myai-deploy-prod'));
134
101
 
135
102
  console.log(chalk.cyan('\n⚙️ Configure platforms:'));
136
103
  console.log(chalk.gray(' • Run /myai-configure for guided setup'));
@@ -143,13 +110,11 @@ program
143
110
  console.log(chalk.gray(' • PUBLISHING_GUIDE.md - Multi-platform publishing'));
144
111
  console.log(chalk.gray(' • COOLIFY_DEPLOYMENT.md - Application deployment'));
145
112
  console.log(chalk.gray(' • WORDPRESS_ADMIN_SCRIPTS.md - WordPress utilities'));
146
- console.log(chalk.gray(' • TECHNICAL_ARCHITECTURE.md - Developer guide'));
147
113
 
148
114
  console.log(chalk.magenta('\n🔧 MCP Server Integration (Optional Advanced Features):'));
149
115
  console.log(chalk.gray(' • SPARC Orchestrator: Workflow automation with MCP tools'));
150
116
  console.log(chalk.gray(' • Chrome DevTools: Browser testing and debugging'));
151
117
  console.log(chalk.gray(' • WordPress MCP: Enhanced WordPress API operations'));
152
- console.log(chalk.gray(' • Add to Claude Code MCP settings to enable'));
153
118
 
154
119
  console.log(chalk.magenta('\n💡 Quick tips:'));
155
120
  console.log(chalk.gray(' • SPARC workflow: Architecture → Code → Test → Review → Docs'));
@@ -353,31 +318,157 @@ This configuration follows Claude Code's official standards for custom commands
353
318
  async function setupGemini(projectDir) {
354
319
  // Setup Gemini-specific configuration
355
320
  const geminiDir = path.join(projectDir, '.gemini');
356
- await fs.ensureDir(geminiDir);
357
-
358
- // Add Gemini-specific files here when specifications are available
359
- const geminiConfig = {
360
- version: '1.0.0',
361
- agents: ['content-writer'],
362
- integrations: ['wordpress']
363
- };
364
-
365
- await fs.writeJSON(path.join(geminiDir, 'config.json'), geminiConfig, { spaces: 2 });
321
+ const commandsDir = path.join(geminiDir, 'commands');
322
+ await fs.ensureDir(commandsDir);
323
+
324
+ // Copy all Gemini command files (.toml format)
325
+ const templateCommandsDir = path.join(__dirname, '..', 'src', 'templates', 'gemini', 'commands');
326
+ if (await fs.pathExists(templateCommandsDir)) {
327
+ const commandFiles = await fs.readdir(templateCommandsDir);
328
+ for (const file of commandFiles) {
329
+ if (file.endsWith('.toml')) {
330
+ await fs.copy(
331
+ path.join(templateCommandsDir, file),
332
+ path.join(commandsDir, file)
333
+ );
334
+ }
335
+ }
336
+ }
337
+
338
+ // Create Gemini README
339
+ const geminiReadme = `# Gemini CLI Configuration
340
+
341
+ This project uses the MyAIDev Method package for AI-assisted development with Gemini.
342
+
343
+ ## Available Commands
344
+
345
+ All commands are located in \`.gemini/commands/\` and use TOML format.
346
+
347
+ ### SPARC Development Workflow
348
+ - \`/myai-sparc-workflow\` - Complete 5-phase SPARC workflow
349
+ - \`/myai-dev-architect\` - Design system architecture
350
+ - \`/myai-dev-code\` - Implement features with SOLID principles
351
+ - \`/myai-dev-test\` - Create comprehensive tests
352
+ - \`/myai-dev-review\` - Code quality and security review
353
+ - \`/myai-dev-docs\` - Generate documentation
354
+
355
+ ### Git & CI/CD Workflow
356
+ - \`/myai-git-pr\` - Create and manage GitHub Pull Requests
357
+ - \`/myai-git-release\` - Create releases with semantic versioning
358
+ - \`/myai-git-sync\` - Sync and manage branches
359
+ - \`/myai-git-hotfix\` - Create and deploy emergency hotfixes
360
+ - \`/myai-deploy-dev\` - Deploy to development environment
361
+ - \`/myai-deploy-staging\` - Deploy to staging environment
362
+ - \`/myai-deploy-prod\` - Deploy to production environment
363
+
364
+ ### Content & Publishing
365
+ - \`/myai-content-writer\` - Create SEO-optimized content
366
+ - \`/myai-wordpress-publish\` - Publish to WordPress
367
+ - \`/myai-payloadcms-publish\` - Publish to PayloadCMS
368
+ - \`/myai-docusaurus-publish\` - Publish to Docusaurus
369
+ - \`/myai-mintlify-publish\` - Publish to Mintlify
370
+ - \`/myai-astro-publish\` - Publish to Astro
371
+
372
+ ### Administration
373
+ - \`/myai-coolify-deploy\` - Deploy to Coolify
374
+ - \`/myai-wordpress-admin\` - WordPress administration
375
+ - \`/myai-configure\` - Configure settings
376
+
377
+ ## Usage
378
+
379
+ \`\`\`bash
380
+ # Execute a command with arguments
381
+ /myai-dev-architect "Design authentication system"
382
+ /myai-git-pr "Add user profile feature"
383
+ /myai-deploy-staging
384
+
385
+ # Commands support the {{args}} placeholder
386
+ \`\`\`
387
+
388
+ ## Documentation
389
+
390
+ For full documentation, see the USER_GUIDE.md in your project root.
391
+ `;
392
+
393
+ await fs.writeFile(path.join(geminiDir, 'README.md'), geminiReadme);
366
394
  }
367
395
 
368
396
  async function setupCodex(projectDir) {
369
- // Setup Codex-specific configuration
370
- const codexDir = path.join(projectDir, '.codex');
371
- await fs.ensureDir(codexDir);
372
-
373
- // Add Codex-specific files here when specifications are available
374
- const codexConfig = {
375
- version: '1.0.0',
376
- agents: ['content-writer'],
377
- integrations: ['wordpress']
378
- };
379
-
380
- await fs.writeJSON(path.join(codexDir, 'config.json'), codexConfig, { spaces: 2 });
397
+ // Setup Codex/OpenCode-specific configuration
398
+ const codexDir = path.join(projectDir, '.opencode');
399
+ const commandsDir = path.join(codexDir, 'commands');
400
+ await fs.ensureDir(commandsDir);
401
+
402
+ // Copy all Codex/OpenCode command files (.md format)
403
+ const templateCommandsDir = path.join(__dirname, '..', 'src', 'templates', 'codex', 'commands');
404
+ if (await fs.pathExists(templateCommandsDir)) {
405
+ const commandFiles = await fs.readdir(templateCommandsDir);
406
+ for (const file of commandFiles) {
407
+ if (file.endsWith('.md')) {
408
+ await fs.copy(
409
+ path.join(templateCommandsDir, file),
410
+ path.join(commandsDir, file)
411
+ );
412
+ }
413
+ }
414
+ }
415
+
416
+ // Create OpenCode README
417
+ const opencodeReadme = `# OpenCode Configuration
418
+
419
+ This project uses the MyAIDev Method package for AI-assisted development with OpenCode.
420
+
421
+ ## Available Commands
422
+
423
+ All commands are located in \`.opencode/commands/\` and use Markdown format.
424
+
425
+ ### SPARC Development Workflow
426
+ - \`/myai-sparc-workflow\` - Complete 5-phase SPARC workflow
427
+ - \`/myai-dev-architect\` - Design system architecture
428
+ - \`/myai-dev-code\` - Implement features with SOLID principles
429
+ - \`/myai-dev-test\` - Create comprehensive tests
430
+ - \`/myai-dev-review\` - Code quality and security review
431
+ - \`/myai-dev-docs\` - Generate documentation
432
+
433
+ ### Git & CI/CD Workflow
434
+ - \`/myai-git-pr\` - Create and manage GitHub Pull Requests
435
+ - \`/myai-git-release\` - Create releases with semantic versioning
436
+ - \`/myai-git-sync\` - Sync and manage branches
437
+ - \`/myai-git-hotfix\` - Create and deploy emergency hotfixes
438
+ - \`/myai-deploy-dev\` - Deploy to development environment
439
+ - \`/myai-deploy-staging\` - Deploy to staging environment
440
+ - \`/myai-deploy-prod\` - Deploy to production environment
441
+
442
+ ### Content & Publishing
443
+ - \`/myai-content-writer\` - Create SEO-optimized content
444
+ - \`/myai-wordpress-publish\` - Publish to WordPress
445
+ - \`/myai-payloadcms-publish\` - Publish to PayloadCMS
446
+ - \`/myai-docusaurus-publish\` - Publish to Docusaurus
447
+ - \`/myai-mintlify-publish\` - Publish to Mintlify
448
+ - \`/myai-astro-publish\` - Publish to Astro
449
+
450
+ ### Administration
451
+ - \`/myai-coolify-deploy\` - Deploy to Coolify
452
+ - \`/myai-wordpress-admin\` - WordPress administration
453
+ - \`/myai-configure\` - Configure settings
454
+
455
+ ## Usage
456
+
457
+ \`\`\`bash
458
+ # Execute a command with arguments
459
+ /myai-dev-architect "Design authentication system"
460
+ /myai-git-pr "Add user profile feature"
461
+ /myai-deploy-staging
462
+
463
+ # Commands support the $ARGUMENTS placeholder
464
+ \`\`\`
465
+
466
+ ## Documentation
467
+
468
+ For full documentation, see the USER_GUIDE.md in your project root.
469
+ `;
470
+
471
+ await fs.writeFile(path.join(codexDir, 'README.md'), opencodeReadme);
381
472
  }
382
473
 
383
474
  program.parse(process.argv);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myaidev-method",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Comprehensive development framework with SPARC methodology for AI-assisted software development, 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",
@@ -0,0 +1,100 @@
1
+ import chalk from 'chalk';
2
+
3
+ /**
4
+ * ASCII Banner for MyAIDev Method with orange to grey gradient
5
+ */
6
+ export function getASCIIBanner() {
7
+ // Orange to grey gradient colors
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
+
15
+ const banner = `
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
+ `;
30
+
31
+ return banner;
32
+ }
33
+
34
+ /**
35
+ * Get SPARC methodology breakdown with emoji and colors
36
+ */
37
+ export function getSPARCBreakdown() {
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
+
44
+ return `
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
+
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
+
53
+ ${orange.bold('P')} ${chalk.white('│')} ${green('🔄 Pseudocode')}
54
+ ${chalk.dim('Plan implementation approach')}
55
+ ${chalk.dim('→ Algorithm design and logic flow')}
56
+
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
+
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
+
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
+
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
+ `;
73
+ }
74
+
75
+ /**
76
+ * Get initialization success message with instructions
77
+ */
78
+ export function getInitSuccessMessage(cliType) {
79
+ const commands = cliType === 'claude'
80
+ ? ' • View README: Press Ctrl+Shift+P → "Toggle Documentation"\n • Run workflow: /myai-sparc-workflow "Build your feature"'
81
+ : cliType === 'gemini'
82
+ ? ' • View commands: ls .gemini/commands/\n • Run workflow: /myai-sparc-workflow "Build your feature"'
83
+ : ' • View commands: ls .opencode/commands/\n • Run workflow: /myai-sparc-workflow "Build your feature"';
84
+
85
+ return `
86
+ ${chalk.green.bold('✨ Installation Complete!')}
87
+
88
+ ${chalk.cyan.bold('📁 Project Structure:')}
89
+ ${cliType === 'claude' ? '.claude/' : cliType === 'gemini' ? '.gemini/' : '.opencode/'}
90
+ ├─ commands/ ${chalk.dim('# All slash commands')}
91
+ ${cliType === 'claude' ? '├─ agents/ # Agent definitions\n ├─ mcp/ # MCP server configs\n ' : ''}└─ README.md ${chalk.dim('# Configuration guide')}
92
+
93
+ ${chalk.cyan.bold('🚀 Next Steps:')}
94
+ ${commands}
95
+ • Configure platforms: /myai-configure
96
+ • Read full guide: cat USER_GUIDE.md
97
+
98
+ ${chalk.hex('#FFA500').bold('🎯 Ready to build with the SPARC methodology!')}
99
+ `;
100
+ }