All notable changes to this project are documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
BGRUN_DIRenvironment variable to configure the job directory; defaults to~/.bgrun/jobs(fixes latent split-brain bug where plugin and shell CLIs could resolve different directories)bgwait <job-id>command — blocks until a job finishes, exits with the job's exit codebgkill <job-id>command — sends SIGTERM to a running jobbgstatus --jsonflag for machine-readable JSON output--name <label>flag onbgrunfor human-readable job labelsbgrun doctorsubcommand — health check for BGRUN_DIR, runner script, notification tools, OpenCode process- Linux desktop notifications via
notify-send(fallback whenosascriptis unavailable) bgcleanMCP tool — agents can trigger job cleanup directly- Auto-cleanup on plugin startup (jobs older than 14 days silently removed)
- Enhanced wake prompt — includes exit code (✅/❌), command, and last log line
- Slug sanitization to prevent path traversal via crafted job names
Makefilewithmake dev/make prod/make statusfor switching plugin between local clone and npm install- Migration hint on startup when legacy
.run/directory with jobs is detected
- Default job directory changed from
.run/(project-relative) to~/.bgrun/jobs(home-relative); jobs from all projects are now stored in one place
- Ship
install.sh/uninstall.shin the npm tarball (previously excluded from thefilesallowlist). npmscripts.testandscripts.lintas shared CI/release entrypoints.
- Package renamed to the scoped
@stablekernel/opencode-bgrunand published to npm as the canonical install method.
--cli-onlyinstall mode (+--help) ininstall.sh/uninstall.sh: manage just the human shell CLIs on PATH, with auto-discovery of the installed package, decoupled from dev-only plugin/skill symlinking.
- Docs updated to the plugin-first install model.
- Initial release:
bgrunbackground job runner with live OpenCode session wake-to-act, thebgrunplugin tool, shell CLIs (bgrun/bgstatus/bgtail/bgclean), run-bg skill, CI, and packaging for install.