mcp-state-machine-test-framework 1.1.4 → 1.1.6
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/README.md +4 -2
- package/bin/init.js +53 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -49,9 +49,11 @@ If you are an AI agent helping with this project, follow these rules:
|
|
|
49
49
|
5. **Workflow**: Use `inspect_framework` to understand the current state before proposing changes.
|
|
50
50
|
|
|
51
51
|
## 🚀 Mission Bootstrap (Copy & Paste to any AI Agent)
|
|
52
|
-
> **
|
|
52
|
+
> **YOUR ONLY MISSION**:
|
|
53
|
+
> 1. Run `npx -y -p mcp-state-machine-test-framework mcp-sms-init` to setup EVERYTHING.
|
|
54
|
+
> 2. Read `.mcp_agent_rules` to understand the workflow.
|
|
53
55
|
>
|
|
54
|
-
> "
|
|
56
|
+
> "Run `npx -y -p mcp-state-machine-test-framework mcp-sms-init`. This will setup the project, folders, templates and `mcp_config.json` automatically. Then read `.mcp_agent_rules` and start mapping."
|
|
55
57
|
|
|
56
58
|
---
|
|
57
59
|
*Developed with ❤️ for maximum automation efficiency.*
|
package/bin/init.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "fs/promises";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import { execSync } from "child_process";
|
|
5
|
+
|
|
6
|
+
async function init() {
|
|
7
|
+
console.log("🚀 Iniciando instalación universal del State Machine Framework...");
|
|
8
|
+
const root = process.cwd();
|
|
9
|
+
|
|
10
|
+
// 1. Asegurar package.json
|
|
11
|
+
try {
|
|
12
|
+
await fs.access(path.join(root, "package.json"));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
console.log("📦 No se encontró package.json. Inicializando proyecto Node...");
|
|
15
|
+
execSync("npm init -y", { stdio: "inherit" });
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// 2. Crear carpetas
|
|
19
|
+
const dirs = ['maps', 'suites', 'test_cases', 'reports', 'data'];
|
|
20
|
+
for (const dir of dirs) {
|
|
21
|
+
await fs.mkdir(path.join(root, dir), { recursive: true });
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// 3. Crear mcp_config.json
|
|
25
|
+
const mcpConfig = {
|
|
26
|
+
mcpServers: {
|
|
27
|
+
"mcp-sms": {
|
|
28
|
+
"command": "npx",
|
|
29
|
+
"args": ["-y", "mcp-state-machine-test-framework"]
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
await fs.writeFile(path.join(root, "mcp_config.json"), JSON.stringify(mcpConfig, null, 2));
|
|
34
|
+
console.log("🔌 mcp_config.json creado.");
|
|
35
|
+
|
|
36
|
+
// 4. Crear Templates
|
|
37
|
+
const templates = {
|
|
38
|
+
'maps/template_map.json': { nodos: { HOME: { transiciones: { IR_A_LOGIN: { destino: "LOGIN", accion: "mcp:wdio-mcp/click_element { \"selector\": \"~Login\" }" } } }, LOGIN: { transiciones: { VOLVER: { destino: "HOME", accion: "mcp:wdio-mcp/click_element { \"selector\": \"~Back\" }" } } } } },
|
|
39
|
+
'test_cases/template_case.json': { name: "Template Case", steps: [ { name: "Ir a Login", action: "IR_A_LOGIN" } ] },
|
|
40
|
+
'suites/template_suite.json': { name: "Template Suite", state_map: "template_map.json", tests: ["template_case"] }
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
for (const [relPath, content] of Object.entries(templates)) {
|
|
44
|
+
await fs.writeFile(path.join(root, relPath), JSON.stringify(content, null, 2));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
console.log("✅ ¡Instalación completada con éxito! Ya puedes usar las herramientas MCP.");
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
init().catch(err => {
|
|
51
|
+
console.error("❌ Error durante la instalación:", err.message);
|
|
52
|
+
process.exit(1);
|
|
53
|
+
});
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-state-machine-test-framework",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.6",
|
|
4
4
|
"description": "High-fidelity State Machine MCP Server for autonomous E2E testing orchestration.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
8
|
"mcp-sms": "index.js",
|
|
9
|
-
"mcp-cli": "mcp_cli.js"
|
|
9
|
+
"mcp-cli": "mcp_cli.js",
|
|
10
|
+
"mcp-sms-init": "bin/init.js"
|
|
10
11
|
},
|
|
11
12
|
"scripts": {
|
|
12
13
|
"start": "node index.js"
|