initrepo-claude-agent
Version:
Autonomous AI agent for Claude Code - Build InitRepo projects with minimal human intervention
84 lines (72 loc) ⢠2.75 kB
JavaScript
/**
* Post-installation script for InitRepo Claude Agent
* Sets up the agent in the user's environment
*/
import fs from 'fs';
import path from 'path';
import os from 'os';
console.log('š¤ InitRepo Claude Agent - Post-Installation Setup');
console.log('====================================================');
try {
// Check Node.js version
const nodeVersion = process.version;
const majorVersion = parseInt(nodeVersion.slice(1).split('.')[0]);
if (majorVersion < 16) {
console.warn('ā ļø Warning: Node.js 16+ is recommended. Current version:', nodeVersion);
} else {
console.log('ā
Node.js version check passed:', nodeVersion);
}
// Create Claude Code settings directory if it doesn't exist
const claudeDir = path.join(process.cwd(), '.claude');
if (!fs.existsSync(claudeDir)) {
fs.mkdirSync(claudeDir, { recursive: true });
console.log('ā
Created .claude directory');
}
// Create Claude Code settings for the agent
const claudeSettings = {
"permissions": {
"allow": [
"Bash(find:*)",
"Bash(node:*)",
"Bash(npm:*)",
"Bash(npx:*)",
"Bash(echo:*)",
"Bash(timeout:*)",
"Read(./**)",
"Write(./**)",
"Edit(./**)",
"Glob(./**)",
"Grep(./**)",
"mcp__initrepo__*"
],
"deny": [
"Read(/mnt/c/initrepo-mcp/**)",
"Write(/mnt/c/initrepo-mcp/**)"
],
"ask": []
},
"auto_run_commands": false
};
const settingsPath = path.join(claudeDir, 'settings.local.json');
if (!fs.existsSync(settingsPath)) {
fs.writeFileSync(settingsPath, JSON.stringify(claudeSettings, null, 2));
console.log('ā
Created Claude Code settings');
}
console.log('\nš Installation completed successfully!');
console.log('\nš Quick Start:');
console.log(' ⢠Run the agent: initrepo-claude');
console.log(' ⢠Or use: node claude-project-builder.js');
console.log(' ⢠Help: initrepo-claude --help');
console.log('\nš Documentation:');
console.log(' ⢠CLAUDE.md - Claude Code integration guide');
console.log(' ⢠README.md - Full documentation');
console.log(' ⢠CLAUDE_AGENT_USAGE_GUIDE.md - Usage instructions');
console.log('\nā ļø Important Notes:');
console.log(' ⢠This agent requires an InitRepo MCP server to function');
console.log(' ⢠Current implementation includes mock responses for demonstration');
console.log(' ⢠See documentation for MCP server setup instructions');
} catch (error) {
console.error('ā Post-installation failed:', error.message);
process.exit(1);
}