Skip to content

GLINCKER/sentinel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Sentinel

Sentinel Logo

Process Manager & System Monitor for Developers

License: MIT Build Status Coverage Version Rust Node


DocumentationQuickstartExamplesContributingDiscord


Overview

Sentinel is an open-source desktop application that combines process management with real-time system monitoring. Built with Rust and Tauri, it provides developers with a fast, secure, and intuitive way to manage development processes across macOS, Linux, and Windows.

Current Status: Alpha (v0.1.0) | License: MIT | Built by: Glincker (A GLINR Product)


Key Features

Process Management

  • Start, stop, and restart multiple processes from a single interface
  • YAML/JSON configuration files for reproducible development environments
  • Dependency management with automatic startup ordering
  • Auto-restart capabilities with configurable retry logic
  • Aggregated log viewing with real-time updates
  • Docker container integration

System Monitoring

  • Real-time CPU usage tracking (per-core breakdown available)
  • Memory monitoring (RAM and swap utilization)
  • Disk I/O performance metrics
  • Per-process resource consumption
  • Low-overhead monitoring (less than 5% CPU usage)

Developer Experience

  • Cross-platform desktop application (macOS, Linux, Windows)
  • Command-line interface for terminal-based workflows
  • Keyboard shortcuts for common operations
  • Light and dark theme support
  • Minimal resource footprint (under 50MB memory at idle)

Installation

macOS (Homebrew)

brew tap glincker/tap
brew install sentinel

Linux

Debian/Ubuntu (.deb):

wget https://github.com/glincker/sentinel/releases/latest/download/sentinel_0.1.0_amd64.deb
sudo dpkg -i sentinel_0.1.0_amd64.deb

AppImage:

wget https://github.com/glincker/sentinel/releases/latest/download/Sentinel-0.1.0-x86_64.AppImage
chmod +x Sentinel-0.1.0-x86_64.AppImage
./Sentinel-0.1.0-x86_64.AppImage

Windows

Download the .exe installer from the Releases page.

Build from Source

See Development Guide for detailed instructions.

# Clone repository
git clone https://github.com/glincker/sentinel.git
cd sentinel

# Install dependencies
npm install

# Build and run
./scripts/build.sh release

Quick Start

1. Initialize Configuration

sentinel init

This creates a sentinel.yaml file in your project directory.

2. Configure Processes

Edit sentinel.yaml:

processes:
  - name: backend
    command: npm
    args:
      - run
      - dev
    cwd: ./server
    env:
      PORT: "8101"

  - name: frontend
    command: npm
    args:
      - run
      - dev
    cwd: ./client
    env:
      PORT: "8100"
    depends_on:
      - backend

3. Start Processes

# Start all processes
sentinel start

# Or open the GUI
sentinel gui

See Quickstart Guide for a complete tutorial.


Example Configurations

Sentinel includes pre-configured examples for popular development stacks:

Stack Description Path
MERN MongoDB + Express + React + Node.js examples/mern/
Next.js Next.js Full-Stack + PostgreSQL examples/nextjs/
FastAPI Python FastAPI + React + PostgreSQL examples/python-fastapi/
Spring Spring Boot + React + PostgreSQL examples/spring-react/

See Examples README for usage instructions.


Documentation

User Documentation

Developer Documentation


Architecture

Sentinel is built with a multi-layered architecture:

  • Backend: Rust (process management, system monitoring, business logic)
  • Frontend: Svelte 5 with TypeScript (reactive UI components)
  • Desktop Framework: Tauri 2.0 (3-5MB bundle size vs 80-120MB for Electron)
  • CLI: Rust with clap (command-line interface)
  • Configuration: YAML/JSON parsing with serde

Performance Characteristics:

  • Startup time: < 1.2 seconds
  • Memory usage: 35MB idle, <50MB under load
  • CPU usage: 2% idle, <5% during monitoring

See Architecture Documentation for details.


Testing

Sentinel maintains high code quality with comprehensive test coverage:

Test Type Count Coverage
Unit Tests 45 Backend logic, utilities
Integration Tests 12 Multi-component workflows
Security Tests 15 Input validation, injection prevention
CLI E2E Tests 18 Command-line interface
Performance Benchmarks 9 Critical path performance
Total 99 94.7%

Run tests:

# Run all tests
cargo test --all-features --workspace

# Generate coverage report
cargo llvm-cov --all-features --workspace --html

See Testing Guide for comprehensive documentation.


Contributing

We welcome contributions from the community! Here's how to get started:

  1. Fork the repository on GitHub
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/sentinel.git
  3. Create a feature branch: git checkout -b feature/your-feature-name
  4. Make your changes following our Code Standards
  5. Run tests: cargo test && npm test
  6. Commit your changes with conventional commits
  7. Push to your fork: git push origin feature/your-feature-name
  8. Open a Pull Request using our PR template

See CONTRIBUTING.md for detailed guidelines.


Roadmap

Phase 1: Foundation (Q4 2024 - Complete)

  • Core process management
  • System monitoring (CPU, memory, disk I/O)
  • Desktop GUI with Svelte
  • CLI implementation
  • 99 tests with 94.7% coverage

Phase 2: Core Features (Q1 2025)

  • Auto-restart implementation
  • Health check execution
  • Real-time log aggregation viewer
  • Interactive CPU/memory graphs (uPlot)
  • Process search and filtering

Phase 3: Advanced Features (Q2 2025)

  • System tray integration
  • Global hotkeys
  • Export capabilities (CSV, JSON)
  • Custom themes and UI customization
  • Plugin system foundation

See Full Roadmap for the complete plan.


Community & Support


License

Sentinel is released under the MIT License.

Copyright (c) 2025 Glincker (A GLINR Product)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

See LICENSE for full text.


Security

We take security seriously. If you discover a security vulnerability, please:

  1. DO NOT open a public GitHub issue
  2. Email us at [email protected] with details
  3. Allow us 90 days to address the issue before public disclosure

See our Security Policy for more information.


Acknowledgments

Sentinel is built with excellent open-source technologies:

  • Rust - Systems programming language
  • Tauri - Desktop application framework
  • Svelte - Reactive UI framework
  • sysinfo - System information library
  • tokio - Async runtime for Rust
  • clap - Command-line argument parser

Thank you to all contributors and the open-source community.


Built with precision by Glincker • A GLINR Product

WebsiteGitHubDiscordTwitter

Star this repository if you find it useful!

About

Your Development Guardian - Process Manager & System Monitor

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •