UNPKG

mirror-magi-meta-agent

Version:

AI-powered development planning and execution system with Supabase integration

599 lines (504 loc) 12.9 kB
# 🎯 Mirror Magi Meta-Agent Customization Guide *A quick conversation to perfectly configure your meta-agent* This guide walks you through 10 essential questions to customize the Mirror Magi Meta-Agent for your specific project. Each question builds on the previous ones to create a comprehensive, project-specific configuration. ## 🚀 Before You Start Make sure you've completed the basic setup: ```bash cd meta-agent npm run setup ``` Now let's customize it for YOUR project! --- ## 📋 The 10 Essential Questions ### Question 1: **What type of application are you building?** **Choose your primary application type:** - [ ] **Web Application** (Frontend-focused) - [ ] **API/Backend Service** (Backend-focused) - [ ] **Full-Stack Web App** (Frontend + Backend) - [ ] **Mobile App** (React Native, Flutter, etc.) - [ ] **Desktop Application** (Electron, Tauri, etc.) - [ ] **CLI Tool/Library** (Command-line or package) - [ ] **Data/Analytics Platform** (Data processing, ML) - [ ] **E-commerce Platform** (Online store) - [ ] **Content Management System** (Blogs, CMS) - [ ] **SaaS Platform** (Software as a Service) **Configuration Impact:** This determines the primary domains and default task types. **Example Answers:** ```json // E-commerce Platform "domains": ["product_catalog", "shopping_cart", "payments", "user_accounts", "inventory_management"] // SaaS Platform "domains": ["user_management", "subscription_billing", "data_visualization", "api_integration", "reporting"] ``` --- ### Question 2: **What's your primary tech stack?** **Frontend (if applicable):** - [ ] React + TypeScript - [ ] React + JavaScript - [ ] Vue.js + TypeScript - [ ] Vue.js + JavaScript - [ ] Angular + TypeScript - [ ] Next.js + TypeScript - [ ] Svelte/SvelteKit - [ ] Vanilla HTML/CSS/JS - [ ] Other: ___________ **Backend (if applicable):** - [ ] Node.js + Express - [ ] Node.js + Fastify - [ ] Node.js + NestJS - [ ] Python + FastAPI - [ ] Python + Django - [ ] Python + Flask - [ ] Go + Gin/Fiber - [ ] Java + Spring Boot - [ ] C# + .NET - [ ] PHP + Laravel - [ ] Ruby + Rails - [ ] Other: ___________ **Configuration Example:** ```json { "tech_stack": { "frontend": { "framework": "React 18.x", "language": "TypeScript 5.x", "build_tool": "Vite", "styling": "Tailwind CSS" }, "backend": { "platform": "Node.js", "framework": "Express", "language": "TypeScript" } } } ``` --- ### Question 3: **What database and data storage do you use?** **Primary Database:** - [ ] PostgreSQL - [ ] MySQL - [ ] MongoDB - [ ] SQLite - [ ] Redis - [ ] Firebase Firestore - [ ] Supabase - [ ] PlanetScale - [ ] No database (static/JAMstack) - [ ] Other: ___________ **ORM/Database Tools:** - [ ] Prisma - [ ] TypeORM - [ ] Mongoose - [ ] Sequelize - [ ] Drizzle - [ ] Raw SQL - [ ] Other: ___________ **File Storage:** - [ ] Local filesystem - [ ] AWS S3 - [ ] Cloudinary - [ ] Supabase Storage - [ ] Firebase Storage - [ ] Other: ___________ **Configuration Example:** ```json { "tech_stack": { "backend": { "database": "PostgreSQL", "orm": "Prisma", "storage": "AWS S3" } } } ``` --- ### Question 4: **How do you handle authentication and user management?** **Authentication Strategy:** - [ ] JWT tokens - [ ] Session-based auth - [ ] OAuth (Google, GitHub, etc.) - [ ] Magic links/Email - [ ] SMS verification - [ ] No authentication needed - [ ] Custom auth solution **Authentication Provider:** - [ ] Custom implementation - [ ] Auth0 - [ ] Firebase Auth - [ ] Supabase Auth - [ ] NextAuth.js - [ ] Clerk - [ ] Other: ___________ **User Roles/Permissions:** - [ ] Simple user/admin - [ ] Role-based permissions - [ ] Complex permission system - [ ] No user roles needed **Configuration Example:** ```json { "tech_stack": { "backend": { "auth": "JWT with refresh tokens", "auth_provider": "Custom implementation" } }, "domains": ["authentication", "user_management", "authorization"] } ``` --- ### Question 5: **What testing strategy do you use?** **Unit Testing:** - [ ] Jest - [ ] Vitest - [ ] Mocha + Chai - [ ] pytest (Python) - [ ] PHPUnit (PHP) - [ ] No unit tests yet - [ ] Other: ___________ **Integration/E2E Testing:** - [ ] Playwright - [ ] Cypress - [ ] Puppeteer - [ ] Selenium - [ ] Testing Library - [ ] No E2E tests yet - [ ] Other: ___________ **Testing Goals:** - [ ] High test coverage (80%+) - [ ] Critical path testing only - [ ] TDD/Test-first approach - [ ] Testing after development - [ ] Minimal testing for now **Configuration Example:** ```json { "tech_stack": { "testing": { "unit": "Jest", "e2e": "Playwright", "testing_library": "@testing-library/react" } }, "code_standards": { "testing": { "unit_test_coverage": 85, "e2e_critical_paths": "required" } } } ``` --- ### Question 6: **What are your main business domains/features?** **Think about the core functionality of your app. What are the main "areas" or "modules"?** **Example Domains by Project Type:** **E-commerce:** - [ ] Product catalog - [ ] Shopping cart - [ ] Payment processing - [ ] Order management - [ ] Inventory tracking - [ ] User reviews - [ ] Shipping/logistics **SaaS Platform:** - [ ] User onboarding - [ ] Subscription management - [ ] Billing/payments - [ ] Data visualization - [ ] Reporting/analytics - [ ] API integrations - [ ] Team collaboration **Content Platform:** - [ ] Content creation - [ ] Media management - [ ] Publishing workflow - [ ] User comments - [ ] SEO optimization - [ ] Analytics tracking **Social Platform:** - [ ] User profiles - [ ] Social interactions - [ ] Content sharing - [ ] Messaging/chat - [ ] Notifications - [ ] Moderation tools **Your Custom Domains:** 1. ________________ 2. ________________ 3. ________________ 4. ________________ 5. ________________ **Configuration Example:** ```json { "project": { "domains": [ "user_management", "content_creation", "social_features", "notification_system", "analytics_tracking" ] } } ``` --- ### Question 7: **What external APIs and services do you integrate with?** **Common Integrations:** - [ ] Payment processing (Stripe, PayPal) - [ ] Email services (SendGrid, Mailgun) - [ ] SMS services (Twilio, Vonage) - [ ] Cloud storage (AWS, Google Cloud) - [ ] AI/ML services (OpenAI, Anthropic) - [ ] Maps (Google Maps, Mapbox) - [ ] Analytics (Google Analytics, Mixpanel) - [ ] Social media APIs - [ ] CRM systems (Salesforce, HubSpot) - [ ] Other: ___________ **Your Specific Integrations:** 1. ________________ 2. ________________ 3. ________________ **Configuration Example:** ```json { "tech_stack": { "external_apis": { "payments": "Stripe", "email": "SendGrid", "ai": "OpenAI GPT-4", "maps": "Google Maps API" } }, "domains": ["payment_processing", "email_automation", "ai_features", "geolocation"] } ``` --- ### Question 8: **What's your development workflow and standards?** **Code Style/Linting:** - [ ] ESLint + Prettier - [ ] Biome - [ ] Standard JS - [ ] Custom linting rules - [ ] Minimal/no linting **Git Workflow:** - [ ] Git Flow (feature/develop/main) - [ ] GitHub Flow (feature/main) - [ ] Simple main branch - [ ] Custom workflow **Commit Convention:** - [ ] Conventional Commits - [ ] Custom commit format - [ ] No specific format **Code Review Process:** - [ ] Required PR reviews - [ ] Optional reviews - [ ] Solo development **Deployment:** - [ ] Vercel - [ ] Netlify - [ ] AWS - [ ] Heroku - [ ] Docker containers - [ ] Manual deployment - [ ] Other: ___________ **Configuration Example:** ```json { "development": { "git_strategy": { "main_branch": "main", "feature_prefix": "feature/", "commit_convention": "conventional-commits" } }, "code_standards": { "linting": "ESLint + Prettier", "code_review": "required" } } ``` --- ### Question 9: **What's your project's complexity and scale?** **Team Size:** - [ ] Solo developer - [ ] Small team (2-4 people) - [ ] Medium team (5-10 people) - [ ] Large team (10+ people) **Project Stage:** - [ ] Just starting/prototype - [ ] Early development - [ ] MVP/beta stage - [ ] Production with users - [ ] Mature/scaling product **Code Complexity Preference:** - [ ] Simple, straightforward code - [ ] Moderate abstractions - [ ] Advanced patterns/architectures - [ ] Enterprise-level complexity **Performance Requirements:** - [ ] Basic performance is fine - [ ] Good performance important - [ ] High performance critical - [ ] Extreme performance needed **Configuration Impact:** ```json { "code_standards": { "complexity_preference": "moderate_abstractions", "performance_priority": "good_performance", "team_collaboration": "small_team_patterns" } } ``` --- ### Question 10: **What specific coding patterns and preferences do you have?** **Component/Module Patterns:** - [ ] Functional components only - [ ] Class-based components - [ ] Custom hooks for logic - [ ] Higher-order components - [ ] Render props pattern **State Management:** - [ ] Built-in state (useState, etc.) - [ ] Context API - [ ] Redux/Redux Toolkit - [ ] Zustand - [ ] Jotai/Recoil - [ ] MobX **Error Handling:** - [ ] Try-catch everywhere - [ ] Error boundaries (React) - [ ] Result/Either patterns - [ ] Centralized error handling - [ ] Minimal error handling **Code Organization:** - [ ] Feature-based folders - [ ] Type-based folders (components/, utils/) - [ ] Domain-driven design - [ ] Monorepo structure - [ ] Simple flat structure **Configuration Example:** ```json { "code_standards": { "frontend": { "component_type": "functional_only", "state_management": "zustand", "error_handling": "error_boundaries" }, "architecture": { "file_structure": "feature_based", "pattern": "domain_driven" } } } ``` --- ## 🔧 Applying Your Answers ### Step 1: Update Project Configuration Based on your answers, update `config/project-config.json`: ```bash # Use your answers to fill in: vim config/project-config.json ``` ### Step 2: Customize Agent Persona Update `config/agent-persona.md` with your specific: - Project description - Tech stack details - Domain knowledge - Coding patterns - Success criteria ### Step 3: Test Your Configuration ```bash npm test ``` ### Step 4: Validate Everything ```bash npm run validate ``` ### Step 5: Generate Your First Command Try describing a real task for your project: ``` "Create a new React component for user profile editing with form validation" "Add API endpoint for processing payments with Stripe integration" "Implement real-time notifications using WebSockets" ``` --- ## 🎯 Quick Configuration Templates ### Template A: React + TypeScript SPA ```json { "project": { "name": "My React App", "description": "A modern React application with TypeScript", "domains": ["user_interface", "api_integration", "state_management"] }, "tech_stack": { "frontend": { "framework": "React 18.x", "language": "TypeScript 5.x", "build_tool": "Vite", "styling": "Tailwind CSS", "state_management": "Zustand" } } } ``` ### Template B: Full-Stack Next.js ```json { "project": { "name": "My Next.js App", "description": "Full-stack Next.js application", "domains": ["frontend", "backend", "database", "authentication"] }, "tech_stack": { "frontend": { "framework": "Next.js 14.x", "language": "TypeScript" }, "backend": { "database": "PostgreSQL", "orm": "Prisma", "auth": "NextAuth.js" } } } ``` ### Template C: Node.js API ```json { "project": { "name": "My API Service", "description": "RESTful API with Node.js and Express", "domains": ["api_design", "database", "authentication", "external_apis"] }, "tech_stack": { "backend": { "platform": "Node.js", "framework": "Express", "database": "PostgreSQL", "orm": "Prisma" } } } ``` --- ## 🚀 Ready to Code! Once you've answered these questions and updated your configuration: 1. **Your meta-agent knows your project** - tech stack, domains, patterns 2. **Commands will be project-specific** - following your standards 3. **Validation matches your setup** - using your testing tools 4. **Time estimates are calibrated** - based on your complexity Start describing your development tasks and let the meta-agent generate perfectly customized Claude Code Max commands for your project! --- ## 🔄 Iteration and Updates As your project evolves: - **Add new domains** when you build new features - **Update tech stack** when you adopt new tools - **Refine coding standards** as patterns emerge - **Customize templates** in `config/command-templates.json` The meta-agent grows with your project! 🌱