KeiSeiKit-1.0/install/launchd-templates/README.md
Parfii-bot a4e667de10 KeiSeiKit-public — clean state
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.
2026-05-01 12:09:03 +08:00

36 lines
1.9 KiB
Markdown

# 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 match `Label` key inside)
- Output: `~/Library/LaunchAgents/com.keisei.<service>.plist` (rendered)
## Convention for new templates
1. Always `RunAtLoad=true` + `KeepAlive=true` for long-lived daemons
2. Always set `StandardOutPath` and `StandardErrorPath` under `${LOGS}/`
3. Always `WorkingDirectory=${DATA}` so service has a writeable cwd
4. Resource limits via `SoftResourceLimits` / `HardResourceLimits` dict
5. 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).