diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 81 |
1 files changed, 10 insertions, 71 deletions
| @@ -2,7 +2,7 @@ | |||
| 2 | 2 | ||
| 3 | A lightweight, intuitive CLI tool for spawning, managing, and monitoring background processes on Linux systems. Perfect for development servers, long-running tasks, and automation workflows. | 3 | A lightweight, intuitive CLI tool for spawning, managing, and monitoring background processes on Linux systems. Perfect for development servers, long-running tasks, and automation workflows. |
| 4 | 4 | ||
| 5 | ## ✨ Features | 5 | ## Features |
| 6 | 6 | ||
| 7 | - **Simple Process Management**: Start, stop, and monitor background processes with ease | 7 | - **Simple Process Management**: Start, stop, and monitor background processes with ease |
| 8 | - **Persistent Logging**: Automatic stdout/stderr capture to files | 8 | - **Persistent Logging**: Automatic stdout/stderr capture to files |
| @@ -11,21 +11,13 @@ A lightweight, intuitive CLI tool for spawning, managing, and monitoring backgro | |||
| 11 | - **Machine-readable Output**: Perfect for scripting and LLM agent integration | 11 | - **Machine-readable Output**: Perfect for scripting and LLM agent integration |
| 12 | - **Zero Configuration**: Works out of the box, no setup required | 12 | - **Zero Configuration**: Works out of the box, no setup required |
| 13 | 13 | ||
| 14 | ## 🚀 Installation | 14 | ## Installation |
| 15 | 15 | ||
| 16 | ### From Source | ||
| 17 | ```bash | 16 | ```bash |
| 18 | git clone https://github.com/yourusername/demon | 17 | cargo install --git https://github.com/diogo464/demon |
| 19 | cd demon | ||
| 20 | cargo install --path . | ||
| 21 | ``` | 18 | ``` |
| 22 | 19 | ||
| 23 | ### From Crates.io (Coming Soon) | 20 | ## Quick Start |
| 24 | ```bash | ||
| 25 | cargo install demon | ||
| 26 | ``` | ||
| 27 | |||
| 28 | ## 🎯 Quick Start | ||
| 29 | 21 | ||
| 30 | ```bash | 22 | ```bash |
| 31 | # Start a development server | 23 | # Start a development server |
| @@ -44,7 +36,7 @@ demon stop web-server | |||
| 44 | demon clean | 36 | demon clean |
| 45 | ``` | 37 | ``` |
| 46 | 38 | ||
| 47 | ## 📋 Command Reference | 39 | ## Command Reference |
| 48 | 40 | ||
| 49 | ### `demon run <id> [command...]` | 41 | ### `demon run <id> [command...]` |
| 50 | Spawn a background process with the given identifier. | 42 | Spawn a background process with the given identifier. |
| @@ -145,7 +137,7 @@ Output comprehensive usage guide optimized for LLM consumption. | |||
| 145 | demon llm | 137 | demon llm |
| 146 | ``` | 138 | ``` |
| 147 | 139 | ||
| 148 | ## 🎮 Use Cases | 140 | ## Use Cases |
| 149 | 141 | ||
| 150 | ### Development Workflows | 142 | ### Development Workflows |
| 151 | Perfect for managing development servers and build processes: | 143 | Perfect for managing development servers and build processes: |
| @@ -213,7 +205,7 @@ demon run health-check -- while true; do curl -f http://localhost:8080/health || | |||
| 213 | demon run resource-monitor -- top -b -n1 | head -20 | 205 | demon run resource-monitor -- top -b -n1 | head -20 |
| 214 | ``` | 206 | ``` |
| 215 | 207 | ||
| 216 | ## 🏗️ How It Works | 208 | ## How It Works |
| 217 | 209 | ||
| 218 | When you run `demon run web-server python -m http.server 8080`: | 210 | When you run `demon run web-server python -m http.server 8080`: |
| 219 | 211 | ||
| @@ -225,7 +217,7 @@ When you run `demon run web-server python -m http.server 8080`: | |||
| 225 | 3. **Process Monitoring**: Tracks process lifecycle independently | 217 | 3. **Process Monitoring**: Tracks process lifecycle independently |
| 226 | 4. **Log Management**: Files persist after process termination for inspection | 218 | 4. **Log Management**: Files persist after process termination for inspection |
| 227 | 219 | ||
| 228 | ## 🤖 LLM Agent Integration | 220 | ## LLM Agent Integration |
| 229 | 221 | ||
| 230 | Demon is specifically designed to work seamlessly with LLM agents and automation tools: | 222 | Demon is specifically designed to work seamlessly with LLM agents and automation tools: |
| 231 | 223 | ||
| @@ -261,7 +253,7 @@ else | |||
| 261 | fi | 253 | fi |
| 262 | ``` | 254 | ``` |
| 263 | 255 | ||
| 264 | ## 📁 File Management | 256 | ## File Management |
| 265 | 257 | ||
| 266 | ### File Locations | 258 | ### File Locations |
| 267 | All files are created in the current working directory: | 259 | All files are created in the current working directory: |
| @@ -279,7 +271,7 @@ All files are created in the current working directory: | |||
| 279 | - For long-running processes, implement rotation in your application | 271 | - For long-running processes, implement rotation in your application |
| 280 | - Or use external tools like `logrotate` | 272 | - Or use external tools like `logrotate` |
| 281 | 273 | ||
| 282 | ## 🔧 Advanced Usage | 274 | ## Advanced Usage |
| 283 | 275 | ||
| 284 | ### Process Management | 276 | ### Process Management |
| 285 | ```bash | 277 | ```bash |
| @@ -313,56 +305,3 @@ demon run container -- docker run -d --name myapp nginx | |||
| 313 | # Use with tmux/screen for complex setups | 305 | # Use with tmux/screen for complex setups |
| 314 | demon run dev-env -- tmux new-session -d 'npm run dev' | 306 | demon run dev-env -- tmux new-session -d 'npm run dev' |
| 315 | ``` | 307 | ``` |
| 316 | |||
| 317 | ## ⚠️ System Requirements | ||
| 318 | |||
| 319 | - **Operating System**: Linux (uses `kill` command for process management) | ||
| 320 | - **Rust**: 1.70+ (for building from source) | ||
| 321 | - **Permissions**: Standard user permissions (no root required) | ||
| 322 | |||
| 323 | ## 🔒 Security Considerations | ||
| 324 | |||
| 325 | - Demon runs processes with the same permissions as the calling user | ||
| 326 | - PID files contain process information - protect accordingly | ||
| 327 | - Log files may contain sensitive information from your applications | ||
| 328 | - No network access or elevated privileges required | ||
| 329 | |||
| 330 | ## 🤝 Contributing | ||
| 331 | |||
| 332 | We welcome contributions! Here's how to get started: | ||
| 333 | |||
| 334 | 1. **Fork the repository** | ||
| 335 | 2. **Create a feature branch**: `git checkout -b feature/amazing-feature` | ||
| 336 | 3. **Make your changes** | ||
| 337 | 4. **Run tests**: `cargo test` | ||
| 338 | 5. **Format code**: `cargo fmt` | ||
| 339 | 6. **Submit a pull request** | ||
| 340 | |||
| 341 | ### Development Setup | ||
| 342 | ```bash | ||
| 343 | git clone https://github.com/yourusername/demon | ||
| 344 | cd demon | ||
| 345 | cargo build | ||
| 346 | cargo test | ||
| 347 | ``` | ||
| 348 | |||
| 349 | ## 📝 License | ||
| 350 | |||
| 351 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. | ||
| 352 | |||
| 353 | ## 🐛 Bug Reports & Feature Requests | ||
| 354 | |||
| 355 | Found a bug or have a feature idea? Please open an issue on [GitHub Issues](https://github.com/yourusername/demon/issues). | ||
| 356 | |||
| 357 | ## 📚 Similar Tools | ||
| 358 | |||
| 359 | - **pm2** - Process manager for Node.js applications | ||
| 360 | - **supervisor** - Process control system for Unix | ||
| 361 | - **systemd** - System and service manager for Linux | ||
| 362 | - **screen/tmux** - Terminal multiplexers | ||
| 363 | |||
| 364 | Demon focuses on simplicity, LLM integration, and developer experience over complex process management features. | ||
| 365 | |||
| 366 | --- | ||
| 367 | |||
| 368 | **Built with ❤️ in Rust** \ No newline at end of file | ||
