myaidev-method 0.2.18 → 0.2.22

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 (31) hide show
  1. package/.claude/mcp/sparc-orchestrator-server.js +0 -0
  2. package/.claude/mcp/wordpress-server.js +0 -0
  3. package/CHANGELOG.md +145 -0
  4. package/README.md +205 -13
  5. package/TECHNICAL_ARCHITECTURE.md +64 -2
  6. package/bin/cli.js +169 -2
  7. package/dist/mcp/mcp-config.json +138 -1
  8. package/dist/mcp/openstack-server.js +1607 -0
  9. package/package.json +2 -2
  10. package/src/config/workflows.js +532 -0
  11. package/src/lib/payloadcms-utils.js +343 -10
  12. package/src/lib/visual-generation-utils.js +445 -294
  13. package/src/lib/workflow-installer.js +512 -0
  14. package/src/libs/security/authorization-checker.js +606 -0
  15. package/src/mcp/openstack-server.js +1607 -0
  16. package/src/scripts/openstack-setup.sh +110 -0
  17. package/src/scripts/security/environment-detect.js +425 -0
  18. package/src/templates/claude/agents/openstack-vm-manager.md +281 -0
  19. package/src/templates/claude/agents/osint-researcher.md +1075 -0
  20. package/src/templates/claude/agents/penetration-tester.md +908 -0
  21. package/src/templates/claude/agents/security-auditor.md +244 -0
  22. package/src/templates/claude/agents/security-setup.md +1094 -0
  23. package/src/templates/claude/agents/webapp-security-tester.md +581 -0
  24. package/src/templates/claude/commands/myai-configure.md +84 -0
  25. package/src/templates/claude/commands/myai-openstack.md +229 -0
  26. package/src/templates/claude/commands/sc:security-exploit.md +464 -0
  27. package/src/templates/claude/commands/sc:security-recon.md +281 -0
  28. package/src/templates/claude/commands/sc:security-report.md +756 -0
  29. package/src/templates/claude/commands/sc:security-scan.md +441 -0
  30. package/src/templates/claude/commands/sc:security-setup.md +501 -0
  31. package/src/templates/claude/mcp_config.json +44 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "myaidev-method",
