-
郭阔 authored
- bin/platform.sh: single source of truth for platform differences — OS detection (NH_OS override for tests), PATH bootstrap without shadowing caller-injected commands, platform default paths, scheduler abstraction (systemd timer + systemctl <-> launchd plist + launchctl with named entry scripts), file-level disable on darwin (survives reboot, one-click recoverable), sed -i / GNU-sed shims, root check only on linux, conf loading (EnvironmentFile equivalent) - bin/schedule.py: plist parse/write + auto-detect by filename (timer/plist/.disabled); schedule sources listing subcommand - harvest/continue/daily-digest: drop hardcoded nvm//home/yichu paths, self-bootstrap via platform.sh, harvest now loads conf itself (run.sh wrapper no longer required) - add-source/modify-source: fully cross-platform schedule management (plist generation + launchctl on darwin, timer + systemctl on linux) - status.sh: cross-platform overview/detail/journal (launchd log on darwin) - deploy/migrate: linux-only guard with pointer to setup.sh - tests: env-synced platform simulation (NH_OS), fake launchctl suite, darwin plist/disable/enable roundtrip tests; new disable contract (unload + preserve times) replaces clear-times; 37 tests green
3ac999b0
| Name |
Last commit
|
Last update |
|---|---|---|
| bin | ||
| config | ||
| docs/architecture | ||
| systemd | ||
| tests | ||
| web | ||
| .gitignore | ||
| AGENTS.md | ||
| README.md |