Single-commit clean baseline after security scrub of niche-tells, project codenames, internal jargon, and contributor-email leaks. Contents: - 100 Rust crates (_primitives/_rust/) - 37 agent manifests (_manifests/) + generated specs (_generated/) - 67 user-invocable skills (skills/) - 33 hooks (hooks/) - Composition blocks (_blocks/) - Documentation (docs/, README.md) - TS adapter packages (_ts_packages/) - Assembler (_assembler/) - Roles (_roles/) - Templates (_templates/) - Forgejo CI (.forgejo/) Author: Denis Parfionovich <info@greendragon.info> License: see LICENSE.
1.9 KiB
1.9 KiB
launchd plist templates — dev-hub bundle
Each <service>.plist.tmpl is a launchd LaunchAgent template with ${VAR}
placeholders that are substituted at install time by install/lib-launchd.sh.
Substitution variables
| Variable | Source | Example |
|---|---|---|
${HOME} |
$HOME env var of installing user |
/Users/alice |
${USER} |
$USER env var |
alice |
${BREW} |
$(brew --prefix) |
/opt/homebrew (Apple Silicon) or /usr/local |
${KIT} |
~/.claude/agents/_primitives |
full path to kit primitives root |
${LOGS} |
~/Library/Logs/keisei/<service> |
per-service log dir (auto-created) |
${DATA} |
~/Library/Application Support/keisei/<service> |
per-service data dir (auto-created) |
Naming convention
- File:
<service>.plist.tmpl - Label:
com.keisei.<service>(must matchLabelkey inside) - Output:
~/Library/LaunchAgents/com.keisei.<service>.plist(rendered)
Convention for new templates
- Always
RunAtLoad=true+KeepAlive=truefor long-lived daemons - Always set
StandardOutPathandStandardErrorPathunder${LOGS}/ - Always
WorkingDirectory=${DATA}so service has a writeable cwd - Resource limits via
SoftResourceLimits/HardResourceLimitsdict - macOS arm64 only (kit doesn't ship Linux service-mgmt)
Activation
Renderer (install/lib-launchd.sh::render_plist) reads <svc>.plist.tmpl,
substitutes vars, writes to ~/Library/LaunchAgents/com.keisei.<svc>.plist,
runs launchctl bootstrap gui/$(id -u) <path> to activate. brew services start <svc> is preferred when the service is brewed (it wraps launchctl).