3
- "version": "0.2.18",
4
- "description": "Comprehensive development framework with SPARC methodology for AI-assisted software development, AI visual content generation (Gemini, Imagen, DALL-E, Veo, FLUX), multi-platform publishing (WordPress, PayloadCMS, Astro, Docusaurus, Mintlify), and Coolify deployment",
3
+ "version": "0.2.22",
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": {
@@ -0,0 +1,532 @@
1
+ /**
2
+ * MyAIDev Method - Workflow Configuration
3
+ *
4
+ * Defines modular workflows for installation
5
+ * Each workflow specifies its agents, commands, scripts, libraries, and dependencies
6
+ */
7
+
8
+ const WORKFLOWS = {
9
+ // Content Creation Workflow
10
+ content: {
11
+ name: 'Content Creation',
12
+ description: 'Professional content writing with SEO optimization and WordPress publishing',
13
+ agents: [
14
+ 'content-writer',
15
+ 'proprietary-content-verifier'
16
+ ],
17
+ commands: [
18
+ 'myai-content-writer'
19
+ ],
20
+ scripts: [
21
+ 'utils/write-content.js'
22
+ ],
23
+ libs: [
24
+ 'content-generator.js',
25
+ 'seo-optimizer.js'
26
+ ],
27
+ docs: [
28
+ 'content-creation-guide.md'
29
+ ],
30
+ mcpServers: [],
31
+ dependencies: ['core'],
32
+ envVars: []
33
+ },
34
+
35
+ // Visual Content Generation Workflow
36
+ visual: {
37
+ name: 'Visual Content Generation',
38
+ description: 'AI-powered image and video generation using Gemini, Imagen, DALL-E, Veo',
39
+ agents: [
40
+ 'visual-content-generator'
41
+ ],
42
+ commands: [
43
+ 'myai-generate-visual'
44
+ ],
45
+ scripts: [
46
+ 'utils/generate-image.js',
47
+ 'utils/generate-video.js'
48
+ ],
49
+ libs: [
50
+ 'visual-generator.js'
51
+ ],
52
+ docs: [
53
+ 'visual-generation-guide.md'
54
+ ],
55
+ mcpServers: [],
56
+ dependencies: ['core'],
57
+ envVars: [
58
+ 'GOOGLE_AI_API_KEY',
59
+ 'OPENAI_API_KEY',
60
+ 'FAL_AI_API_KEY'
61
+ ]
62
+ },
63
+
64
+ // Development Workflow (SPARC)
65
+ development: {
66
+ name: 'Development Workflow',
67
+ description: 'SPARC methodology for systematic software development',
68
+ agents: [],
69
+ commands: [
70
+ 'sc:git',
71
+ 'sc:estimate',
72
+ 'sc:improve',
73
+ 'sc:load',
74
+ 'sc:design',
75
+ 'sc:document',
76
+ 'sc:implement',
77
+ 'sc:reflect',
78
+ 'sc:task',
79
+ 'sc:troubleshoot',
80
+ 'sc:brainstorm',
81
+ 'sc:workflow',
82
+ 'sc:spec-panel',
83
+ 'sc:test',
84
+ 'sc:analyze',
85
+ 'sc:spawn',
86
+ 'sc:build',
87
+ 'sc:explain',
88
+ 'sc:save',
89
+ 'sc:select-tool',
90
+ 'sc:cleanup',
91
+ 'sc:index'
92
+ ],
93
+ scripts: [],
94
+ libs: [],
95
+ docs: [
96
+ 'sparc-methodology.md'
97
+ ],
98
+ mcpServers: [],
99
+ dependencies: ['core'],
100
+ envVars: []
101
+ },
102
+
103
+ // Git & CI Workflow
104
+ 'git-ci': {
105
+ name: 'Git & Continuous Integration',
106
+ description: 'Git operations and CI/CD pipeline management',
107
+ agents: [],
108
+ commands: [
109
+ 'sc:git'
110
+ ],
111
+ scripts: [
112
+ 'ci/run-tests.js',
113
+ 'ci/lint.js'
114
+ ],
115
+ libs: [],
116
+ docs: [
117
+ 'git-workflow-guide.md'
118
+ ],
119
+ mcpServers: [],
120
+ dependencies: ['core'],
121
+ envVars: []
122
+ },
123
+
124
+ // Deployment Workflow
125
+ deployment: {
126
+ name: 'Deployment',
127
+ description: 'Application deployment and infrastructure management',
128
+ agents: [],
129
+ commands: [
130
+ 'sc:deploy'
131
+ ],
132
+ scripts: [
133
+ 'deploy/docker-deploy.js',
134
+ 'deploy/vercel-deploy.js',
135
+ 'deploy/netlify-deploy.js'
136
+ ],
137
+ libs: [
138
+ 'deployment-manager.js'
139
+ ],
140
+ docs: [
141
+ 'deployment-guide.md'
142
+ ],
143
+ mcpServers: [],
144
+ dependencies: ['core'],
145
+ envVars: [
146
+ 'VERCEL_TOKEN',
147
+ 'NETLIFY_TOKEN'
148
+ ]
149
+ },
150
+
151
+ // WordPress Publishing Workflow
152
+ 'publish-wordpress': {
153
+ name: 'WordPress Publishing',
154
+ description: 'Publish content to WordPress sites with enhanced MCP integration',
155
+ agents: [
156
+ 'wordpress-admin'
157
+ ],
158
+ commands: [
159
+ 'myai-wordpress-publish'
160
+ ],
161
+ scripts: [
162
+ 'wordpress/publish-to-wordpress.js',
163
+ 'wordpress/wordpress-health-check.js'
164
+ ],
165
+ libs: [
166
+ 'wordpress-client.js'
167
+ ],
168
+ docs: [
169
+ 'wordpress-publishing-guide.md'
170
+ ],
171
+ mcpServers: ['myaidev'],
172
+ dependencies: ['core', 'content'],
173
+ envVars: [
174
+ 'WORDPRESS_URL',
175
+ 'WORDPRESS_USERNAME',
176
+ 'WORDPRESS_APP_PASSWORD'
177
+ ]
178
+ },
179
+
180
+ // PayloadCMS Publishing Workflow
181
+ 'publish-payloadcms': {
182
+ name: 'PayloadCMS Publishing',
183
+ description: 'Publish content to PayloadCMS with Lexical rich text format',
184
+ agents: [],
185
+ commands: [
186
+ 'myai-payloadcms-publish'
187
+ ],
188
+ scripts: [
189
+ 'payloadcms/publish-to-payloadcms.js',
190
+ 'payloadcms/payloadcms-health-check.js'
191
+ ],
192
+ libs: [
193
+ 'payloadcms-utils.js'
194
+ ],
195
+ docs: [
196
+ 'payloadcms-publishing-guide.md'
197
+ ],
198
+ mcpServers: [],
199
+ dependencies: ['core', 'content'],
200
+ envVars: [
201
+ 'PAYLOADCMS_URL',
202
+ 'PAYLOADCMS_API_KEY'
203
+ ]
204
+ },
205
+
206
+ // Static Site Publishing Workflow
207
+ 'publish-static': {
208
+ name: 'Static Site Publishing',
209
+ description: 'Generate and publish static sites (Hugo, Jekyll, 11ty)',
210
+ agents: [],
211
+ commands: [
212
+ 'myai-static-publish'
213
+ ],
214
+ scripts: [
215
+ 'static/generate-hugo.js',
216
+ 'static/generate-jekyll.js',
217
+ 'static/generate-11ty.js'
218
+ ],
219
+ libs: [
220
+ 'static-generator.js'
221
+ ],
222
+ docs: [
223
+ 'static-site-guide.md'
224
+ ],
225
+ mcpServers: [],
226
+ dependencies: ['core', 'content'],
227
+ envVars: []
228
+ },
229
+
230
+ // Coolify Deployment Workflow
231
+ coolify: {
232
+ name: 'Coolify Deployment',
233
+ description: 'Deploy applications using Coolify self-hosted PaaS',
234
+ agents: [],
235
+ commands: [
236
+ 'myai-coolify-deploy'
237
+ ],
238
+ scripts: [
239
+ 'coolify/deploy-to-coolify.js',
240
+ 'coolify/coolify-health-check.js'
241
+ ],
242
+ libs: [
243
+ 'coolify-client.js'
244
+ ],
245
+ docs: [
246
+ 'coolify-deployment-guide.md'
247
+ ],
248
+ mcpServers: [],
249
+ dependencies: ['core', 'deployment'],
250
+ envVars: [
251
+ 'COOLIFY_URL',
252
+ 'COOLIFY_API_KEY'
253
+ ]
254
+ },
255
+
256
+ // Core Framework (Required by all workflows)
257
+ core: {
258
+ name: 'Core Framework',
259
+ description: 'Essential MyAIDev Method framework components',
260
+ agents: [
261
+ 'content-production-coordinator'
262
+ ],
263
+ commands: [
264
+ 'myai-coordinate-content',
265
+ 'myai-configure'
266
+ ],
267
+ scripts: [
268
+ 'init/install.js',
269
+ 'init/configure.js',
270
+ 'utils/file-utils.js',
271
+ 'utils/logger.js'
272
+ ],
273
+ libs: [
274
+ 'config-manager.js'
275
+ ],
276
+ docs: [
277
+ 'README.md',
278
+ 'TECHNICAL_ARCHITECTURE.md'
279
+ ],
280
+ mcpServers: [],
281
+ dependencies: [],
282
+ envVars: []
283
+ },
284
+
285
+ // Security Testing Workflows (v0.2.21)
286
+
287
+ // Penetration Testing Workflow
288
+ 'security-pentest': {
289
+ name: 'Penetration Testing',
290
+ description: 'Full-scope security assessment following PTES methodology with reconnaissance, scanning, exploitation, and professional reporting',
291
+ agents: [
292
+ 'security-setup',
293
+ 'security-specialist',
294
+ 'penetration-tester',
295
+ 'osint-researcher'
296
+ ],
297
+ commands: [
298
+ 'sc:security-setup',
299
+ 'sc:security-recon',
300
+ 'sc:security-scan',
301
+ 'sc:security-exploit',
302
+ 'sc:security-report'
303
+ ],
304
+ scripts: [
305
+ 'security/setup-tools.js',
306
+ 'security/verify-tools.js',
307
+ 'security/kali-docker-setup.js',
308
+ 'security/environment-detect.js',
309
+ 'security/security-scan.js',
310
+ 'security/exploit-search.js',
311
+ 'security/report-generator.js'
312
+ ],
313
+ libs: [
314
+ 'security/authorization-checker.js',
315
+ 'security/environment-manager.js',
316
+ 'security/tool-installer.js',
317
+ 'security/docker-manager.js',
318
+ 'security/security-scanner.js',
319
+ 'security/vulnerability-db.js',
320
+ 'security/cvss-calculator.js',
321
+ 'security/report-generator.js'
322
+ ],
323
+ docs: [
324
+ 'SECURITY_TESTING_GUIDE.md',
325
+ 'LEGAL_REQUIREMENTS.md',
326
+ 'TOOL_INSTALLATION.md',
327
+ 'PENTEST_METHODOLOGY.md'
328
+ ],
329
+ mcpServers: [],
330
+ dependencies: ['core', 'development'],
331
+ envVars: [
332
+ 'SECURITY_AUTHORIZATION_REQUIRED=true',
333
+ 'SECURITY_ENVIRONMENT=native',
334
+ 'KALI_DOCKER_IMAGE=kalilinux/kali-rolling',
335
+ 'SECURITY_TOOLS_PATH=/usr/local/bin'
336
+ ]
337
+ },
338
+
339
+ // Security Audit & Compliance Workflow
340
+ 'security-audit': {
341
+ name: 'Security Audit & Compliance',
342
+ description: 'Infrastructure security auditing, system hardening, and compliance validation for PCI-DSS, GDPR, HIPAA, SOC 2',
343
+ agents: [
344
+ 'security-setup',
345
+ 'security-auditor',
346
+ 'sysadmin-security',
347
+ 'compliance-auditor'
348
+ ],
349
+ commands: [
350
+ 'sc:security-setup',
351
+ 'sc:security-audit',
352
+ 'sc:security-harden',
353
+ 'sc:compliance-check',
354
+ 'sc:security-report'
355
+ ],
356
+ scripts: [
357
+ 'security/setup-tools.js',
358
+ 'security/verify-tools.js',
359
+ 'security/audit-scanner.js',
360
+ 'security/compliance-checker.js',
361
+ 'security/system-hardening.js',
362
+ 'security/report-generator.js'
363
+ ],
364
+ libs: [
365
+ 'security/authorization-checker.js',
366
+ 'security/environment-manager.js',
367
+ 'security/tool-installer.js',
368
+ 'security/compliance-frameworks.js',
369
+ 'security/system-auditor.js',
370
+ 'security/hardening-rules.js',
371
+ 'security/cvss-calculator.js',
372
+ 'security/report-generator.js'
373
+ ],
374
+ docs: [
375
+ 'SECURITY_AUDIT_GUIDE.md',
376
+ 'COMPLIANCE_FRAMEWORKS.md',
377
+ 'SYSTEM_HARDENING.md',
378
+ 'LEGAL_REQUIREMENTS.md'
379
+ ],
380
+ mcpServers: [],
381
+ dependencies: ['core'],
382
+ envVars: [
383
+ 'COMPLIANCE_FRAMEWORK=PCI-DSS',
384
+ 'AUDIT_ENVIRONMENT=native'
385
+ ]
386
+ },
387
+
388
+ // Web Application Security Workflow
389
+ 'security-webapp': {
390
+ name: 'Web Application Security',
391
+ description: 'OWASP Top 10 testing and web application penetration testing with automated scanning and manual exploitation',
392
+ agents: [
393
+ 'security-setup',
394
+ 'webapp-security-tester'
395
+ ],
396
+ commands: [
397
+ 'sc:security-setup',
398
+ 'sc:security-webapp-scan',
399
+ 'sc:security-webapp-exploit',
400
+ 'sc:security-webapp-report'
401
+ ],
402
+ scripts: [
403
+ 'security/setup-tools.js',
404
+ 'security/verify-tools.js',
405
+ 'security/webapp-scanner.js',
406
+ 'security/owasp-tester.js',
407
+ 'security/sqlmap-wrapper.js',
408
+ 'security/report-generator.js'
409
+ ],
410
+ libs: [
411
+ 'security/authorization-checker.js',
412
+ 'security/environment-manager.js',
413
+ 'security/tool-installer.js',
414
+ 'security/owasp-top10.js',
415
+ 'security/payload-library.js',
416
+ 'security/web-scanner.js',
417
+ 'security/report-generator.js'
418
+ ],
419
+ docs: [
420
+ 'WEBAPP_SECURITY_GUIDE.md',
421
+ 'OWASP_TOP10.md',
422
+ 'LEGAL_REQUIREMENTS.md'
423
+ ],
424
+ mcpServers: [],
425
+ dependencies: ['core', 'development', 'security-pentest'],
426
+ envVars: [
427
+ 'BURP_SUITE_PATH=/opt/burpsuite',
428
+ 'ZAP_PATH=/usr/share/zaproxy'
429
+ ]
430
+ }
431
+ };
432
+
433
+ /**
434
+ * Get workflow by name
435
+ * @param {string} name - Workflow name
436
+ * @returns {Object|null} Workflow definition or null
437
+ */
438
+ function getWorkflow(name) {
439
+ return WORKFLOWS[name] || null;
440
+ }
441
+
442
+ /**
443
+ * Get all workflow names
444
+ * @returns {string[]} Array of workflow names
445
+ */
446
+ function getWorkflowNames() {
447
+ return Object.keys(WORKFLOWS);
448
+ }
449
+
450
+ /**
451
+ * Get workflows by category
452
+ * @param {string} category - Category name (content, development, publishing, deployment)
453
+ * @returns {Object[]} Array of workflow definitions
454
+ */
455
+ function getWorkflowsByCategory(category) {
456
+ const categories = {
457
+ content: ['content', 'visual'],
458
+ development: ['development', 'git-ci'],
459
+ publishing: ['publish-wordpress', 'publish-payloadcms', 'publish-static'],
460
+ deployment: ['deployment', 'coolify']
461
+ };
462
+
463
+ const workflowNames = categories[category] || [];
464
+ return workflowNames.map(name => ({ name, ...WORKFLOWS[name] }));
465
+ }
466
+
467
+ /**
468
+ * Resolve workflow dependencies recursively
469
+ * @param {string} workflowName - Workflow name
470
+ * @param {Set} resolved - Set of already resolved workflows
471
+ * @returns {string[]} Array of workflow names in dependency order
472
+ */
473
+ function resolveWorkflowDependencies(workflowName, resolved = new Set()) {
474
+ const workflow = WORKFLOWS[workflowName];
475
+ if (!workflow) {
476
+ throw new Error(`Unknown workflow: ${workflowName}`);
477
+ }
478
+
479
+ // Avoid circular dependencies
480
+ if (resolved.has(workflowName)) {
481
+ return [];
482
+ }
483
+
484
+ const dependencies = [];
485
+
486
+ // Resolve dependencies first
487
+ for (const dep of workflow.dependencies) {
488
+ if (!resolved.has(dep)) {
489
+ dependencies.push(...resolveWorkflowDependencies(dep, resolved));
490
+ }
491
+ }
492
+
493
+ // Add this workflow
494
+ dependencies.push(workflowName);
495
+ resolved.add(workflowName);
496
+
497
+ return dependencies;
498
+ }
499
+
500
+ /**
501
+ * Validate workflow definition
502
+ * @param {Object} workflow - Workflow definition
503
+ * @returns {{valid: boolean, errors: string[]}}
504
+ */
505
+ function validateWorkflow(workflow) {
506
+ const errors = [];
507
+
508
+ if (!workflow.name) errors.push('Missing workflow name');
509
+ if (!workflow.description) errors.push('Missing workflow description');
510
+ if (!Array.isArray(workflow.agents)) errors.push('agents must be an array');
511
+ if (!Array.isArray(workflow.commands)) errors.push('commands must be an array');
512
+ if (!Array.isArray(workflow.scripts)) errors.push('scripts must be an array');
513
+ if (!Array.isArray(workflow.libs)) errors.push('libs must be an array');
514
+ if (!Array.isArray(workflow.docs)) errors.push('docs must be an array');
515
+ if (!Array.isArray(workflow.mcpServers)) errors.push('mcpServers must be an array');
516
+ if (!Array.isArray(workflow.dependencies)) errors.push('dependencies must be an array');
517
+ if (!Array.isArray(workflow.envVars)) errors.push('envVars must be an array');
518
+
519
+ return {
520
+ valid: errors.length === 0,
521
+ errors
522
+ };
523
+ }
524
+
525
+ export {
526
+ WORKFLOWS,
527
+ getWorkflow,
528
+ getWorkflowNames,
529
+ getWorkflowsByCategory,
530
+ resolveWorkflowDependencies,
531
+ validateWorkflow
532
+ };