Documented two fundamental GuruRMM development principles: 1. Holistic Feature Development (MANDATORY): - Every feature requires complete stack: backend, API, UI/UX, docs - Features without management interfaces are incomplete - Design for scalability and future expansion - Example workflows included 2. AI-Optional Operation: - Product must work without AI agents (Claude, autonomous tools) - AI features are enhancements, not requirements - Core operations remain deterministic and reliable Principles documented in guru-rmm/docs/DESIGN.md and now in memory for cross-session reference. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
3.4 KiB
3.4 KiB
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:
- Backend/Agent Logic — core capability implementation
- API Endpoints — control and monitoring interfaces
- UI/UX — dashboard configuration, status display, management interface
- Documentation — user guides and operational docs
- 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:
- ✅ Design the complete stack before starting implementation
- ✅ Include UI mockups in feature planning
- ✅ Consider future expansion in data model design
- ✅ Ensure feature works via dashboard without API knowledge
- ✅ Never assume AI availability for core functionality
When Reviewing Features:
- ❌ Reject backend-only implementations without UI
- ❌ Reject features that require API expertise to configure
- ❌ Reject designs that paint into architectural corners
- ❌ 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.