# GuruRMM Development Principles **Created:** 2026-04-29 **Authority:** Mike Swanson (owner) **Location:** Documented in `projects/msp-tools/guru-rmm/docs/DESIGN.md` --- ## Holistic Feature Development (MANDATORY) When planning or implementing ANY GuruRMM feature, the complete stack must be considered and built: ### Required Components for Every Feature: 1. **Backend/Agent Logic** — core capability implementation 2. **API Endpoints** — control and monitoring interfaces 3. **UI/UX** — dashboard configuration, status display, management interface 4. **Documentation** — user guides and operational docs 5. **Scalability Design** — architected for future expansion ### Example: Network Discovery Node A complete implementation includes: - Agent-side scanning capability (ICMP, ARP, SNMP) - Server-side data storage and API endpoints - Dashboard UI for: - Designating which agent is the discovery node - Viewing discovered devices - Configuring scan schedules - Setting IP ranges and exclusions - Status indicators (discovery progress, last scan time) - Future-proof data model supporting multiple discovery methods ### Why This Matters: - **Completeness:** Features without UI are unusable by non-API-expert admins - **User Experience:** Configuration should be intuitive, not require documentation diving - **Consistency:** Every feature should feel native to the product - **No Dead Ends:** Design decisions shouldn't block obvious next steps **Features shipped without their UI/configuration interfaces are incomplete and will be rejected.** --- ## AI-Optional Operation GuruRMM must be fully functional without requiring AI agents (Claude, autonomous analysis tools) to operate. ### Core Requirements: - All functionality accessible via traditional dashboard/API - Configuration and management through standard interfaces - Usable by MSP techs with zero AI/ML knowledge - Deterministic, reliable operation for production environments ### AI Features Are Enhancements: - **Agentic analysis** (AI-powered log analysis, anomaly detection, troubleshooting) — planned enhancement - **Agentic command routing** (intelligent decision-making about command execution) — planned enhancement - Users choose whether to enable AI features - Product does not mandate AI usage ### Why This Matters: - Real MSPs need deterministic, reliable systems - AI features can break, hallucinate, or be unavailable - Core operations cannot depend on AI availability - Production stability over experimental features --- ## Application to Development ### When Adding Features: 1. ✅ Design the complete stack before starting implementation 2. ✅ Include UI mockups in feature planning 3. ✅ Consider future expansion in data model design 4. ✅ Ensure feature works via dashboard without API knowledge 5. ✅ Never assume AI availability for core functionality ### When Reviewing Features: 1. ❌ Reject backend-only implementations without UI 2. ❌ Reject features that require API expertise to configure 3. ❌ Reject designs that paint into architectural corners 4. ❌ Reject features that require AI to function ### Planning Questions: - "How does an admin configure this in the dashboard?" - "What does the status display look like?" - "How do we expand this in v2/v3?" - "Does this work if AI services are unavailable?" --- **These principles apply to ALL features — past, present, and future.**