Welcome to the comprehensive documentation for the Tactical RMM Agent, a powerful cross-platform remote monitoring and management agent written in Go that enables enterprise-grade endpoint management across Windows, macOS, and Linux systems.
New to the Tactical RMM Agent? Start here for quick setup and initial configuration:
- Introduction - Overview of the agent, features, and architecture
- Prerequisites - System requirements and preparation steps
- Quick Start Guide - 5-minute installation and setup
- First Steps - Initial configuration and feature exploration
Comprehensive guides for developers contributing to the project:
- Development Overview - Development documentation structure and technology stack
- Environment Setup - IDE configuration and development tools
- Local Development - Clone, build, run, and debug locally
- Architecture Overview - System design and component relationships
- Security Best Practices - Authentication, encryption, and secure coding
- Testing Guide - Test structure, running tests, and coverage requirements
- Contributing Guidelines - Code style, PR process, and review standards
Technical reference documentation is being generated. Check back soon for detailed API specifications, configuration guides, and service documentation.
Visual documentation showing system architecture and data flow:
- System Architecture: High-level overview of agent components and server communication
- Component Relationships: Detailed component interactions and dependencies
- Data Flow Diagrams: System monitoring check-in flow and remote command execution flow
View all architecture diagrams at: ./docs/diagrams/architecture/
The Tactical RMM Agent is built with a service-oriented architecture featuring:
- Agent Core: Main service process with cross-platform implementations
- Communication Layer: HTTPS REST API and NATS messaging for real-time communication
- System Integration: Process monitoring, service management, and hardware inventory
- Security Framework: Token-based authentication and encrypted communications
- Platform Support: Native implementations for Windows, macOS, and Linux
- Real-time system metrics collection (CPU, memory, disk space)
- Hardware inventory and system information gathering
- Process and service monitoring with health checks
- Custom script execution and validation
- Secure remote command execution (PowerShell, Bash, Python)
- Service lifecycle management (start, stop, restart)
- Scheduled task creation and automated maintenance
- File transfer and deployment capabilities
- Token-based authentication with automatic refresh
- Encrypted HTTPS and NATS communication channels
- OpenFrame integration for enhanced enterprise security
- Input validation and sandboxed command execution
- Windows: Complete Windows API integration, service management, Windows Update handling
- macOS: launchd service integration, system framework access, native monitoring
- Linux: systemd integration, package management, cross-distro compatibility
This documentation follows markdown best practices and includes:
- Code Examples: Practical examples for all major features and use cases
- Platform-Specific Guides: Tailored instructions for Windows, macOS, and Linux
- Security Guidelines: Best practices for secure deployment and configuration
- Troubleshooting: Common issues and solutions for setup and operation
- API References: Complete API documentation for developers and integrators
Documentation improvements are welcome! See our Contributing Guidelines for:
- Documentation style standards
- Review process for documentation changes
- How to add new guides and references
- Testing documentation changes locally
- GitHub Issues: Report bugs, request features, or ask questions
- Development Discussions: Technical discussions about architecture and implementation
- Security Reports: Responsible disclosure of security vulnerabilities
- Community Guidelines: Respectful collaboration standards
Documentation generated by OpenFrame Doc Orchestrator
Last Updated: This documentation is automatically maintained and updated as the codebase evolves.
