Skip to content

Add launchd plist template for daemon mode#11

Merged
munezaclovis merged 1 commit intomainfrom
claude/daemon-plist-template
Mar 5, 2026
Merged

Add launchd plist template for daemon mode#11
munezaclovis merged 1 commit intomainfrom
claude/daemon-plist-template

Conversation

@munezaclovis
Copy link
Copy Markdown
Contributor

Summary

  • Introduces internal/daemon/ package with plist generation (PlistConfig, RenderPlist, WritePlist, RemovePlist, DefaultPlistConfig)
  • Renders launchd-compatible XML with dynamic paths, KeepAlive: true, RunAtLoad toggle, and environment variables (XDG_DATA_HOME, PATH)
  • Adds 14 unit tests covering XML correctness, dynamic paths, RunAtLoad flag, write/remove lifecycle
  • Adds docs/features/daemon.md with full implementation plan including e2e test tasks (bash scripts matching project conventions)

Test plan

  • go test ./internal/daemon/ -v — all 14 tests pass
  • go test ./... — full suite passes, no regressions

Introduce internal/daemon package with plist generation for running pv
as a launchd service. Renders dynamic XML with user-specific paths,
environment variables, and KeepAlive/RunAtLoad support. Also updates
the daemon feature plan to include e2e test tasks following the
project's bash script conventions.
@munezaclovis
Copy link
Copy Markdown
Contributor Author

Code review

No issues found. Checked for bugs and CLAUDE.md compliance.

🤖 Generated with Claude Code

- If this code review was useful, please react with 👍. Otherwise, react with 👎.

@munezaclovis munezaclovis merged commit de46e3f into main Mar 5, 2026
2 checks passed
@munezaclovis munezaclovis deleted the claude/daemon-plist-template branch March 5, 2026 03:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant