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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Content
|
|
1
|
+
# Content Rules Example
|
|
2
2
|
|
|
3
|
-
This file contains
|
|
3
|
+
This file contains example rules and guidelines for the content pipeline. Copy this file to `content-rules.md` in your project root and customize it for your specific content needs.This file contains example rules and guidelines for the content pipeline. Copy this file to `content-rules.md` in your project root and customize it for your specific content needs.
|
|
4
4
|
|
|
5
5
|
## Brand Voice & Tone
|
|
6
6
|
|
package/dist/mcp/health-check.js
CHANGED
|
@@ -5,25 +5,25 @@
|
|
|
5
5
|
* Validates MCP server configuration and connectivity
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { spawn } from
|
|
9
|
-
import { promises as fs } from
|
|
10
|
-
import path from
|
|
11
|
-
import { fileURLToPath } from
|
|
8
|
+
import { spawn } from "child_process";
|
|
9
|
+
import { promises as fs } from "fs";
|
|
10
|
+
import path from "path";
|
|
11
|
+
import { fileURLToPath } from "url";
|
|
12
12
|
|
|
13
13
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
14
14
|
|
|
15
15
|
export default async function healthCheck() {
|
|
16
|
-
console.log(
|
|
17
|
-
console.log(
|
|
16
|
+
console.log("🔍 MyAIDev Method MCP Server Health Check");
|
|
17
|
+
console.log("==========================================\n");
|
|
18
18
|
|
|
19
19
|
const checks = [];
|
|
20
|
-
|
|
20
|
+
|
|
21
21
|
// Check 1: Environment variables
|
|
22
|
-
console.log(
|
|
22
|
+
console.log("📋 Checking environment configuration...");
|
|
23
23
|
const envChecks = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
WORDPRESS_URL: process.env.WORDPRESS_URL,
|
|
25
|
+
WORDPRESS_USERNAME: process.env.WORDPRESS_USERNAME,
|
|
26
|
+
WORDPRESS_APP_PASSWORD: process.env.WORDPRESS_APP_PASSWORD,
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
let envConfigured = true;
|
|
@@ -37,36 +37,42 @@ export default async function healthCheck() {
|
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
checks.push({
|
|
40
|
-
name:
|
|
41
|
-
status: envConfigured ?
|
|
40
|
+
name: "Environment Configuration",
|
|
41
|
+
status: envConfigured ? "passed" : "failed",
|
|
42
42
|
});
|
|
43
43
|
|
|
44
44
|
// Check 2: MCP server files
|
|
45
|
-
console.log(
|
|
46
|
-
const mcpServerPath = path.resolve(
|
|
47
|
-
|
|
45
|
+
console.log("\n📁 Checking MCP server files...");
|
|
46
|
+
const mcpServerPath = path.resolve(
|
|
47
|
+
__dirname,
|
|
48
|
+
"../../.claude/mcp/wordpress-server.js",
|
|
49
|
+
);
|
|
50
|
+
|
|
48
51
|
try {
|
|
49
52
|
await fs.access(mcpServerPath);
|
|
50
|
-
console.log(
|
|
53
|
+
console.log(" ✅ WordPress MCP server file exists");
|
|
51
54
|
checks.push({
|
|
52
|
-
name:
|
|
53
|
-
status:
|
|
55
|
+
name: "MCP Server Files",
|
|
56
|
+
status: "passed",
|
|
54
57
|
});
|
|
55
58
|
} catch (error) {
|
|
56
|
-
console.log(
|
|
59
|
+
console.log(" ❌ WordPress MCP server file missing");
|
|
57
60
|
checks.push({
|
|
58
|
-
name:
|
|
59
|
-
status:
|
|
61
|
+
name: "MCP Server Files",
|
|
62
|
+
status: "failed",
|
|
60
63
|
});
|
|
61
64
|
}
|
|
62
65
|
|
|
63
66
|
// Check 3: Dependencies
|
|
64
|
-
console.log(
|
|
67
|
+
console.log("\n📦 Checking dependencies...");
|
|
65
68
|
const requiredDeps = [
|
|
66
|
-
{
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
{
|
|
70
|
+
name: "@modelcontextprotocol/sdk",
|
|
71
|
+
path: "@modelcontextprotocol/sdk/server/mcp.js",
|
|
72
|
+
},
|
|
73
|
+
{ name: "node-fetch", path: "node-fetch" },
|
|
74
|
+
{ name: "dotenv", path: "dotenv" },
|
|
75
|
+
{ name: "zod", path: "zod" },
|
|
70
76
|
];
|
|
71
77
|
|
|
72
78
|
let depsInstalled = true;
|
|
@@ -81,61 +87,67 @@ export default async function healthCheck() {
|
|
|
81
87
|
}
|
|
82
88
|
|
|
83
89
|
checks.push({
|
|
84
|
-
name:
|
|
85
|
-
status: depsInstalled ?
|
|
90
|
+
name: "Dependencies",
|
|
91
|
+
status: depsInstalled ? "passed" : "failed",
|
|
86
92
|
});
|
|
87
93
|
|
|
88
94
|
// Check 4: MCP server startup test
|
|
89
95
|
if (envConfigured && depsInstalled) {
|
|
90
|
-
console.log(
|
|
91
|
-
|
|
96
|
+
console.log("\n🚀 Testing MCP server startup...");
|
|
97
|
+
|
|
92
98
|
try {
|
|
93
99
|
const startupTest = await testServerStartup(mcpServerPath);
|
|
94
100
|
console.log(` ✅ MCP server starts successfully`);
|
|
95
101
|
checks.push({
|
|
96
|
-
name:
|
|
97
|
-
status:
|
|
102
|
+
name: "MCP Server Startup",
|
|
103
|
+
status: "passed",
|
|
98
104
|
});
|
|
99
105
|
} catch (error) {
|
|
100
106
|
console.log(` ❌ MCP server startup failed: ${error.message}`);
|
|
101
107
|
checks.push({
|
|
102
|
-
name:
|
|
103
|
-
status:
|
|
108
|
+
name: "MCP Server Startup",
|
|
109
|
+
status: "failed",
|
|
104
110
|
});
|
|
105
111
|
}
|
|
106
112
|
} else {
|
|
107
|
-
console.log(
|
|
113
|
+
console.log("\n⏭️ Skipping MCP server startup test (dependencies not met)");
|
|
108
114
|
checks.push({
|
|
109
|
-
name:
|
|
110
|
-
status:
|
|
115
|
+
name: "MCP Server Startup",
|
|
116
|
+
status: "skipped",
|
|
111
117
|
});
|
|
112
118
|
}
|
|
113
119
|
|
|
114
120
|
// Summary
|
|
115
|
-
console.log(
|
|
116
|
-
const passed = checks.filter(c => c.status ===
|
|
117
|
-
const failed = checks.filter(c => c.status ===
|
|
118
|
-
const skipped = checks.filter(c => c.status ===
|
|
119
|
-
|
|
120
|
-
checks.forEach(check => {
|
|
121
|
-
const icon =
|
|
122
|
-
|
|
121
|
+
console.log("\n📊 Health Check Summary:");
|
|
122
|
+
const passed = checks.filter((c) => c.status === "passed").length;
|
|
123
|
+
const failed = checks.filter((c) => c.status === "failed").length;
|
|
124
|
+
const skipped = checks.filter((c) => c.status === "skipped").length;
|
|
125
|
+
|
|
126
|
+
checks.forEach((check) => {
|
|
127
|
+
const icon =
|
|
128
|
+
check.status === "passed"
|
|
129
|
+
? "✅"
|
|
130
|
+
: check.status === "failed"
|
|
131
|
+
? "❌"
|
|
132
|
+
: "⏭️";
|
|
123
133
|
console.log(` ${icon} ${check.name}: ${check.status}`);
|
|
124
134
|
});
|
|
125
135
|
|
|
126
|
-
console.log(
|
|
136
|
+
console.log(
|
|
137
|
+
`\nResult: ${passed} passed, ${failed} failed, ${skipped} skipped`,
|
|
138
|
+
);
|
|
127
139
|
|
|
128
140
|
if (failed === 0) {
|
|
129
|
-
console.log(
|
|
130
|
-
console.log(
|
|
131
|
-
console.log(
|
|
132
|
-
console.log(' • Or use: /
|
|
141
|
+
console.log("\n🎉 All checks passed! MCP server is ready to use.");
|
|
142
|
+
console.log("\n💡 Next steps:");
|
|
143
|
+
console.log(" • Run: npm run mcp:start");
|
|
144
|
+
console.log(' • Or use: /wordpress-publish "your-file.md"');
|
|
133
145
|
} else {
|
|
134
|
-
console.log(
|
|
135
|
-
console.log(
|
|
136
|
-
console.log(
|
|
137
|
-
console.log(
|
|
138
|
-
console.log(
|
|
146
|
+
console.log("\n⚠️ Some checks failed. Please address the issues above.");
|
|
147
|
+
console.log("\n💡 Common solutions:");
|
|
148
|
+
console.log(" • Set environment variables: /myai-configurator wordpress");
|
|
149
|
+
console.log(" • Install dependencies: npm install");
|
|
150
|
+
console.log(" • Check file permissions and paths");
|
|
139
151
|
}
|
|
140
152
|
|
|
141
153
|
return {
|
|
@@ -143,39 +155,41 @@ export default async function healthCheck() {
|
|
|
143
155
|
failed,
|
|
144
156
|
skipped,
|
|
145
157
|
checks,
|
|
146
|
-
overall: failed === 0 ?
|
|
158
|
+
overall: failed === 0 ? "healthy" : "unhealthy",
|
|
147
159
|
};
|
|
148
160
|
}
|
|
149
161
|
|
|
150
162
|
async function testServerStartup(serverPath) {
|
|
151
163
|
return new Promise((resolve, reject) => {
|
|
152
|
-
const serverProcess = spawn(
|
|
153
|
-
stdio: [
|
|
154
|
-
env: process.env
|
|
164
|
+
const serverProcess = spawn("node", [serverPath], {
|
|
165
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
166
|
+
env: process.env,
|
|
155
167
|
});
|
|
156
168
|
|
|
157
|
-
let startupOutput =
|
|
169
|
+
let startupOutput = "";
|
|
158
170
|
const timeout = setTimeout(() => {
|
|
159
171
|
serverProcess.kill();
|
|
160
|
-
reject(new Error(
|
|
172
|
+
reject(new Error("Server startup timeout"));
|
|
161
173
|
}, 5000);
|
|
162
174
|
|
|
163
|
-
serverProcess.stderr.on(
|
|
175
|
+
serverProcess.stderr.on("data", (data) => {
|
|
164
176
|
startupOutput += data.toString();
|
|
165
|
-
if (
|
|
166
|
-
|
|
177
|
+
if (
|
|
178
|
+
startupOutput.includes("Enhanced WordPress MCP Server") ||
|
|
179
|
+
startupOutput.includes("running")
|
|
180
|
+
) {
|
|
167
181
|
clearTimeout(timeout);
|
|
168
182
|
serverProcess.kill();
|
|
169
183
|
resolve(true);
|
|
170
184
|
}
|
|
171
185
|
});
|
|
172
186
|
|
|
173
|
-
serverProcess.on(
|
|
187
|
+
serverProcess.on("error", (error) => {
|
|
174
188
|
clearTimeout(timeout);
|
|
175
189
|
reject(error);
|
|
176
190
|
});
|
|
177
191
|
|
|
178
|
-
serverProcess.on(
|
|
192
|
+
serverProcess.on("exit", (code) => {
|
|
179
193
|
clearTimeout(timeout);
|
|
180
194
|
if (code !== 0 && code !== null) {
|
|
181
195
|
reject(new Error(`Server exited with code ${code}`));
|
|
@@ -187,4 +201,4 @@ async function testServerStartup(serverPath) {
|
|
|
187
201
|
// Run if called directly
|
|
188
202
|
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
189
203
|
healthCheck().catch(console.error);
|
|
190
|
-
}
|
|
204
|
+
}
|
package/dist/mcp/mcp-config.json
CHANGED
|
@@ -31,6 +31,14 @@
|
|
|
31
31
|
"mcpName": "io.github.myaione/myaidev-method-openstack",
|
|
32
32
|
"transport": "stdio",
|
|
33
33
|
"command": "node .claude/mcp/openstack-server.js"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "fal-ai-mcp-server",
|
|
37
|
+
"version": "2.1.2",
|
|
38
|
+
"description": "fal.ai model discovery, pricing, and generation via MCP protocol",
|
|
39
|
+
"mcpName": "fal-ai",
|
|
40
|
+
"transport": "stdio",
|
|
41
|
+
"command": "npx -y fal-ai-mcp-server"
|
|
34
42
|
}
|
|
35
43
|
],
|
|
36
44
|
"wordpress_server": {
|