@chanaka_nakandala/integration-agent 2.0.2 → 2.2.0
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-command.js +36 -10
- package/dist/init-command.js.map +1 -1
- package/package.json +4 -3
- package/agent-personas/ba-agent.yaml +0 -682
- package/agent-personas/developer-agent.yaml +0 -585
package/dist/init-command.js
CHANGED
@@ -34,7 +34,7 @@ export async function initCommand() {
|
|
34
34
|
console.log('✓ Created cache directory at ~/.grubtech/cache/');
|
35
35
|
// Step 3: Configure MCP server in Claude Code
|
36
36
|
// This tells Claude Code how to start the MCP server when needed
|
37
|
-
// IMPORTANT: Points to @chanaka_nakandala/mcp-server (the actual MCP server package)
|
37
|
+
// IMPORTANT: Points to @chanaka_nakandala/integration-mcp-server (the actual MCP server package)
|
38
38
|
let mcpConfig = {};
|
39
39
|
try {
|
40
40
|
const existing = await fs.readFile(mcpConfigFile, 'utf-8');
|
@@ -51,18 +51,18 @@ export async function initCommand() {
|
|
51
51
|
}
|
52
52
|
mcpConfig.mcpServers['grubtech-integration-support'] = {
|
53
53
|
command: 'npx', // Use npx to run the package directly
|
54
|
-
args: ['-y', '@chanaka_nakandala/mcp-server'], // Start the MCP server package
|
54
|
+
args: ['-y', '@chanaka_nakandala/integration-mcp-server'], // Start the MCP server package
|
55
55
|
};
|
56
56
|
// Write the updated configuration back to disk
|
57
57
|
await fs.mkdir(claudeConfigPath, { recursive: true });
|
58
58
|
await fs.writeFile(mcpConfigFile, JSON.stringify(mcpConfig, null, 2));
|
59
|
-
console.log('✓ Configured MCP server (@chanaka_nakandala/mcp-server)');
|
59
|
+
console.log('✓ Configured MCP server (@chanaka_nakandala/integration-mcp-server)');
|
60
60
|
// Step 4: Install agent personas from the separate agent-personas package
|
61
61
|
await installAgentPersonas();
|
62
62
|
// Step 5: Display success message
|
63
63
|
console.log('\n✅ Setup complete!\n');
|
64
64
|
console.log('Installed components:');
|
65
|
-
console.log(' ✓ MCP Server: @chanaka_nakandala/mcp-server');
|
65
|
+
console.log(' ✓ MCP Server: @chanaka_nakandala/integration-mcp-server');
|
66
66
|
console.log(' ✓ Agent Personas: Developer & BA agents\n');
|
67
67
|
console.log('Next steps:');
|
68
68
|
console.log(' 1. Restart Claude Code');
|
@@ -74,22 +74,48 @@ export async function initCommand() {
|
|
74
74
|
/**
|
75
75
|
* Installs agent persona YAML files to Claude's agents directory
|
76
76
|
*
|
77
|
-
* This function
|
78
|
-
* and copies the YAML files to ~/.claude/agents/
|
77
|
+
* This function locates the @chanaka_nakandala/integration-personas package
|
78
|
+
* (which is a dependency) and copies the YAML files to ~/.claude/agents/
|
79
79
|
*
|
80
80
|
* Agent personas customize Claude's behavior for specific tasks:
|
81
81
|
* - Developer Agent: Technical, code-first responses with production-ready code
|
82
82
|
* - BA Agent: Planning, requirements gathering, documentation generation
|
83
83
|
*/
|
84
84
|
async function installAgentPersonas() {
|
85
|
-
console.log('\n📦 Installing agent personas...');
|
85
|
+
console.log('\n📦 Installing agent personas from @chanaka_nakandala/integration-personas...');
|
86
86
|
const agentsDir = getClaudeAgentsPath();
|
87
87
|
await fs.mkdir(agentsDir, { recursive: true });
|
88
|
-
//
|
89
|
-
//
|
88
|
+
// Find the integration-personas package in node_modules
|
89
|
+
// Since it's a dependency, it will be in node_modules when installed via npx
|
90
90
|
const currentDir = dirname(fileURLToPath(import.meta.url));
|
91
|
-
|
91
|
+
// Try multiple possible locations for the integration-personas package
|
92
|
+
const possiblePaths = [
|
93
|
+
// When installed via npx, dependencies are in the package's node_modules
|
94
|
+
join(currentDir, '..', 'node_modules', '@chanaka_nakandala', 'integration-personas'),
|
95
|
+
// Sometimes npm flattens dependencies to parent node_modules
|
96
|
+
join(currentDir, '..', '..', '@chanaka_nakandala', 'integration-personas'),
|
97
|
+
// In some npx setups, packages are at a higher level
|
98
|
+
join(currentDir, '..', '..', '..', 'node_modules', '@chanaka_nakandala', 'integration-personas'),
|
99
|
+
];
|
100
|
+
let agentPersonasSource = '';
|
101
|
+
let found = false;
|
92
102
|
try {
|
103
|
+
for (const path of possiblePaths) {
|
104
|
+
try {
|
105
|
+
// Check if the YAML files exist at this location
|
106
|
+
await fs.access(join(path, 'developer-agent.yaml'));
|
107
|
+
agentPersonasSource = path;
|
108
|
+
found = true;
|
109
|
+
console.log(` Found personas package at: ${path}`);
|
110
|
+
break;
|
111
|
+
}
|
112
|
+
catch {
|
113
|
+
// Try next path
|
114
|
+
}
|
115
|
+
}
|
116
|
+
if (!found) {
|
117
|
+
throw new Error('Could not find @chanaka_nakandala/integration-personas package. Please ensure it is installed.');
|
118
|
+
}
|
93
119
|
// Define both agent personas to install
|
94
120
|
const agents = [
|
95
121
|
{
|
package/dist/init-command.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/D,0CAA0C;IAC1C,yEAAyE;IACzE,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,mBAAmB,gBAAgB,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,4EAA4E;IAC5E,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/D,8CAA8C;IAC9C,iEAAiE;IACjE,
|
1
|
+
{"version":3,"file":"init-command.js","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@chanaka_nakandala/integration-agent",
|
3
|
-
"version": "2.0
|
3
|
+
"version": "2.2.0",
|
4
4
|
"description": "One-command installer that sets up the complete Grubtech Integration Agent (MCP server + AI agent personas) for Claude Code to help developers build restaurant and POS integrations.",
|
5
5
|
"type": "module",
|
6
6
|
"main": "./dist/index.js",
|
@@ -16,7 +16,6 @@
|
|
16
16
|
},
|
17
17
|
"files": [
|
18
18
|
"dist/",
|
19
|
-
"agent-personas/",
|
20
19
|
"README.md",
|
21
20
|
"LICENSE"
|
22
21
|
],
|
@@ -56,7 +55,9 @@
|
|
56
55
|
],
|
57
56
|
"author": "Grubtech <support@grubtech.io>",
|
58
57
|
"license": "MIT",
|
59
|
-
"dependencies": {
|
58
|
+
"dependencies": {
|
59
|
+
"@chanaka_nakandala/integration-personas": "^1.0.0"
|
60
|
+
},
|
60
61
|
"devDependencies": {
|
61
62
|
"@types/node": "^20.0.0",
|
62
63
|
"typescript": "^5.9.3"
|