@joelbonito/mcp-server 5.2.0 → 5.2.1
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/dist/init.d.ts +13 -0
- package/dist/init.js +129 -0
- package/package.json +4 -3
package/dist/init.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Bootstrap generator for Inove AI Framework (MCP Mode).
|
|
4
|
+
*
|
|
5
|
+
* Creates minimal instruction files that bridge /slash and @agent
|
|
6
|
+
* patterns to the MCP tools (execute_workflow, activate_agent).
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* npx @joelbonito/mcp-server init # generates CLAUDE.md + AGENTS.md
|
|
10
|
+
* npx @joelbonito/mcp-server init --claude # only CLAUDE.md
|
|
11
|
+
* npx @joelbonito/mcp-server init --codex # only AGENTS.md
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
package/dist/init.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Bootstrap generator for Inove AI Framework (MCP Mode).
|
|
4
|
+
*
|
|
5
|
+
* Creates minimal instruction files that bridge /slash and @agent
|
|
6
|
+
* patterns to the MCP tools (execute_workflow, activate_agent).
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* npx @joelbonito/mcp-server init # generates CLAUDE.md + AGENTS.md
|
|
10
|
+
* npx @joelbonito/mcp-server init --claude # only CLAUDE.md
|
|
11
|
+
* npx @joelbonito/mcp-server init --codex # only AGENTS.md
|
|
12
|
+
*/
|
|
13
|
+
import { writeFileSync, existsSync } from "node:fs";
|
|
14
|
+
import { resolve } from "node:path";
|
|
15
|
+
const WORKFLOWS = [
|
|
16
|
+
"define", "debug", "create", "brainstorm", "enhance", "deploy",
|
|
17
|
+
"test", "track", "status", "log", "finish", "orchestrate", "plan",
|
|
18
|
+
"preview", "ui-ux-pro-max", "review", "test-book", "release",
|
|
19
|
+
"squad", "context", "readiness", "journeys",
|
|
20
|
+
];
|
|
21
|
+
const AGENTS = [
|
|
22
|
+
"orchestrator", "project-planner", "product-manager",
|
|
23
|
+
"frontend-specialist", "backend-specialist", "database-architect",
|
|
24
|
+
"mobile-developer", "security-auditor", "debugger", "devops-engineer",
|
|
25
|
+
"test-engineer", "qa-automation-engineer", "documentation-writer",
|
|
26
|
+
"code-archaeologist", "performance-optimizer", "seo-specialist",
|
|
27
|
+
"penetration-tester", "game-developer", "product-owner",
|
|
28
|
+
"ux-researcher", "explorer-agent", "n8n-specialist",
|
|
29
|
+
];
|
|
30
|
+
const SHARED_RULES = `
|
|
31
|
+
## Slash Commands — Workflow Invocation
|
|
32
|
+
|
|
33
|
+
When the user types \`/<command>\` (e.g. \`/define\`, \`/debug\`), use the MCP tool \`execute_workflow\` with the command name (without the slash) and any arguments.
|
|
34
|
+
|
|
35
|
+
Example: \`/define App de gestao de tarefas\` → call \`execute_workflow(name="define", arguments="App de gestao de tarefas")\`
|
|
36
|
+
|
|
37
|
+
Available workflows: ${WORKFLOWS.map((w) => `\`/${w}\``).join(", ")}
|
|
38
|
+
|
|
39
|
+
## Agent Activation — @ Mentions
|
|
40
|
+
|
|
41
|
+
When the user mentions \`@agent-name\` (e.g. \`@frontend-specialist\`), use the MCP tool \`activate_agent\` with the agent name. This loads the agent's full persona, rules and all referenced skills.
|
|
42
|
+
|
|
43
|
+
Example: \`@security-auditor\` → call \`activate_agent(name="security-auditor")\`
|
|
44
|
+
|
|
45
|
+
Available agents: ${AGENTS.map((a) => `\`@${a}\``).join(", ")}
|
|
46
|
+
|
|
47
|
+
## Intelligent Routing
|
|
48
|
+
|
|
49
|
+
When unsure which agent to use, call \`route_task\` with the user's request. It returns the best-matching agents based on keyword analysis.
|
|
50
|
+
|
|
51
|
+
## Operational Rules
|
|
52
|
+
|
|
53
|
+
For full framework behavior (Socratic Gate, Clean Code, Routing Protocol), read the MCP resource \`inove://system-prompt\`.
|
|
54
|
+
|
|
55
|
+
## Socratic Gate (MANDATORY)
|
|
56
|
+
|
|
57
|
+
For ALL requests involving code, STOP and ASK first:
|
|
58
|
+
|
|
59
|
+
| Request Type | Strategy | Action |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| New Feature / Build | Deep Discovery | ASK minimum 3 strategic questions |
|
|
62
|
+
| Edit / Bug Fix | Diagnosis | Present DIAGNOSIS + PROPOSAL → wait for approval |
|
|
63
|
+
| Vague / Simple | Clarification | Ask Purpose, Users and Scope |
|
|
64
|
+
|
|
65
|
+
## Clean Code (Global)
|
|
66
|
+
|
|
67
|
+
- Concise, self-documenting code — no over-engineering
|
|
68
|
+
- Tests mandatory (Unit > Integration > E2E)
|
|
69
|
+
- Code comments and variables in English
|
|
70
|
+
- Respond in the user's language
|
|
71
|
+
`;
|
|
72
|
+
const CLAUDE_MD = `# Inove AI Framework (MCP Mode)
|
|
73
|
+
|
|
74
|
+
> This project uses the Inove AI Framework via MCP server (\`@joelbonito/mcp-server\`).
|
|
75
|
+
> No local framework files needed — all agents, skills and workflows are served via MCP.
|
|
76
|
+
|
|
77
|
+
${SHARED_RULES}`;
|
|
78
|
+
const AGENTS_MD = `# Inove AI Framework (MCP Mode)
|
|
79
|
+
|
|
80
|
+
> This project uses the Inove AI Framework via MCP server (\`@joelbonito/mcp-server\`).
|
|
81
|
+
> No local framework files needed — all agents, skills and workflows are served via MCP.
|
|
82
|
+
|
|
83
|
+
${SHARED_RULES}`;
|
|
84
|
+
function main() {
|
|
85
|
+
const args = process.argv.slice(2);
|
|
86
|
+
// Remove "init" if passed as first arg (from bin dispatch)
|
|
87
|
+
if (args[0] === "init")
|
|
88
|
+
args.shift();
|
|
89
|
+
const claudeOnly = args.includes("--claude");
|
|
90
|
+
const codexOnly = args.includes("--codex");
|
|
91
|
+
const both = !claudeOnly && !codexOnly;
|
|
92
|
+
const cwd = process.cwd();
|
|
93
|
+
let created = 0;
|
|
94
|
+
if (both || claudeOnly) {
|
|
95
|
+
const path = resolve(cwd, "CLAUDE.md");
|
|
96
|
+
if (existsSync(path)) {
|
|
97
|
+
console.log(`⚠️ CLAUDE.md already exists — skipping (use --force to overwrite is not supported, merge manually)`);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
writeFileSync(path, CLAUDE_MD, "utf-8");
|
|
101
|
+
console.log(`✅ Created CLAUDE.md`);
|
|
102
|
+
created++;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (both || codexOnly) {
|
|
106
|
+
const path = resolve(cwd, "AGENTS.md");
|
|
107
|
+
if (existsSync(path)) {
|
|
108
|
+
console.log(`⚠️ AGENTS.md already exists — skipping`);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
writeFileSync(path, AGENTS_MD, "utf-8");
|
|
112
|
+
console.log(`✅ Created AGENTS.md`);
|
|
113
|
+
created++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (created > 0) {
|
|
117
|
+
console.log(`\n🚀 Inove AI Framework (MCP Mode) initialized!`);
|
|
118
|
+
console.log(` Now you can use /slash commands and @agent mentions.`);
|
|
119
|
+
console.log(`\n Make sure the MCP server is configured:`);
|
|
120
|
+
console.log(` • Claude Code: claude mcp add inove-ai -- npx -y @joelbonito/mcp-server`);
|
|
121
|
+
console.log(` • Codex CLI: codex mcp add inove-ai -- npx -y @joelbonito/mcp-server`);
|
|
122
|
+
console.log(` • Cursor: .cursor/mcp.json`);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
console.log(`\nNothing to create — files already exist.`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
main();
|
|
129
|
+
//# sourceMappingURL=init.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@joelbonito/mcp-server",
|
|
3
|
-
"version": "5.2.
|
|
3
|
+
"version": "5.2.1",
|
|
4
4
|
"description": "MCP server for Inove AI Framework — agents, skills, and workflows as MCP resources, tools and prompts",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Inove AI <hello@inove.ai>",
|
|
@@ -22,12 +22,13 @@
|
|
|
22
22
|
"type": "module",
|
|
23
23
|
"main": "dist/index.js",
|
|
24
24
|
"bin": {
|
|
25
|
-
"inove-mcp": "dist/index.js"
|
|
25
|
+
"inove-mcp": "dist/index.js",
|
|
26
|
+
"inove-init": "dist/init.js"
|
|
26
27
|
},
|
|
27
28
|
"scripts": {
|
|
28
29
|
"prebuild": "tsx scripts/bundle-content.ts",
|
|
29
30
|
"build": "tsc",
|
|
30
|
-
"postbuild": "chmod +x dist/index.js",
|
|
31
|
+
"postbuild": "chmod +x dist/index.js dist/init.js",
|
|
31
32
|
"dev": "tsx src/index.ts",
|
|
32
33
|
"start": "node dist/index.js",
|
|
33
34
|
"test": "vitest run",
|