@chanaka_nakandala/integration-agent 2.4.0 → 3.0.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.d.ts +1 -1
- package/dist/init-command.js +17 -24
- package/dist/init-command.js.map +1 -1
- package/package.json +1 -1
package/dist/init-command.d.ts
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
* This command sets up everything needed to use the MCP server with Claude Code:
|
5
5
|
* 1. Creates cache directory for storing scraped documentation
|
6
6
|
* 2. Registers MCP server using 'claude mcp add' command (falls back to manual config if CLI unavailable)
|
7
|
-
* 3. Installs agent persona YAML files
|
7
|
+
* 3. Installs agent persona YAML files to project's .claude/grubtech/agents/ directory as subagents
|
8
8
|
*
|
9
9
|
* Users only need to run this once: npx @chanaka_nakandala/integration-agent init
|
10
10
|
*/
|
package/dist/init-command.js
CHANGED
@@ -11,7 +11,7 @@ const execAsync = promisify(exec);
|
|
11
11
|
* This command sets up everything needed to use the MCP server with Claude Code:
|
12
12
|
* 1. Creates cache directory for storing scraped documentation
|
13
13
|
* 2. Registers MCP server using 'claude mcp add' command (falls back to manual config if CLI unavailable)
|
14
|
-
* 3. Installs agent persona YAML files
|
14
|
+
* 3. Installs agent persona YAML files to project's .claude/grubtech/agents/ directory as subagents
|
15
15
|
*
|
16
16
|
* Users only need to run this once: npx @chanaka_nakandala/integration-agent init
|
17
17
|
*/
|
@@ -55,33 +55,35 @@ export async function initCommand() {
|
|
55
55
|
await fs.writeFile(mcpConfigFile, JSON.stringify(mcpConfig, null, 2));
|
56
56
|
console.log('✓ MCP server configured manually');
|
57
57
|
}
|
58
|
-
// Step 3: Install agent personas
|
59
|
-
await installAgentPersonas();
|
58
|
+
// Step 3: Install agent personas to project .claude/grubtech/agents directory
|
59
|
+
await installAgentPersonas(process.cwd());
|
60
60
|
// Step 4: Display success message
|
61
61
|
console.log('\n✅ Setup complete!\n');
|
62
62
|
console.log('Installed components:');
|
63
63
|
console.log(' ✓ MCP Server: @chanaka_nakandala/integration-mcp-server');
|
64
|
-
console.log(' ✓ Agent Personas: Developer & BA
|
64
|
+
console.log(' ✓ Agent Personas: .claude/grubtech/agents/ (Developer & BA)\n');
|
65
65
|
console.log('Next steps:');
|
66
66
|
console.log(' 1. Restart Claude Code');
|
67
|
-
console.log(' 2.
|
67
|
+
console.log(' 2. Access the subagents from your project:');
|
68
68
|
console.log(' - Grubtech Integration Developer (technical, code-first)');
|
69
69
|
console.log(' - Grubtech Integration BA (planning, requirements, documentation)');
|
70
70
|
console.log(' 3. Try asking: "How do I authenticate with Grubtech APIs?"\n');
|
71
71
|
}
|
72
72
|
/**
|
73
|
-
* Installs agent persona YAML files to
|
73
|
+
* Installs agent persona YAML files to project's .claude/grubtech/agents directory
|
74
74
|
*
|
75
75
|
* This function locates the @chanaka_nakandala/integration-personas package
|
76
|
-
* (which is a dependency) and copies the YAML files to
|
76
|
+
* (which is a dependency) and copies the YAML files to .claude/grubtech/agents/
|
77
|
+
* in the current project directory, making them accessible as Claude subagents.
|
77
78
|
*
|
78
79
|
* Agent personas customize Claude's behavior for specific tasks:
|
79
80
|
* - Developer Agent: Technical, code-first responses with production-ready code
|
80
81
|
* - BA Agent: Planning, requirements gathering, documentation generation
|
81
82
|
*/
|
82
|
-
async function installAgentPersonas() {
|
83
|
+
async function installAgentPersonas(projectPath) {
|
83
84
|
console.log('\n📦 Installing agent personas from @chanaka_nakandala/integration-personas...');
|
84
|
-
|
85
|
+
// Create .claude/grubtech/agents directory in the project
|
86
|
+
const agentsDir = join(projectPath, '.claude', 'grubtech', 'agents');
|
85
87
|
await fs.mkdir(agentsDir, { recursive: true });
|
86
88
|
try {
|
87
89
|
// Use Node's module resolution to find the integration-personas package
|
@@ -94,16 +96,16 @@ async function installAgentPersonas() {
|
|
94
96
|
const agents = [
|
95
97
|
{
|
96
98
|
source: join(agentPersonasSource, 'developer-agent.yaml'),
|
97
|
-
target: join(agentsDir, '
|
99
|
+
target: join(agentsDir, 'developer.yaml'),
|
98
100
|
name: 'Grubtech Integration Developer',
|
99
101
|
},
|
100
102
|
{
|
101
103
|
source: join(agentPersonasSource, 'ba-agent.yaml'),
|
102
|
-
target: join(agentsDir, '
|
104
|
+
target: join(agentsDir, 'ba.yaml'),
|
103
105
|
name: 'Grubtech Integration BA',
|
104
106
|
},
|
105
107
|
];
|
106
|
-
// Copy each agent persona file to
|
108
|
+
// Copy each agent persona file to project's .claude/grubtech/agents directory
|
107
109
|
for (const agent of agents) {
|
108
110
|
try {
|
109
111
|
// Verify source file exists in the package
|
@@ -117,7 +119,7 @@ async function installAgentPersonas() {
|
|
117
119
|
catch {
|
118
120
|
// Target doesn't exist, proceed with copy
|
119
121
|
}
|
120
|
-
// Copy the YAML file to
|
122
|
+
// Copy the YAML file to project's agents directory
|
121
123
|
await fs.copyFile(agent.source, agent.target);
|
122
124
|
console.log(` ✓ Installed ${agent.name}`);
|
123
125
|
}
|
@@ -125,7 +127,8 @@ async function installAgentPersonas() {
|
|
125
127
|
console.warn(` ⚠️ Failed to install ${agent.name}: ${error.message}`);
|
126
128
|
}
|
127
129
|
}
|
128
|
-
console.log(
|
130
|
+
console.log(`\n✓ Agent personas installed to ${join('.claude', 'grubtech', 'agents')}`);
|
131
|
+
console.log(' Access them as subagents in your project');
|
129
132
|
}
|
130
133
|
catch (error) {
|
131
134
|
console.error('\n❌ Failed to install agent personas');
|
@@ -151,14 +154,4 @@ function getClaudeConfigPath() {
|
|
151
154
|
return join(home, '.config', 'claude');
|
152
155
|
}
|
153
156
|
}
|
154
|
-
/**
|
155
|
-
* Gets the Claude Code agents directory path
|
156
|
-
*
|
157
|
-
* Agent personas are stored in ~/.claude/agents/ on all platforms
|
158
|
-
* This is where Claude Code looks for custom agent configurations
|
159
|
-
*/
|
160
|
-
function getClaudeAgentsPath() {
|
161
|
-
const home = homedir();
|
162
|
-
return join(home, '.claude', 'agents');
|
163
|
-
}
|
164
157
|
//# sourceMappingURL=init-command.js.map
|
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;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAE/D,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,mEAAmE;IACnE,+EAA+E;IAC/E,qGAAqG;IACrG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,8FAA8F,CAAC;QAClH,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;IAC1D,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,iEAAiE;QACjE,OAAO,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QAE5E,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAEzD,IAAI,SAAS,GAAQ,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC3D,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;YAC1B,SAAS,CAAC,UAAU,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,SAAS,CAAC,UAAU,CAAC,8BAA8B,CAAC,GAAG;YACrD,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,2CAA2C,CAAC;SAC1D,CAAC;QAEF,MAAM,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAClD,CAAC;IAED,
|
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": "
|
3
|
+
"version": "3.0.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",
|