UNPKG

claude-buddy

Version:

Your friendly AI development companion for Claude Code - supercharge Claude Code with intelligent workflows and safety features

272 lines (217 loc) 10.1 kB
# Claude Buddy Persona System A sophisticated persona system that brings domain expertise and intelligent context awareness to Claude Buddy through specialized AI behavior patterns. ## Overview The persona system automatically activates domain-specific expertise based on context analysis, providing: - **12 Specialized Personas**: Technical, process, and knowledge experts - **Intelligent Auto-Activation**: Multi-factor context analysis - **Manual Override Control**: Flag-based persona selection - **Collaborative Intelligence**: Multi-persona coordination - **Adaptive Learning**: Continuous improvement through usage patterns ## Architecture ### Core Components ``` src/personas/ ├── config/ │ └── personas-config.json # Persona definitions and activation rules ├── specialists/ # Individual persona implementations │ ├── architect.md # Systems design specialist │ ├── frontend.md # UI/UX and accessibility expert │ ├── backend.md # Server-side and reliability engineer │ ├── security.md # Threat modeling and security expert │ ├── performance.md # Optimization specialist │ ├── analyzer.md # Root cause analysis expert │ ├── qa.md # Quality assurance specialist │ ├── refactorer.md # Code quality and technical debt manager │ ├── devops.md # Infrastructure and deployment expert │ ├── mentor.md # Knowledge transfer specialist │ ├── scribe.md # Professional writer and documentarian │ └── po.md # Product Owner and requirement specialist ├── auto-activation.js # Context detection and scoring engine ├── persona-manager.js # Central coordination and selection logic ├── flag-parser.js # Manual override flag processing ├── learning-engine.js # Adaptive learning and memory system └── index.js # Main system interface ``` ## Persona Specialists ### Technical Specialists - **🏗️ Architect**: Systems design, scalability, long-term architecture - **🎨 Frontend**: UI/UX, accessibility, responsive design, performance - **⚙️ Backend**: APIs, databases, server-side reliability, data integrity - **🛡️ Security**: Threat modeling, vulnerability assessment, compliance - **⚡ Performance**: Optimization, bottleneck elimination, efficiency ### Process & Quality Experts - **🔍 Analyzer**: Root cause analysis, systematic investigation, evidence-based reasoning - **🧪 QA**: Quality assurance, testing strategies, quality gates - **🔧 Refactorer**: Code quality, technical debt management, maintainability - **🚀 DevOps**: Infrastructure, deployment, observability, automation - **📋 PO**: Product requirements, user stories, strategic planning ### Knowledge & Communication - **👨‍🏫 Mentor**: Knowledge transfer, education, skill development - **✍️ Scribe**: Professional writing, documentation, technical communication ## Auto-Activation Intelligence ### Multi-Factor Scoring The system uses sophisticated context analysis with weighted scoring: - **Keyword Matching (30%)**: Domain-specific terminology detection - **Context Analysis (40%)**: Project structure, command type, complexity assessment - **File Patterns (20%)**: Technology stack and component analysis - **User History (10%)**: Learning from previous successful activations ### Activation Examples ```javascript // High confidence triggers "security vulnerability" → Security Persona (95%) "React component design" → Frontend Persona (90%) "API performance optimization" → Backend + Performance (85% each) "system architecture review" → Architect + relevant domain experts ``` ## Manual Override System ### Flag Syntax ```bash # Direct persona activation /buddy:analyze --persona-security --persona-qa # Collaborative activation /buddy:improve --persona-refactorer --with-performance --with-security # Focus-driven activation /buddy:review --focus security,performance,quality # Comprehensive activation /buddy:architect --comprehensive --learn ``` ### Available Flags - `--persona-{name}`: Activate specific persona - `--with-{name}`: Include as supporting expert - `--focus {areas}`: Focus on specific domains (comma-separated) - `--comprehensive`: Activate all relevant personas - `--single-persona`: Use single persona leadership - `--no-collaboration`: Disable persona collaboration - `--learn`: Enable adaptive learning ## Integration Examples ### Enhanced Commands #### `/buddy:analyze` - Multi-Dimensional Analysis ```markdown Auto-activates: analyzer + domain-specific personas Manual control: --persona-security, --focus performance,quality Collaboration: Security + Backend for API analysis ``` #### `/buddy:improve` - Systematic Enhancement ```markdown Auto-activates: refactorer + performance + security (context-dependent) Manual control: --persona-refactorer, --comprehensive Collaboration: Refactorer leads, others validate improvements ``` #### `/buddy:architect` - System Design ```markdown Primary: architect persona leads all architectural decisions Supporting: performance, security, domain experts as needed Manual control: --with-performance, --with-security ``` ### Usage Examples ```bash # Security-focused code review /buddy:review --persona-security --persona-qa --focus security # Performance optimization /buddy:improve --persona-performance --with-architect --focus performance # Comprehensive system analysis /buddy:analyze --comprehensive --learn # Architecture design with security focus /buddy:architect --with-security --with-performance --focus scalability,security # Professional commit with security check /buddy:commit --persona-scribe --persona-security ``` ## Learning & Adaptation ### Context Memory - **Session Memory**: Current session interactions and patterns - **Persistent Memory**: Long-term successful patterns and user preferences - **Project Patterns**: Project-specific persona activation patterns - **Feedback Integration**: Continuous improvement from user feedback ### Adaptive Features - **Pattern Recognition**: Learns from successful persona combinations - **Context Adaptation**: Adjusts activation based on project characteristics - **User Preference Learning**: Remembers user's preferred personas and workflows - **Performance Optimization**: Improves activation accuracy over time ## Configuration ### User Preferences (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" } } } } ``` ### Advanced Configuration - **Confidence Thresholds**: Customize activation sensitivity - **Collaboration Patterns**: Define preferred persona combinations - **Learning Settings**: Control adaptive behavior and memory retention - **Custom Rules**: Project-specific activation overrides ## API Usage ```javascript const { personaSystem } = require('./src/personas'); // Initialize system await personaSystem.initialize(); // Process user input with context const result = await personaSystem.processInput( "/buddy:analyze --persona-security", { files: ["auth.js", "api.js"], projectType: "javascript", command: "analyze" } ); // Get generated prompt for Claude const prompt = result.prompt.systemPrompt; // Provide feedback for learning personaSystem.provideFeedback({ personas: ["security", "analyzer"], rating: 5, comments: "Excellent security analysis" }); ``` ## Benefits ### For Users - **Expert Guidance**: Domain-specific expertise automatically applied - **Contextual Intelligence**: Responses tailored to specific development context - **Learning System**: Improves over time based on usage patterns - **Flexible Control**: Balance between automation and manual control ### For Development Teams - **Consistent Quality**: Expert-level analysis across all team members - **Knowledge Sharing**: Best practices embedded in persona responses - **Efficiency Gains**: Faster problem-solving through specialized expertise - **Quality Assurance**: Built-in validation through persona collaboration ### Technical Advantages - **Scalable Architecture**: Easy to add new personas and capabilities - **Performance Optimized**: Efficient context detection and persona selection - **Memory Efficient**: Smart caching and learning data management - **Extensible Design**: Plugin architecture for custom personas ## Future Enhancements ### Planned Features - **Custom Personas**: User-defined domain experts - **Team Personas**: Organization-specific expertise patterns - **Integration Plugins**: IDE and tool integrations - **Advanced Analytics**: Detailed usage insights and optimization suggestions ### Research Areas - **NLP Enhancement**: Improved context understanding through advanced NLP - **Predictive Activation**: Anticipate persona needs before explicit triggers - **Cross-Session Learning**: Long-term pattern recognition across sessions - **Collaborative AI**: Multi-agent coordination improvements ## Contributing The persona system is designed for extensibility. To add new personas: 1. Create persona definition in `specialists/{name}.md` 2. Add configuration in `personas-config.json` 3. Update auto-activation patterns and keywords 4. Test integration with existing collaboration patterns ## Support For questions, issues, or feature requests related to the persona system: - Check the command help: `/buddy:help personas` - Review system analytics: `personaSystem.getAnalytics()` - Enable learning mode for better adaptation: `--learn` flag - Provide feedback to improve activation accuracy