Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@a5c-ai/babysitter-opencode) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@a5c-ai/babysitter-opencode
Babysitter integration package for OpenCode.
This package ships an OpenCode plugin bundle that provides event-sourced orchestration, hook-based extensibility, and human-in-the-loop approval for complex multi-step workflows -- powered by the Babysitter SDK.
Plugin Structure
plugins/babysitter-opencode/
bin/
cli.cjs CLI entry point (babysitter-opencode command)
install.cjs Installation script
install-shared.cjs Shared installation utilities
uninstall.cjs Uninstallation script
commands/ Slash command definitions (.md files)
hooks/
hooks.json Hook registration manifest
session-created.js Initialize babysitter session state
session-idle.js Check for pending effects when idle
shell-env.js Inject env vars into shell
tool-execute-before.js Pre-tool-use hook
tool-execute-after.js Post-tool-use hook
skills/
babysit/SKILL.md Core orchestration skill
plugin.json Plugin manifest
versions.json SDK version trackingInstallation
Prerequisites
Install the Babysitter SDK CLI:
npm install -g @a5c-ai/babysitterMethod 1: npm global install (recommended)
npm install -g @a5c-ai/babysitter-opencodeThe postinstall script automatically copies the plugin into your current
workspace's .opencode/plugins/babysitter/ directory.
To install into a specific workspace:
babysitter-opencode install --workspace /path/to/projectMethod 2: Babysitter plugin manager
babysitter plugin:install babysitter-opencodeMethod 3: Manual copy
mkdir -p .opencode/plugins/babysitter
cp -r node_modules/@a5c-ai/babysitter-opencode/hooks .opencode/plugins/babysitter/
cp -r node_modules/@a5c-ai/babysitter-opencode/skills .opencode/plugins/babysitter/
cp -r node_modules/@a5c-ai/babysitter-opencode/commands .opencode/plugins/babysitter/
cp node_modules/@a5c-ai/babysitter-opencode/plugin.json .opencode/plugins/babysitter/
cp node_modules/@a5c-ai/babysitter-opencode/versions.json .opencode/plugins/babysitter/Uninstallation
babysitter-opencode uninstallOr from a specific workspace:
babysitter-opencode uninstall --workspace /path/to/projectCLI Reference
babysitter-opencode install [--global] Install plugin globally
babysitter-opencode install --workspace [path] Install into workspace
babysitter-opencode uninstall [--global] Uninstall plugin globally
babysitter-opencode uninstall --workspace [path] Uninstall from workspace
babysitter-opencode sync Sync command surfaces
babysitter-opencode doctor Check installation health
babysitter-opencode version Show version
babysitter-opencode help Show helpIntegration Model
OpenCode plugins are JS/TS modules placed in .opencode/plugins/. The babysitter
plugin registers hooks for the following OpenCode events:
| OpenCode Event | Babysitter Hook | Purpose |
|---|---|---|
session.created |
session-start |
Initialize session state |
session.idle |
stop |
Check for pending effects |
shell.env |
-- | Inject env vars (BABYSITTER_SESSION_ID) |
tool.execute.before |
pre-tool-use |
Pre-tool-use awareness |
tool.execute.after |
post-tool-use |
Post-tool-use awareness |
Loop Model
OpenCode does NOT have a blocking stop hook. The session.idle event is
fire-and-forget. Therefore, babysitter uses an in-turn iteration model:
the agent runs the full orchestration loop within a single turn by calling
babysitter run:iterate repeatedly until completion.
Environment Variables
The shell.env hook self-injects these variables since OpenCode does not
natively provide them:
BABYSITTER_SESSION_ID-- Unique session identifierOPENCODE_SESSION_ID-- Alias for session IDBABYSITTER_STATE_DIR-- State directory pathBABYSITTER_RUNS_DIR-- Runs directory pathOPENCODE_PLUGIN_ROOT-- Plugin root directory
Configuration Environment Variables
| Variable | Default | Description |
|---|---|---|
OPENCODE_HOME |
.opencode/ in workspace |
OpenCode config root |
OPENCODE_WORKSPACE |
cwd |
Workspace directory |
BABYSITTER_OPENCODE_PLUGIN_DIR |
.opencode/plugins/ |
Plugin install target |
BABYSITTER_OPENCODE_MARKETPLACE_PATH |
~/.agents/plugins/marketplace.json |
Marketplace file |
BABYSITTER_SDK_CLI |
(auto-detected) | Path to SDK CLI entry |
BABYSITTER_GLOBAL_STATE_DIR |
~/.a5c |
Global state directory |
Verification
# Check installation health
babysitter-opencode doctor
# Or verify manually:
test -f .opencode/plugins/babysitter/index.js
test -f .opencode/plugins/babysitter/hooks/session-created.js
test -f .opencode/plugins/babysitter/hooks/shell-env.js
test -f .opencode/plugins/babysitter/skills/babysit/SKILL.md
# Verify SDK CLI
babysitter --version
# Verify process library binding
babysitter process-library:active --jsonRunning Tests
cd plugins/babysitter-opencode
npm testLicense
MIT