myaidev-method 0.3.4 → 0.3.5
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 +776 -422
- 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/config/workflows.js
CHANGED
|
@@ -8,316 +8,258 @@
|
|
|
8
8
|
const WORKFLOWS = {
|
|
9
9
|
// Content Creation Workflow (includes WordPress publishing)
|
|
10
10
|
content: {
|
|
11
|
-
name:
|
|
12
|
-
description:
|
|
11
|
+
name: "Content Creation",
|
|
12
|
+
description:
|
|
13
|
+
"Professional content writing with SEO optimization and WordPress publishing",
|
|
13
14
|
skills: [
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
"myai-content-writer",
|
|
16
|
+
"myai-content-rules-setup",
|
|
17
|
+
"myai-content-verifier",
|
|
18
|
+
"myai-proprietary-content-verifier",
|
|
19
|
+
"myai-content-production-coordinator",
|
|
20
|
+
"myai-content-enrichment",
|
|
21
|
+
"myai-content-ideation",
|
|
22
|
+
"myai-infographic",
|
|
23
|
+
"company-config",
|
|
24
|
+
"wordpress-publisher",
|
|
20
25
|
],
|
|
21
26
|
scripts: [
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
27
|
+
"utils/write-content.js",
|
|
28
|
+
"wordpress/publish-to-wordpress.js",
|
|
29
|
+
"wordpress/wordpress-health-check.js",
|
|
25
30
|
],
|
|
26
|
-
libs: [
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
],
|
|
31
|
-
docs: [
|
|
32
|
-
'content-creation-guide.md',
|
|
33
|
-
'wordpress-publishing-guide.md'
|
|
34
|
-
],
|
|
35
|
-
mcpServers: ['myaidev'],
|
|
36
|
-
dependencies: ['core'],
|
|
37
|
-
envVars: [
|
|
38
|
-
'WORDPRESS_URL',
|
|
39
|
-
'WORDPRESS_USERNAME',
|
|
40
|
-
'WORDPRESS_APP_PASSWORD'
|
|
41
|
-
]
|
|
31
|
+
libs: ["content-generator.js", "seo-optimizer.js", "wordpress-client.js"],
|
|
32
|
+
docs: ["content-creation-guide.md", "wordpress-publishing-guide.md"],
|
|
33
|
+
mcpServers: ["myaidev"],
|
|
34
|
+
dependencies: ["core"],
|
|
35
|
+
envVars: ["WORDPRESS_URL", "WORDPRESS_USERNAME", "WORDPRESS_APP_PASSWORD"],
|
|
42
36
|
},
|
|
43
37
|
|
|
44
38
|
// Visual Content Generation Workflow
|
|
45
39
|
visual: {
|
|
46
|
-
name:
|
|
47
|
-
description:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
],
|
|
51
|
-
scripts: [
|
|
52
|
-
'generate-visual-cli.js',
|
|
53
|
-
'configure-visual-apis.js'
|
|
54
|
-
],
|
|
40
|
+
name: "Visual Content Generation",
|
|
41
|
+
description:
|
|
42
|
+
"AI-powered image and video generation using Gemini, Imagen, DALL-E, FLUX, Veo with fal.ai MCP model discovery",
|
|
43
|
+
skills: ["myai-visual-generator", "myai-infographic"],
|
|
44
|
+
scripts: ["generate-visual-cli.js", "configure-visual-apis.js"],
|
|
55
45
|
libs: [
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
46
|
+
"visual-generation-utils.js",
|
|
47
|
+
"visual-config-utils.js",
|
|
48
|
+
"asset-management.js",
|
|
59
49
|
],
|
|
60
|
-
docs: [
|
|
61
|
-
|
|
62
|
-
],
|
|
63
|
-
|
|
64
|
-
dependencies: ['core'],
|
|
65
|
-
envVars: [
|
|
66
|
-
'GOOGLE_AI_API_KEY',
|
|
67
|
-
'OPENAI_API_KEY',
|
|
68
|
-
'FAL_AI_API_KEY'
|
|
69
|
-
]
|
|
50
|
+
docs: ["visual-generation-guide.md"],
|
|
51
|
+
mcpServers: ["fal-ai"],
|
|
52
|
+
dependencies: ["core"],
|
|
53
|
+
envVars: ["GOOGLE_AI_API_KEY", "OPENAI_API_KEY", "FAL_KEY"],
|
|
70
54
|
},
|
|
71
55
|
|
|
72
56
|
// Development Workflow (SPARC)
|
|
73
57
|
development: {
|
|
74
|
-
name:
|
|
75
|
-
description:
|
|
58
|
+
name: "Development Workflow",
|
|
59
|
+
description: "SPARC methodology for systematic software development",
|
|
76
60
|
skills: [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
61
|
+
"myaidev-workflow",
|
|
62
|
+
"myaidev-architect",
|
|
63
|
+
"myaidev-coder",
|
|
64
|
+
"myaidev-tester",
|
|
65
|
+
"myaidev-reviewer",
|
|
66
|
+
"myaidev-documenter",
|
|
67
|
+
"myaidev-analyze",
|
|
68
|
+
"myaidev-debug",
|
|
69
|
+
"myaidev-refactor",
|
|
70
|
+
"myaidev-performance",
|
|
71
|
+
"myaidev-migrate",
|
|
88
72
|
],
|
|
89
73
|
scripts: [],
|
|
90
74
|
libs: [],
|
|
91
75
|
docs: [],
|
|
92
76
|
mcpServers: [],
|
|
93
|
-
dependencies: [
|
|
94
|
-
envVars: []
|
|
77
|
+
dependencies: ["core"],
|
|
78
|
+
envVars: [],
|
|
95
79
|
},
|
|
96
80
|
|
|
97
81
|
// Git & CI Workflow
|
|
98
|
-
|
|
99
|
-
name:
|
|
100
|
-
description:
|
|
101
|
-
skills: [
|
|
102
|
-
'git-workflow'
|
|
103
|
-
],
|
|
82
|
+
"git-ci": {
|
|
83
|
+
name: "Git & Continuous Integration",
|
|
84
|
+
description: "Git operations and CI/CD pipeline management",
|
|
85
|
+
skills: ["git-workflow"],
|
|
104
86
|
scripts: [],
|
|
105
87
|
libs: [],
|
|
106
88
|
docs: [],
|
|
107
89
|
mcpServers: [],
|
|
108
|
-
dependencies: [
|
|
109
|
-
envVars: []
|
|
90
|
+
dependencies: ["core"],
|
|
91
|
+
envVars: [],
|
|
110
92
|
},
|
|
111
93
|
|
|
112
94
|
// Deployment Workflow
|
|
113
95
|
deployment: {
|
|
114
|
-
name:
|
|
115
|
-
description:
|
|
116
|
-
skills: [
|
|
117
|
-
'deployer',
|
|
118
|
-
'coolify-deployer'
|
|
119
|
-
],
|
|
96
|
+
name: "Deployment",
|
|
97
|
+
description: "Application deployment and infrastructure management",
|
|
98
|
+
skills: ["deployer", "coolify-deployer"],
|
|
120
99
|
scripts: [],
|
|
121
100
|
libs: [],
|
|
122
|
-
docs: [
|
|
123
|
-
'deployment-guide.md'
|
|
124
|
-
],
|
|
101
|
+
docs: ["deployment-guide.md"],
|
|
125
102
|
mcpServers: [],
|
|
126
|
-
dependencies: [
|
|
127
|
-
envVars: []
|
|
103
|
+
dependencies: ["core"],
|
|
104
|
+
envVars: [],
|
|
128
105
|
},
|
|
129
106
|
|
|
130
107
|
// WordPress Publishing Workflow
|
|
131
|
-
|
|
132
|
-
name:
|
|
133
|
-
description:
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
],
|
|
108
|
+
"publish-wordpress": {
|
|
109
|
+
name: "WordPress Publishing",
|
|
110
|
+
description:
|
|
111
|
+
"Publish content to WordPress sites with enhanced MCP integration",
|
|
112
|
+
skills: ["wordpress-publisher"],
|
|
137
113
|
scripts: [
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
],
|
|
141
|
-
libs: [
|
|
142
|
-
'wordpress-client.js'
|
|
114
|
+
"wordpress/publish-to-wordpress.js",
|
|
115
|
+
"wordpress/wordpress-health-check.js",
|
|
143
116
|
],
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
],
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
envVars: [
|
|
150
|
-
'WORDPRESS_URL',
|
|
151
|
-
'WORDPRESS_USERNAME',
|
|
152
|
-
'WORDPRESS_APP_PASSWORD'
|
|
153
|
-
]
|
|
117
|
+
libs: ["wordpress-client.js"],
|
|
118
|
+
docs: ["wordpress-publishing-guide.md"],
|
|
119
|
+
mcpServers: ["myaidev"],
|
|
120
|
+
dependencies: ["core", "content"],
|
|
121
|
+
envVars: ["WORDPRESS_URL", "WORDPRESS_USERNAME", "WORDPRESS_APP_PASSWORD"],
|
|
154
122
|
},
|
|
155
123
|
|
|
156
124
|
// PayloadCMS Publishing Workflow
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
],
|
|
163
|
-
|
|
164
|
-
'payloadcms-publish.js'
|
|
165
|
-
],
|
|
166
|
-
libs: [
|
|
167
|
-
'payloadcms-utils.js'
|
|
168
|
-
],
|
|
125
|
+
|
|
126
|
+
"publish-payloadcms": {
|
|
127
|
+
name: "PayloadCMS Publishing",
|
|
128
|
+
description: "Publish content to PayloadCMS with Lexical rich text format",
|
|
129
|
+
skills: ["payloadcms-publisher"],
|
|
130
|
+
scripts: ["payloadcms-publish.js"],
|
|
131
|
+
libs: ["payloadcms-utils.js"],
|
|
169
132
|
docs: [],
|
|
170
133
|
mcpServers: [],
|
|
171
|
-
dependencies: [
|
|
172
|
-
envVars: [
|
|
173
|
-
'PAYLOADCMS_URL',
|
|
174
|
-
'PAYLOADCMS_API_KEY'
|
|
175
|
-
]
|
|
134
|
+
dependencies: ["core", "content"],
|
|
135
|
+
envVars: ["PAYLOADCMS_URL", "PAYLOADCMS_API_KEY"],
|
|
176
136
|
},
|
|
177
137
|
|
|
178
138
|
// Static Site Publishing Workflow
|
|
179
|
-
|
|
180
|
-
name:
|
|
181
|
-
description:
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
'docusaurus-publisher',
|
|
185
|
-
'mintlify-publisher'
|
|
186
|
-
],
|
|
139
|
+
"publish-static": {
|
|
140
|
+
name: "Static Site Publishing",
|
|
141
|
+
description:
|
|
142
|
+
"Publish to static site generators (Astro, Docusaurus, Mintlify)",
|
|
143
|
+
skills: ["astro-publisher", "docusaurus-publisher", "mintlify-publisher"],
|
|
187
144
|
scripts: [],
|
|
188
145
|
libs: [],
|
|
189
146
|
docs: [],
|
|
190
147
|
mcpServers: [],
|
|
191
|
-
dependencies: [
|
|
192
|
-
envVars: []
|
|
148
|
+
dependencies: ["core", "content"],
|
|
149
|
+
envVars: [],
|
|
193
150
|
},
|
|
194
151
|
|
|
195
152
|
// Coolify Deployment Workflow
|
|
196
153
|
coolify: {
|
|
197
|
-
name:
|
|
198
|
-
description:
|
|
199
|
-
skills: [
|
|
200
|
-
'coolify-deployer'
|
|
201
|
-
],
|
|
154
|
+
name: "Coolify Deployment",
|
|
155
|
+
description: "Deploy applications using Coolify self-hosted PaaS",
|
|
156
|
+
skills: ["coolify-deployer"],
|
|
202
157
|
scripts: [
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
],
|
|
207
|
-
libs: [
|
|
208
|
-
'coolify-utils.js'
|
|
158
|
+
"coolify-deploy-app.js",
|
|
159
|
+
"coolify-list-resources.js",
|
|
160
|
+
"coolify-status.js",
|
|
209
161
|
],
|
|
162
|
+
libs: ["coolify-utils.js"],
|
|
210
163
|
docs: [],
|
|
211
164
|
mcpServers: [],
|
|
212
|
-
dependencies: [
|
|
213
|
-
envVars: [
|
|
214
|
-
'COOLIFY_URL',
|
|
215
|
-
'COOLIFY_API_KEY'
|
|
216
|
-
]
|
|
165
|
+
dependencies: ["core", "deployment"],
|
|
166
|
+
envVars: ["COOLIFY_URL", "COOLIFY_API_KEY"],
|
|
217
167
|
},
|
|
218
168
|
|
|
219
169
|
// OpenStack Management Workflow
|
|
220
170
|
openstack: {
|
|
221
|
-
name:
|
|
222
|
-
description:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
],
|
|
171
|
+
name: "OpenStack Management",
|
|
172
|
+
description:
|
|
173
|
+
"OpenStack VM lifecycle management - create, list, start, stop, delete VMs",
|
|
174
|
+
skills: ["openstack-manager"],
|
|
226
175
|
scripts: [],
|
|
227
176
|
libs: [],
|
|
228
177
|
docs: [],
|
|
229
|
-
mcpServers: [
|
|
230
|
-
dependencies: [
|
|
231
|
-
envVars: [
|
|
232
|
-
'OS_AUTH_URL',
|
|
233
|
-
'OS_USERNAME',
|
|
234
|
-
'OS_PASSWORD',
|
|
235
|
-
'OS_PROJECT_NAME'
|
|
236
|
-
]
|
|
178
|
+
mcpServers: ["myaidev-openstack"],
|
|
179
|
+
dependencies: ["core"],
|
|
180
|
+
envVars: ["OS_AUTH_URL", "OS_USERNAME", "OS_PASSWORD", "OS_PROJECT_NAME"],
|
|
237
181
|
},
|
|
238
182
|
|
|
239
183
|
// Core Framework (Required by all workflows)
|
|
240
184
|
core: {
|
|
241
|
-
name:
|
|
242
|
-
description:
|
|
243
|
-
skills: [
|
|
244
|
-
'configure',
|
|
245
|
-
'content-coordinator'
|
|
246
|
-
],
|
|
185
|
+
name: "Core Framework",
|
|
186
|
+
description: "Essential MyAIDev Method framework components",
|
|
187
|
+
skills: ["configure", "myai-configurator"],
|
|
247
188
|
scripts: [
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
],
|
|
253
|
-
libs: [
|
|
254
|
-
'config-manager.js'
|
|
189
|
+
"init/install.js",
|
|
190
|
+
"init/configure.js",
|
|
191
|
+
"utils/file-utils.js",
|
|
192
|
+
"utils/logger.js",
|
|
255
193
|
],
|
|
194
|
+
libs: ["config-manager.js"],
|
|
256
195
|
docs: [],
|
|
257
196
|
mcpServers: [],
|
|
258
197
|
dependencies: [],
|
|
259
|
-
envVars: []
|
|
198
|
+
envVars: [],
|
|
260
199
|
},
|
|
261
200
|
|
|
262
201
|
// Security Testing Workflows (v0.2.21)
|
|
263
202
|
|
|
264
203
|
// Penetration Testing Workflow
|
|
265
|
-
|
|
266
|
-
name:
|
|
267
|
-
description:
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
],
|
|
271
|
-
scripts: [
|
|
272
|
-
'security/environment-detect.js'
|
|
273
|
-
],
|
|
204
|
+
"security-pentest": {
|
|
205
|
+
name: "Penetration Testing",
|
|
206
|
+
description:
|
|
207
|
+
"Full-scope security assessment following PTES methodology with reconnaissance, scanning, exploitation, and professional reporting",
|
|
208
|
+
skills: ["security-tester"],
|
|
209
|
+
scripts: ["security/environment-detect.js"],
|
|
274
210
|
libs: [],
|
|
275
211
|
docs: [],
|
|
276
212
|
mcpServers: [],
|
|
277
|
-
dependencies: [
|
|
213
|
+
dependencies: ["core", "development"],
|
|
278
214
|
envVars: [
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
]
|
|
215
|
+
"SECURITY_AUTHORIZATION_REQUIRED=true",
|
|
216
|
+
"SECURITY_ENVIRONMENT=native",
|
|
217
|
+
"KALI_DOCKER_IMAGE=kalilinux/kali-rolling",
|
|
218
|
+
"SECURITY_TOOLS_PATH=/usr/local/bin",
|
|
219
|
+
],
|
|
284
220
|
},
|
|
285
221
|
|
|
286
222
|
// Security Audit & Compliance Workflow
|
|
287
|
-
|
|
288
|
-
name:
|
|
289
|
-
description:
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
],
|
|
223
|
+
"security-audit": {
|
|
224
|
+
name: "Security Audit & Compliance",
|
|
225
|
+
description:
|
|
226
|
+
"Infrastructure security auditing, system hardening, and compliance validation for PCI-DSS, GDPR, HIPAA, SOC 2",
|
|
227
|
+
skills: ["security-auditor"],
|
|
293
228
|
scripts: [],
|
|
294
229
|
libs: [],
|
|
295
230
|
docs: [],
|
|
296
231
|
mcpServers: [],
|
|
297
|
-
dependencies: [
|
|
298
|
-
envVars: [
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
232
|
+
dependencies: ["core"],
|
|
233
|
+
envVars: ["COMPLIANCE_FRAMEWORK=PCI-DSS", "AUDIT_ENVIRONMENT=native"],
|
|
234
|
+
},
|
|
235
|
+
|
|
236
|
+
// Figma Design Workflow
|
|
237
|
+
figma: {
|
|
238
|
+
name: "Figma Design Capture",
|
|
239
|
+
description:
|
|
240
|
+
"Capture websites and push designs directly into Figma files",
|
|
241
|
+
skills: ["myaidev-figma", "myaidev-figma-configure"],
|
|
242
|
+
scripts: [],
|
|
243
|
+
libs: [],
|
|
244
|
+
docs: [],
|
|
245
|
+
mcpServers: ["figma-remote-mcp"],
|
|
246
|
+
dependencies: ["core"],
|
|
247
|
+
envVars: ["FIGMA_ACCESS_TOKEN"],
|
|
302
248
|
},
|
|
303
249
|
|
|
304
250
|
// Web Application Security Workflow
|
|
305
|
-
|
|
306
|
-
name:
|
|
307
|
-
description:
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
],
|
|
251
|
+
"security-webapp": {
|
|
252
|
+
name: "Web Application Security",
|
|
253
|
+
description:
|
|
254
|
+
"OWASP Top 10 testing and web application penetration testing with automated scanning and manual exploitation",
|
|
255
|
+
skills: ["security-tester"],
|
|
311
256
|
scripts: [],
|
|
312
257
|
libs: [],
|
|
313
258
|
docs: [],
|
|
314
259
|
mcpServers: [],
|
|
315
|
-
dependencies: [
|
|
316
|
-
envVars: [
|
|
317
|
-
|
|
318
|
-
'ZAP_PATH=/usr/share/zaproxy'
|
|
319
|
-
]
|
|
320
|
-
}
|
|
260
|
+
dependencies: ["core", "development", "security-pentest"],
|
|
261
|
+
envVars: ["BURP_SUITE_PATH=/opt/burpsuite", "ZAP_PATH=/usr/share/zaproxy"],
|
|
262
|
+
},
|
|
321
263
|
};
|
|
322
264
|
|
|
323
265
|
/**
|
|
@@ -344,14 +286,14 @@ function getWorkflowNames() {
|
|
|
344
286
|
*/
|
|
345
287
|
function getWorkflowsByCategory(category) {
|
|
346
288
|
const categories = {
|
|
347
|
-
content: [
|
|
348
|
-
development: [
|
|
349
|
-
publishing: [
|
|
350
|
-
deployment: [
|
|
289
|
+
content: ["content", "visual"],
|
|
290
|
+
development: ["development", "git-ci"],
|
|
291
|
+
publishing: ["publish-wordpress", "publish-payloadcms", "publish-static"],
|
|
292
|
+
deployment: ["deployment", "coolify"],
|
|
351
293
|
};
|
|
352
294
|
|
|
353
295
|
const workflowNames = categories[category] || [];
|
|
354
|
-
return workflowNames.map(name => ({ name, ...WORKFLOWS[name] }));
|
|
296
|
+
return workflowNames.map((name) => ({ name, ...WORKFLOWS[name] }));
|
|
355
297
|
}
|
|
356
298
|
|
|
357
299
|
/**
|
|
@@ -395,19 +337,21 @@ function resolveWorkflowDependencies(workflowName, resolved = new Set()) {
|
|
|
395
337
|
function validateWorkflow(workflow) {
|
|
396
338
|
const errors = [];
|
|
397
339
|
|
|
398
|
-
if (!workflow.name) errors.push(
|
|
399
|
-
if (!workflow.description) errors.push(
|
|
400
|
-
if (!Array.isArray(workflow.skills)) errors.push(
|
|
401
|
-
if (!Array.isArray(workflow.scripts)) errors.push(
|
|
402
|
-
if (!Array.isArray(workflow.libs)) errors.push(
|
|
403
|
-
if (!Array.isArray(workflow.docs)) errors.push(
|
|
404
|
-
if (!Array.isArray(workflow.mcpServers))
|
|
405
|
-
|
|
406
|
-
if (!Array.isArray(workflow.
|
|
340
|
+
if (!workflow.name) errors.push("Missing workflow name");
|
|
341
|
+
if (!workflow.description) errors.push("Missing workflow description");
|
|
342
|
+
if (!Array.isArray(workflow.skills)) errors.push("skills must be an array");
|
|
343
|
+
if (!Array.isArray(workflow.scripts)) errors.push("scripts must be an array");
|
|
344
|
+
if (!Array.isArray(workflow.libs)) errors.push("libs must be an array");
|
|
345
|
+
if (!Array.isArray(workflow.docs)) errors.push("docs must be an array");
|
|
346
|
+
if (!Array.isArray(workflow.mcpServers))
|
|
347
|
+
errors.push("mcpServers must be an array");
|
|
348
|
+
if (!Array.isArray(workflow.dependencies))
|
|
349
|
+
errors.push("dependencies must be an array");
|
|
350
|
+
if (!Array.isArray(workflow.envVars)) errors.push("envVars must be an array");
|
|
407
351
|
|
|
408
352
|
return {
|
|
409
353
|
valid: errors.length === 0,
|
|
410
|
-
errors
|
|
354
|
+
errors,
|
|
411
355
|
};
|
|
412
356
|
}
|
|
413
357
|
|
|
@@ -417,5 +361,5 @@ export {
|
|
|
417
361
|
getWorkflowNames,
|
|
418
362
|
getWorkflowsByCategory,
|
|
419
363
|
resolveWorkflowDependencies,
|
|
420
|
-
validateWorkflow
|
|
364
|
+
validateWorkflow,
|
|
421
365
|
};
|