diff options
| author | diogo464 <[email protected]> | 2025-06-19 08:52:20 +0100 |
|---|---|---|
| committer | diogo464 <[email protected]> | 2025-06-19 08:52:20 +0100 |
| commit | 39b3d9bfd499e131fd8a9bd1bf0021b62ec18c53 (patch) | |
| tree | 9975c7d92f28ed19edc370c7e11473f56334629c /CLAUDE.md | |
Initial implementation of demon CLI tool
Implement complete daemon process management CLI with the following features:
- demon run: spawn background processes with stdout/stderr redirection
- demon stop: graceful process termination with SIGTERM/SIGKILL timeout
- demon tail: real-time file watching and log tailing
- demon cat: display log file contents
- demon list: show all managed processes with status
- demon status: detailed process information
- demon clean: remove orphaned files from dead processes
Technical implementation:
- Uses clap for CLI with enum-based subcommands
- Structured logging with tracing crate
- File watching with notify crate for efficient tailing
- Process management with proper signal handling
- Creates .pid, .stdout, .stderr files in working directory
- Comprehensive error handling and edge case coverage
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
Diffstat (limited to 'CLAUDE.md')
| -rw-r--r-- | CLAUDE.md | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..6b97b70 --- /dev/null +++ b/CLAUDE.md | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | ## project development guidelines | ||
| 2 | remember to use a ./IMPLEMENTATION_PLAN.md file to keep track of your work and maintain it updated when you complete work or requirements changes. you should add as much detail as you think is necessary to this file. | ||
| 3 | |||
| 4 | ## rust guidelines | ||
| 5 | do not add dependencies manually, instead, use the following tools: | ||
| 6 | + `cargo info` to obtain information about a crate such as its version, features, licence, ... | ||
| 7 | + `cargo add` to add new dependencies, you can use the `--features` to specifiy comma separated list of features | ||
| 8 | + for logging, prefer the `tracing` crate with `tracing-subscriber` and fully qualify the log macros (ex: `tracing::info!`) | ||
| 9 | + for cli use the `clap` crate. when implementing subcommands use an `enum` and separate structs for each subcommand's arguments | ||
| 10 | + use the `anyhow` crate for error handling | ||
