feat: show startup logs on successful daemon start#111
Merged
Conversation
Display daemon logs briefly after successful `start`/`run` commands, providing visibility into daemon initialization. This matches the existing behavior on failure where error logs are shown. Changes: - Add `print_startup_logs()` function to logs.rs - Add `--quiet` / `-q` flag to both `start` and `run` commands - Print startup logs after successful daemon start (unless quiet) Resolves #104 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1c1d228 to
2ec3a31
Compare
The `<name>` in `[daemons.<name>]` was being interpreted as an HTML element by VitePress/Vue, causing the docs build to fail with "Element is missing end tag." Wrapping it in backticks fixes this. Also adds /docs/.vitepress/dist to .gitignore. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Merged
jdx
pushed a commit
that referenced
this pull request
Jan 18, 2026
## 🤖 New release * `pitchfork-cli`: 0.2.1 -> 0.3.0 <details><summary><i><b>Changelog</b></i></summary><p> <blockquote> ## [0.3.0](v0.2.1...v0.3.0) - 2026-01-18 ### Added - *(web)* add devilish pitchfork theming to web UI ([#115](#115)) - *(web)* add web UI for daemon management ([#112](#112)) - show startup logs on successful daemon start ([#111](#111)) - add HTTP ready check for daemon startup ([#110](#110)) - delay autostopping daemons when leaving directory ([#108](#108)) - *(logs)* clear all logs when no daemon specified ([#109](#109)) - *(list)* show error messages in daemon list output ([#107](#107)) - refactor the code structure of `start` and `run`, allowing for parallel starting daemons ([#56](#56)) - [**breaking**] support auto start on boot ([#53](#53)) - print logs when failed on `pf start|run` ([#52](#52)) - [**breaking**] support global system/user config ([#46](#46)) - *(test)* refactor tests and add tests for `interval_watch` and `cron_watch` ([#45](#45)) ### Fixed - add timeouts to IPC operations to prevent shell hook hangs ([#106](#106)) - *(deps)* update rust crate toml to 0.9 ([#50](#50)) - replace panics with proper error handling ([#90](#90)) - *(deps)* update rust crate notify to v8 ([#78](#78)) - *(deps)* update rust crate duct to v1 ([#72](#72)) - *(deps)* update rust crate dirs to v6 ([#64](#64)) - *(deps)* update rust crate cron to 0.15 ([#48](#48)) - *(deps)* update rust crate sysinfo to 0.37 ([#49](#49)) - *(deps)* update rust crate itertools to 0.14 ([#33](#33)) - *(deps)* update rust crate strum to 0.27 ([#35](#35)) - *(deps)* update rust crate console to 0.16 ([#32](#32)) - give a user-friendly error when the work fails ([#44](#44)) ### Other - *(cli)* add long_about with examples to CLI commands ([#91](#91)) - fix documentation issues and inconsistencies ([#89](#89)) - *(deps)* lock file maintenance ([#88](#88)) - *(deps)* update rust crate serde_json to v1.0.149 ([#87](#87)) - *(deps)* lock file maintenance ([#85](#85)) - *(deps)* update rust crate serde_json to v1.0.148 ([#84](#84)) - *(deps)* update rust crate tempfile to v3.24.0 ([#82](#82)) - *(deps)* update rust crate rmp-serde to v1.3.1 ([#80](#80)) - *(deps)* update rust crate serde_json to v1.0.147 ([#81](#81)) - *(deps)* lock file maintenance ([#79](#79)) - *(deps)* update rust crate shell-words to v1.1.1 ([#77](#77)) - *(deps)* lock file maintenance ([#76](#76)) - *(deps)* update rust crate log to v0.4.29 ([#75](#75)) - *(deps)* lock file maintenance ([#73](#73)) - *(deps)* lock file maintenance ([#68](#68)) - *(deps)* lock file maintenance ([#65](#65)) - *(deps)* lock file maintenance ([#62](#62)) - *(deps)* update rust crate clap to v4.5.51 ([#60](#60)) - *(deps)* lock file maintenance ([#59](#59)) - *(deps)* update rust crate clap to v4.5.50 ([#57](#57)) - Update README ([#55](#55)) - *(deps)* lock file maintenance ([#54](#54)) - *(deps)* lock file maintenance ([#47](#47)) </blockquote> </p></details> --- This PR was generated with [release-plz](https://github.com/release-plz/release-plz/). Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Display daemon logs briefly after successful
start/runcommands, providing visibility into daemon initialization.Currently logs are only shown when a daemon fails to start. This change shows startup logs on success too, giving users visibility into whether the daemon initialized properly.
Changes
print_startup_logs()function to logs.rs (similar to existingprint_logs_for_time_range()but with "Startup logs" header)--quiet/-qflag to bothstartandruncommands to suppress startup logsExample Output
Test plan
pitchfork start <daemon>- Should show startup logspitchfork start <daemon> --quiet- Should be silent on successpitchfork run <daemon> -- <cmd>- Should show startup logspitchfork run <daemon> --quiet -- <cmd>- Should be silentResolves #104
🤖 Generated with Claude Code
Note
Shows recent daemon logs after successful startup for visibility, with an option to suppress.
print_startup_logs()inlogs.rs; invoked bystartandrunafter success (captures start time per daemon)-q --quietflag tostartandrunto suppress startup log outputcommands.json,start.md,run.md,pitchfork.usage.kdl) including backticked[daemons.<name>],logs --clear(all daemons), andlisthelp text/docs/.vitepress/distto.gitignoreWritten by Cursor Bugbot for commit b9197ca. This will update automatically on new commits. Configure here.