@chanaka_nakandala/integration-agent 3.1.1 ā 3.1.2
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.d.ts.map +1 -1
- package/dist/init-command.js +22 -25
- package/dist/init-command.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"AASA;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,
|
1
|
+
{"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../src/init-command.ts"],"names":[],"mappings":"AASA;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAiEjD"}
|
package/dist/init-command.js
CHANGED
@@ -17,41 +17,41 @@ const execAsync = promisify(exec);
|
|
17
17
|
* Users only need to run this once: npx @chanaka_nakandala/integration-agent init
|
18
18
|
*/
|
19
19
|
export async function initCommand() {
|
20
|
-
console.log('
|
20
|
+
console.log('Initializing Grubtech Integration Agent...\n');
|
21
21
|
// Step 1: Verify Claude Code is installed
|
22
|
-
console.log('Checking for Claude Code installation...');
|
22
|
+
console.log('[1/4] Checking for Claude Code installation...');
|
23
23
|
const claudeConfigPath = getClaudeConfigPath();
|
24
24
|
try {
|
25
25
|
await fs.access(claudeConfigPath);
|
26
|
-
console.log('ā Claude Code found\n');
|
26
|
+
console.log(' ā Claude Code found\n');
|
27
27
|
}
|
28
28
|
catch {
|
29
|
-
console.error('
|
29
|
+
console.error(' ā Claude Code is not installed!\n');
|
30
30
|
console.error('This tool requires Claude Code to be installed on your system.\n');
|
31
|
-
console.error('
|
32
|
-
console.error('
|
33
|
-
console.error('
|
34
|
-
console.error(' npx @chanaka_nakandala/integration-agent init\n');
|
31
|
+
console.error('Download Claude Code from: https://claude.ai/download\n');
|
32
|
+
console.error('After installing Claude Code, run this command again:');
|
33
|
+
console.error(' npx @chanaka_nakandala/integration-agent init\n');
|
35
34
|
process.exit(1);
|
36
35
|
}
|
37
36
|
// Step 2: Create cache directory for storing scraped Grubtech documentation
|
38
37
|
// This avoids repeated downloads and speeds up documentation searches
|
38
|
+
console.log('[2/4] Creating cache directory...');
|
39
39
|
const cacheDir = join(homedir(), '.grubtech', 'cache');
|
40
40
|
await fs.mkdir(join(cacheDir, 'docs'), { recursive: true });
|
41
|
-
console.log('ā
|
41
|
+
console.log(' ā Cache directory created at ~/.grubtech/cache/\n');
|
42
42
|
// Step 3: Configure MCP server in Claude Code using the claude CLI
|
43
43
|
// This registers the MCP server with identifier 'grubtech-integration-support'
|
44
44
|
// Syntax: claude mcp add --transport stdio <name> -- <command> [args...]
|
45
|
-
console.log('
|
45
|
+
console.log('[3/4] Configuring MCP server...');
|
46
46
|
// Use node to import the package directly (works reliably on all platforms)
|
47
47
|
// This avoids npx bin entry issues on Windows with scoped packages
|
48
48
|
const mcpCommand = `claude mcp add --transport stdio grubtech-integration-support -- node --input-type=module --eval "await import('@chanaka_nakandala/integration-mcp-server')"`;
|
49
49
|
try {
|
50
50
|
await execAsync(mcpCommand);
|
51
|
-
console.log('ā MCP server registered with Claude Code');
|
51
|
+
console.log(' ā MCP server registered with Claude Code\n');
|
52
52
|
}
|
53
53
|
catch (error) {
|
54
|
-
console.error('
|
54
|
+
console.error(' ā Failed to register MCP server!\n');
|
55
55
|
console.error('The "claude" CLI command is not available or failed to execute.\n');
|
56
56
|
console.error('Please ensure:');
|
57
57
|
console.error(' 1. Claude Code is running');
|
@@ -62,12 +62,13 @@ export async function initCommand() {
|
|
62
62
|
process.exit(1);
|
63
63
|
}
|
64
64
|
// Step 4: Install agent personas to project .claude/grubtech/agents directory
|
65
|
+
console.log('[4/4] Installing agent personas...');
|
65
66
|
await installAgentPersonas(process.cwd());
|
66
67
|
// Step 5: Display success message
|
67
|
-
console.log('\n
|
68
|
+
console.log('\nā Setup complete!\n');
|
68
69
|
console.log('Installed components:');
|
69
|
-
console.log('
|
70
|
-
console.log('
|
70
|
+
console.log(' ⢠MCP Server: @chanaka_nakandala/integration-mcp-server');
|
71
|
+
console.log(' ⢠Agent Personas: .claude/grubtech/agents/ (Developer & BA)\n');
|
71
72
|
console.log('Next steps:');
|
72
73
|
console.log(' 1. Restart Claude Code');
|
73
74
|
console.log(' 2. Access the subagents from your project:');
|
@@ -87,7 +88,6 @@ export async function initCommand() {
|
|
87
88
|
* - BA Agent: Planning, requirements gathering, documentation generation
|
88
89
|
*/
|
89
90
|
async function installAgentPersonas(projectPath) {
|
90
|
-
console.log('\nš¦ Installing agent personas from @chanaka_nakandala/integration-personas...');
|
91
91
|
// Create .claude/grubtech/agents directory in the project
|
92
92
|
const agentsDir = join(projectPath, '.claude', 'grubtech', 'agents');
|
93
93
|
await fs.mkdir(agentsDir, { recursive: true });
|
@@ -97,7 +97,6 @@ async function installAgentPersonas(projectPath) {
|
|
97
97
|
const require = createRequire(import.meta.url);
|
98
98
|
const personasPackagePath = require.resolve('@chanaka_nakandala/integration-personas/package.json');
|
99
99
|
const agentPersonasSource = dirname(personasPackagePath);
|
100
|
-
console.log(` Found personas package at: ${agentPersonasSource}`);
|
101
100
|
// Define both agent personas to install
|
102
101
|
const agents = [
|
103
102
|
{
|
@@ -119,26 +118,24 @@ async function installAgentPersonas(projectPath) {
|
|
119
118
|
// Check if agent is already installed (from previous init)
|
120
119
|
try {
|
121
120
|
await fs.access(agent.target);
|
122
|
-
console.log(`
|
123
|
-
console.log(' Overwriting with latest version...');
|
121
|
+
console.log(` ā ${agent.name} already exists, overwriting...`);
|
124
122
|
}
|
125
123
|
catch {
|
126
124
|
// Target doesn't exist, proceed with copy
|
127
125
|
}
|
128
126
|
// Copy the YAML file to project's agents directory
|
129
127
|
await fs.copyFile(agent.source, agent.target);
|
130
|
-
console.log(` ā
|
128
|
+
console.log(` ā ${agent.name}`);
|
131
129
|
}
|
132
130
|
catch (error) {
|
133
|
-
console.warn(`
|
131
|
+
console.warn(` ā Failed to install ${agent.name}: ${error.message}`);
|
134
132
|
}
|
135
133
|
}
|
136
|
-
console.log(
|
137
|
-
console.log(' Access them as subagents in your project');
|
134
|
+
console.log(' ā Agent personas installed to .claude/grubtech/agents/\n');
|
138
135
|
}
|
139
136
|
catch (error) {
|
140
|
-
console.error('
|
141
|
-
console.error(`
|
137
|
+
console.error(' ā Failed to install agent personas');
|
138
|
+
console.error(` Error: ${error.message}\n`);
|
142
139
|
}
|
143
140
|
}
|
144
141
|
/**
|
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,QAAQ,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,
|
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,QAAQ,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAE5D,0CAA0C;IAC1C,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,sEAAsE;IACtE,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,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,qDAAqD,CAAC,CAAC;IAEnE,mEAAmE;IACnE,+EAA+E;IAC/E,yEAAyE;IACzE,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAE/C,4EAA4E;IAC5E,mEAAmE;IACnE,MAAM,UAAU,GAAG,8JAA8J,CAAC;IAElL,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACnF,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;QAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,MAAM,oBAAoB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE1C,kCAAkC;IAClC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC3B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;IACtF,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,oBAAoB,CAAC,WAAmB;IACrD,0DAA0D;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,wEAAwE;QACxE,2EAA2E;QAC3E,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;QACpG,MAAM,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAEzD,wCAAwC;QACxC,MAAM,MAAM,GAAG;YACb;gBACE,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;gBACzD,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC;gBACzC,IAAI,EAAE,gCAAgC;aACvC;YACD;gBACE,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;gBAClD,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;gBAClC,IAAI,EAAE,yBAAyB;aAChC;SACF,CAAC;QAEF,8EAA8E;QAC9E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,2CAA2C;gBAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAE9B,2DAA2D;gBAC3D,IAAI,CAAC;oBACH,MAAM,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,iCAAiC,CAAC,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACP,0CAA0C;gBAC5C,CAAC;gBAED,mDAAmD;gBACnD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;IAC5E,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9D,KAAK,QAAQ;YACX,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1E;YACE,OAAO,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@chanaka_nakandala/integration-agent",
|
3
|
-
"version": "3.1.
|
3
|
+
"version": "3.1.2",
|
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",
|