claude-buddy
Version:
Your friendly AI development companion for Claude Code - supercharge Claude Code with intelligent workflows and safety features
478 lines (352 loc) • 10.8 kB
Markdown
# Installation Guide
This guide covers the installation and setup of Claude Buddy with its intelligent persona system.
## Prerequisites
Before installing Claude Buddy, ensure you have:
### Required Software
- **Node.js 18+**: [Download from nodejs.org](https://nodejs.org/)
- **UV (Astral Python Package Manager)**: [Install from astral.sh](https://astral.sh/uv)
- **Git**: [Download from git-scm.com](https://git-scm.com/)
- **Claude Code**: [Install from claude.ai/code](https://claude.ai/code)
### System Compatibility
- macOS 10.15+
- Linux (Ubuntu 18.04+, CentOS 7+)
- Windows 10+ (with WSL recommended)
## Installation Methods
### Method 1: Global Installation (Recommended)
Install Claude Buddy globally for use across all projects:
```bash
# Install via npm
npm install -g claude-buddy
# Run installation
claude-buddy --global
```
This installs configuration in `~/.claude/` and makes it available to all projects.
### Method 2: Project-Specific Installation
Install for a specific project only:
```bash
# Navigate to your project
cd your-project
# Install locally
npx claude-buddy --project
```
This creates a `.claude/` directory in your project with project-specific configuration.
### Method 3: Interactive Installation
Use the interactive installer to choose your preferred mode:
```bash
npx claude-buddy
```
The installer will prompt you to select:
- Installation mode (global vs project)
- Feature preferences
- Configuration options
### Method 4: Install from Local Source
If you're installing from source code or the package isn't published to NPM yet:
#### Option A: Direct Installation from Local Path
```bash
# Navigate to the claude-buddy directory
cd /path/to/claude-buddy
# Install globally from local source
npm install -g .
# Run installation
claude-buddy --global
```
#### Option B: Install Dependencies and Link
```bash
# Navigate to the claude-buddy directory
cd /path/to/claude-buddy
# Install package dependencies
npm install
# Create global symlink
npm link
# Run installation
claude-buddy --global
```
#### Option C: Run Directly with Node
```bash
# Navigate to the claude-buddy directory
cd /path/to/claude-buddy
# Run installer directly
node install.js --global
```
**Note**: Replace `/path/to/claude-buddy` with the actual path to your local clone of the repository.
### Method 5: Smart Backup Options (Project Mode Only)
When installing in project mode, you can control the backup behavior:
#### Smart Backup Enabled (Default)
```bash
claude-buddy --project
# or explicitly
claude-buddy --project --smart-backup true
```
- Automatically skips backup if project is in a git repository
- Reduces installation time and disk usage
- Git already provides version control for `.claude` folder
#### Smart Backup Disabled (Force Backup)
```bash
claude-buddy --project --smart-backup false
```
- Always creates backup regardless of git status
- Useful for projects not in git or when extra safety is desired
- Creates timestamped backup folder
## Installation Process
The installer performs these steps:
### 1. System Requirements Check
- Verifies Node.js, Python, and Git versions
- Checks for Claude Code installation
- Validates system compatibility
### 2. Directory Structure Creation
```
~/.claude/ (or .claude/)
├── commands/
├── hooks/
├── buddy-backup-[timestamp]/
└── CLAUDE_BUDDY.md
```
### 3. Configuration Backup
- Backs up existing Claude Code configuration
- Creates timestamped backup directory
- Preserves custom settings
### 4. Component Installation
- **Slash Commands**: AI-powered development commands with persona intelligence
- **Persona System**: 12 domain expert specialists with auto-activation
- **Safety Hooks**: File protection and command validation
- **Configuration**: Default settings and persona preferences
### 5. Integration Setup
- Updates `hooks.json` for Claude Code integration
- Configures `buddy-config.json` with persona and safety defaults
- Sets up persona system with auto-activation intelligence
- Initializes learning engine for adaptive behavior
- Sets up logging and audit trails
## Verification
After installation, verify everything works:
### 1. Restart Claude Code
Close and restart Claude Code to load new configuration.
### 2. Test Slash Commands with Persona Intelligence
```
/buddy:commit
```
Should show the commit assistant with automatic scribe persona activation.
```
/buddy:analyze
```
Should demonstrate intelligent persona selection based on project context.
### 3. Test Safety Hooks
Try creating a file named `.env` - should be blocked by file protection.
### 4. Check Configuration
Verify files exist:
- `~/.claude/buddy-config.json` (includes persona settings)
- `~/.claude/hooks.json`
- `~/.claude/commands/buddy/commit.md`
- `~/.claude/commands/buddy/analyze.md` (new persona-aware command)
- Persona configuration files in the system
## Post-Installation Setup
### Persona System Verification
Test the intelligent persona system:
```bash
# Test auto-activation with security context
/buddy:analyze --focus security
# Test manual persona control
/buddy:improve --persona-refactorer --with-performance
# Test collaborative intelligence
/buddy:architect --comprehensive
```
### Optional Formatters
Install code formatters for auto-formatting features:
```bash
# Python formatting
pip install black
# JavaScript/TypeScript formatting
npm install -g prettier
# Go formatting (if applicable)
# gofmt is included with Go installation
```
### Git Configuration
Ensure Git is properly configured:
```bash
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
```
### Claude Code Authentication
Verify Claude Code is authenticated:
```bash
claude --version
```
### Persona System Configuration
Customize persona behavior in `~/.claude/buddy-config.json`:
```json
{
"personas": {
"enabled": true,
"auto_activation": {
"enabled": true,
"confidence_threshold": 0.7,
"max_active_personas": 3
},
"preferences": {
"preferred_personas": ["security", "performance"],
"domain_preferences": {
"security": "always",
"performance": "auto"
}
}
}
}
```
**Configuration Options:**
- `confidence_threshold`: Minimum confidence for auto-activation (0.0-1.0)
- `max_active_personas`: Maximum personas active simultaneously
- `preferred_personas`: Always consider these personas
- `domain_preferences`: Control activation behavior per domain
## Troubleshooting
### Common Issues
#### "404 Not Found" when installing from NPM
```bash
# Error: npm error 404 Not Found - GET https://registry.npmjs.org/claude-buddy
# This means the package isn't published to NPM yet
# Solution: Install from local source instead
cd /path/to/claude-buddy
npm install -g .
```
#### "Command not found: claude-buddy"
```bash
# Check npm global path
npm list -g --depth=0
# Reinstall globally (if published)
npm install -g claude-buddy
# Or install from source
cd /path/to/claude-buddy && npm install -g .
```
#### "Permission denied" during installation
```bash
# Use sudo (macOS/Linux)
sudo npm install -g claude-buddy
# Or fix npm permissions
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH
```
#### "UV not found"
```bash
# macOS with Homebrew
brew install uv
# Linux/Windows with curl
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows with PowerShell
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# With pip
pip install uv
```
#### Claude Code not detected
```bash
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Verify installation
claude --version
```
### Hook Installation Issues
If hooks aren't working:
1. **Check permissions**:
```bash
chmod +x ~/.claude/hooks/*.py
```
2. **Verify Python path**:
```bash
which uv
```
3. **Test hook manually**:
```bash
echo '{"tool_name":"Write","tool_input":{"file_path":".env"}}' | uv run --no-project python ~/.claude/hooks/file-guard.py
```
### Configuration Issues
If configuration seems corrupted:
1. **Reset to defaults**:
```bash
claude-buddy --global --force
```
2. **Manual cleanup**:
```bash
rm -rf ~/.claude/buddy-*
claude-buddy --global
```
3. **Check logs**:
```bash
cat ~/.claude-buddy/protection.log
```
### Persona System Issues
If personas aren't working correctly:
1. **Test persona activation**:
```bash
/buddy:analyze --persona-security --debug
```
2. **Check persona configuration**:
```bash
cat ~/.claude/buddy-config.json | grep -A 10 "personas"
```
3. **Verify persona files**:
```bash
ls -la ~/.claude/commands/buddy/
```
4. **Reset persona learning**:
```bash
rm -f ~/.claude-buddy/persona-memory.json
```
## Uninstallation
To remove Claude Buddy:
### Remove Package
```bash
npm uninstall -g claude-buddy
```
### Clean Configuration
```bash
# Remove buddy-specific files
rm ~/.claude/buddy-config.json
rm -rf ~/.claude/hooks/
rm -rf ~/.claude/commands/
# Remove persona system data
rm -rf ~/.claude-buddy/persona-*
rm -rf ~/.claude-buddy/learning-*
# Restore from backup if needed
cp -r ~/.claude/buddy-backup-[latest]/* ~/.claude/
```
### Reset Hooks
Edit `~/.claude/hooks.json` and remove Claude Buddy entries.
## Advanced Installation
### Custom Installation Directory
For advanced users who want to customize the installation:
```bash
# Set custom Claude directory
export CLAUDE_CONFIG_DIR="/custom/path"
claude-buddy --global
```
### Development Installation
For contributing to Claude Buddy:
```bash
# Clone repository
git clone https://github.com/claude-buddy/claude-buddy.git
cd claude-buddy
# Install dependencies
npm install
# Link for development
npm link
# Install in development mode
claude-buddy --dev
```
### Enterprise Installation
For enterprise deployments with shared configurations:
```bash
# Install with enterprise profile
claude-buddy --global --enterprise
# Use shared configuration
export CLAUDE_BUDDY_CONFIG="/shared/config.json"
```
## Next Steps
After successful installation:
1. **Read the [Usage Guide](usage.md)** for detailed command and persona documentation
2. **Customize persona preferences** in `buddy-config.json`
3. **Experiment with persona system** using different commands and contexts
4. **Join our community** for support and updates
5. **Try the example workflows** with persona intelligence
## Support
If you encounter issues:
- Check the [Troubleshooting Guide](troubleshooting.md)
- Search [GitHub Issues](https://github.com/claude-buddy/claude-buddy/issues)
- Join our [Discord Community](https://discord.gg/claude-buddy)
- Email support: support@claude-buddy.dev