#daemon #agent #mcp #claude #terminal

app kodegend

KODEGEN.ᴀɪ: Memory-efficient, Blazing-Fast, MCP tools for code generation agents

11 unstable releases (3 breaking)

Uses new Rust 2024

new 0.10.6 Dec 11, 2025
0.10.5 Dec 10, 2025
0.8.0 Dec 6, 2025
0.6.0 Dec 3, 2025
0.1.3 Nov 10, 2025

#43 in Development tools

Apache-2.0 OR MIT and GPL-3.0+

9MB
20K SLoC

Kodegen AI Banner

kodegen Daemon

A high-performance Unix daemon library with crossbeam-based service management.

Features

  • Zero-allocation hot paths: Uses crossbeam channels and fixed-size enums
  • True Unix daemon: OS Service daemonization with systemd auto-detection
  • Service management: Supervise processes with automatic restart and health monitoring
  • System integration: Self-installation with systemd/launchd support
  • Async compatible: Can manage async applications while using sync internals

Quick Start

As a Library

Add to your Cargo.toml:

[dependencies]
kodegen-daemon = "0.1"

Use in your application:

use kodegen_daemon::{ServiceConfig, ServiceDefinition, ServiceManager, daemonise};
use std::path::Path;

fn main() -> anyhow::Result<()> {
    // Daemonize the process
    let pid_file = Path::new("/var/run/mydaemon.pid");
    daemonise(&pid_file)?;

    // Create service configuration
    let mut config = ServiceConfig::default();
    config.services.push(ServiceDefinition {
        name: "my-service".to_string(),
        command: "/usr/bin/my-app --daemon".to_string(),
        auto_restart: true,
        ..Default::default()
    });

    // Start daemon manager
    let manager = ServiceManager::new(&config)?;
    manager.run()?; // Runs until SIGTERM/SIGINT
    Ok(())
}

As a Standalone Daemon

Build and install:

cargo build --release
sudo ./target/release/kodegend install

Configure services in /etc/kodegend/services/:

# /etc/kodegend/services/my-app.toml
name = "my-app"
command = "/usr/local/bin/my-app --serve"
auto_restart = true
user = "www-data"
restart_delay_s = 5

[health_check]
check_type = "http"
target = "http://localhost:8080/health"
interval_secs = 30

Start the daemon:

sudo systemctl start kodegend

Architecture

  • ServiceManager: Central event loop using crossbeam channels
  • ServiceWorker: Individual service supervisor threads
  • IPC: Wait-free message passing with Cmd/Evt enums
  • Daemon: Unix daemonization with systemd detection
  • Installer: Self-installation with system integration

System Requirements

  • Unix-like OS (Linux, macOS)
  • systemd (Linux) or launchd (macOS) for system integration
  • Root privileges for installation

License

Apache-2.0

Dependencies

~421MB
~6M SLoC