You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

@howaboua/opencode-background-process

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@howaboua/opencode-background-process - npm Package Compare versions

Comparing version
0.1.0
to
0.1.1
+59
dist/skills/background-process/SKILL.md
---
name: background-process
description: |-
Housekeeping guide for background process tools. You SHOULD load this skill before launching background processes to avoid stale processes, port conflicts, and buffer issues.
Examples:
- user: "Start the dev server" → load skill, then launch with proper cleanup practices
- user: "Run npm run dev" → load skill to verify startup and use meaningful IDs
- user: "What background processes have we launched?" → check for duplicate processes, port conflicts
---
# Background Process Best Practices
<housekeeping>
## Keep the Process List Clean
- Kill processes when done - don't leave stale servers running
- Use `background_process_cleanup` periodically to remove exited processes
- Before launching, check `background_process_list` to avoid duplicates
- Use `remove: true` when killing to clean up in one step
## Verify Startup
After launching, wait before reading output - servers need time to start:
1. Launch the process
2. Sleep at least 30 seconds (use bash `sleep` or just wait before next action)
3. `background_process_read` to confirm startup
4. If output is empty or incomplete, wait longer and re-read
Look for: "listening on", "ready", "started" - or errors like port conflicts
## Use Meaningful IDs
When running multiple processes, set custom `id` for clarity:
- `id: "frontend"` and `id: "backend"` instead of `vite-1`, `node-2`
- Makes kill/read commands unambiguous
</housekeeping>
<signals>
## When to Use Each Signal
| Signal | Use When |
|--------|----------|
| SIGTERM (default) | Normal shutdown - gives process time to cleanup |
| SIGINT | Simulate Ctrl+C - some processes handle this differently |
| SIGKILL | Process won't die with SIGTERM - force kill |
</signals>
<gotchas>
- Processes persist for the session - they don't auto-cleanup on conversation end
- Output buffer is limited (500 lines default) - increase `maxOutputLines` for verbose builds
- stderr is prefixed with `[stderr]` in output - helps distinguish errors
</gotchas>
import type { Hooks } from "@opencode-ai/plugin";
export declare const createBundledSkillsHook: () => Pick<Hooks, "config">;
//# sourceMappingURL=bundled.d.ts.map
{"version":3,"file":"bundled.d.ts","sourceRoot":"","sources":["../../src/skills/bundled.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AA4ChD,eAAO,MAAM,uBAAuB,QAAO,IAAI,CAAC,KAAK,EAAE,QAAQ,CAO9D,CAAA"}
/*
This module registers bundled skills that ship with the plugin package.
It resolves skill paths relative to the compiled entry point without writing files.
*/
import { access } from "fs/promises";
import path from "path";
import { fileURLToPath } from "node:url";
const resolveBundledSkillPaths = async () => {
const baseDir = path.dirname(fileURLToPath(import.meta.url));
const candidates = [baseDir, path.join(baseDir, "..", "..", "skills")];
const resolved = [];
for (const candidate of candidates) {
try {
await access(candidate);
resolved.push(candidate);
}
catch {
// Ignore missing paths
}
}
return resolved;
};
const registerSkillPaths = (config, paths) => {
if (paths.length === 0)
return;
config.skills ??= {};
config.skills.paths ??= [];
config.skill ??= {};
config.skill.paths ??= [];
for (const skillPath of paths) {
if (!config.skills.paths.includes(skillPath))
config.skills.paths.push(skillPath);
if (!config.skill.paths.includes(skillPath))
config.skill.paths.push(skillPath);
}
};
export const createBundledSkillsHook = () => {
return {
config: async (config) => {
const paths = await resolveBundledSkillPaths();
registerSkillPaths(config, paths);
},
};
};
//# sourceMappingURL=bundled.js.map
{"version":3,"file":"bundled.js","sourceRoot":"","sources":["../../src/skills/bundled.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAexC,MAAM,wBAAwB,GAAG,KAAK,IAAI,EAAE;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5D,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAa,EAAE,CAAA;IAE7B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,CAAC,CAAA;YACvB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,kBAAkB,GAAG,CAAC,MAAc,EAAE,KAAe,EAAE,EAAE;IAC7D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAE9B,MAAM,CAAC,MAAM,KAAK,EAAE,CAAA;IACpB,MAAM,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAA;IAC1B,MAAM,CAAC,KAAK,KAAK,EAAE,CAAA;IACnB,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,CAAA;IAEzB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACjF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACjF,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAA0B,EAAE;IACjE,OAAO;QACL,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,MAAM,wBAAwB,EAAE,CAAA;YAC9C,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;QACnC,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
export { createBundledSkillsHook } from "./bundled";
//# sourceMappingURL=index.d.ts.map
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA"}
/*
This module exposes the bundled skill helpers for the plugin entry point.
It keeps exports explicit and centralized for easier maintenance.
*/
export { createBundledSkillsHook } from "./bundled";
//# sourceMappingURL=index.js.map
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/skills/index.ts"],"names":[],"mappings":"AAAA;;;EAGE;AACF,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA"}
---
name: background-process
description: |-
Housekeeping guide for background process tools. You SHOULD load this skill before launching background processes to avoid stale processes, port conflicts, and buffer issues.
Examples:
- user: "Start the dev server" → load skill, then launch with proper cleanup practices
- user: "Run npm run dev" → load skill to verify startup and use meaningful IDs
- user: "What background processes have we launched?" → check for duplicate processes, port conflicts
---
# Background Process Best Practices
<housekeeping>
## Keep the Process List Clean
- Kill processes when done - don't leave stale servers running
- Use `background_process_cleanup` periodically to remove exited processes
- Before launching, check `background_process_list` to avoid duplicates
- Use `remove: true` when killing to clean up in one step
## Verify Startup
After launching, wait before reading output - servers need time to start:
1. Launch the process
2. Sleep at least 30 seconds (use bash `sleep` or just wait before next action)
3. `background_process_read` to confirm startup
4. If output is empty or incomplete, wait longer and re-read
Look for: "listening on", "ready", "started" - or errors like port conflicts
## Use Meaningful IDs
When running multiple processes, set custom `id` for clarity:
- `id: "frontend"` and `id: "backend"` instead of `vite-1`, `node-2`
- Makes kill/read commands unambiguous
</housekeeping>
<signals>
## When to Use Each Signal
| Signal | Use When |
|--------|----------|
| SIGTERM (default) | Normal shutdown - gives process time to cleanup |
| SIGINT | Simulate Ctrl+C - some processes handle this differently |
| SIGKILL | Process won't die with SIGTERM - force kill |
</signals>
<gotchas>
- Processes persist for the session - they don't auto-cleanup on conversation end
- Output buffer is limited (500 lines default) - increase `maxOutputLines` for verbose builds
- stderr is prefixed with `[stderr]` in output - helps distinguish errors
</gotchas>
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAQ,MAAM,qBAAqB,CAAA;AA4EvD,eAAO,MAAM,uBAAuB,EAAE,MAuOrC,CAAA"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,MAAM,EAAQ,MAAM,qBAAqB,CAAA;AA8EnE,eAAO,MAAM,uBAAuB,EAAE,MA6OrC,CAAA"}
import { tool } from "@opencode-ai/plugin";
import { createBundledSkillsHook } from "./skills";
const processes = new Map();

@@ -60,6 +61,11 @@ let processCounter = 0;

export const BackgroundProcessPlugin = async ({ directory }) => {
const skillsHook = createBundledSkillsHook();
const config = async (value) => {
await skillsHook.config?.(value);
};
return {
config,
tool: {
background_process_launch: tool({
description: `Launch a command as a background process. The process runs independently and its output is captured for later reading. Useful for long-running tasks like dev servers, watchers, or build processes. Returns the process ID for future reference.`,
description: `Launch a command as a background process. For long-running tasks (dev servers, watchers, builds) you MUST use this tool instead of blocking shell runs. Only processes launched via this tool are tracked. Returns the process ID for future reference.`,
args: {

@@ -126,3 +132,3 @@ command: tool.schema.string().describe("The shell command to run in the background"),

background_process_list: tool({
description: "List all background processes with their status, PID, runtime, and command. Shows both running and recently exited processes.",
description: "List background processes started by this tool in the current session (NOT system processes). You MUST NOT expect host process visibility. Shows running and recently exited processes with status, PID, runtime, and command.",
args: {},

@@ -134,3 +140,3 @@ async execute() {

background_process_read: tool({
description: "Read the captured output from a background process. Returns the most recent lines from the output buffer.",
description: "Read the captured output from a background process started by this tool. You SHOULD use this to verify long-running startup before assuming readiness. Returns the most recent lines from the output buffer.",
args: {

@@ -160,3 +166,3 @@ id: tool.schema.string().describe("The process ID to read output from"),

background_process_write: tool({
description: "Send input to a running background process's stdin. Useful for interactive processes that accept commands.",
description: "Send input to a running background process started by this tool. You MUST NOT use this for system processes. Useful for interactive processes that accept commands.",
args: {

@@ -189,3 +195,3 @@ id: tool.schema.string().describe("The process ID to send input to"),

background_process_kill: tool({
description: "Kill a background process. Sends SIGTERM by default, or SIGKILL for force kill. Optionally removes the process from tracking.",
description: "Kill a background process started by this tool. You MUST NOT use this to target system processes. Sends SIGTERM by default, or SIGKILL for force kill. Optionally removes the process from tracking.",
args: {

@@ -230,3 +236,3 @@ id: tool.schema.string().describe("The process ID to kill"),

background_process_cleanup: tool({
description: "Remove all exited processes from tracking, or kill all processes and clean up. Useful for housekeeping.",
description: "Remove all exited processes from tracking, or kill all tracked processes and clean up. Only affects processes started by this tool; you MUST NOT expect system cleanup.",
args: {

@@ -233,0 +239,0 @@ killAll: tool.schema

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,IAAI,EAAE,MAAM,qBAAqB,CAAA;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAclD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAA;AAEhD,IAAI,cAAc,GAAG,CAAC,CAAA;AAEtB,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAA;IACjE,OAAO,GAAG,QAAQ,IAAI,EAAE,cAAc,EAAE,CAAA;AAC1C,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB,EAAE,IAAY;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;YACrB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAiB;IACzC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,OAAO,gBAAgB,IAAI,CAAC,QAAQ,GAAG,CAAA;IACzC,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,iBAAiB;IACxB,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,kCAAkC,CAAA;IAC3C,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;IACrD,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1E,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,MAAM,eAAe,OAAO,GAAG,CAAC,CAAA;QAC5E,KAAK,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAC1C,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,MAAyC,EAAE,IAAiB,EAAE,MAAM,GAAG,EAAE;IACrG,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAA;IACjC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;YAC3C,IAAI,IAAI;gBAAE,MAAK;YACf,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YACpD,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAW,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IACrE,MAAM,UAAU,GAAG,uBAAuB,EAAE,CAAA;IAC5C,MAAM,MAAM,GAAoB,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,OAAO;QACL,MAAM;QACN,IAAI,EAAE;YACJ,yBAAyB,EAAE,IAAI,CAAC;gBAC9B,WAAW,EAAE,yPAAyP;gBACtQ,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;oBACpF,GAAG,EAAE,IAAI,CAAC,MAAM;yBACb,MAAM,EAAE;yBACR,QAAQ,EAAE;yBACV,QAAQ,CAAC,mEAAmE,CAAC;oBAChF,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;oBAC3G,cAAc,EAAE,IAAI,CAAC,MAAM;yBACxB,MAAM,EAAE;yBACR,QAAQ,EAAE;yBACV,OAAO,CAAC,GAAG,CAAC;yBACZ,QAAQ,CAAC,uDAAuD,CAAC;iBACrE;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI;oBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,SAAS,CAAA;oBACjC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBAE9C,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtB,OAAO,2BAA2B,EAAE,0EAA0E,CAAA;oBAChH,CAAC;oBAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;wBACjD,GAAG;wBACH,KAAK,EAAE,MAAM;wBACb,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,MAAM;qBACf,CAAC,CAAA;oBAEF,MAAM,IAAI,GAAgB;wBACxB,EAAE;wBACF,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI;wBACJ,MAAM,EAAE,EAAE;wBACV,cAAc,EAAE,IAAI,CAAC,cAAc;wBACnC,SAAS,EAAE,IAAI,IAAI,EAAE;wBACrB,GAAG;wBACH,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,IAAI;qBACf,CAAA;oBAED,kDAAkD;oBAClD,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;oBACjC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW,CAAC,CAAA;oBAE9C,aAAa;oBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;wBAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;wBACpB,YAAY,CAAC,IAAI,EAAE,mCAAmC,IAAI,EAAE,CAAC,CAAA;oBAC/D,CAAC,CAAC,CAAA;oBAEF,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;oBAEvB,yCAAyC;oBACzC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAEpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,OAAO,YAAY,EAAE,8CAA8C,IAAI,CAAC,QAAQ,eAAe,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;oBACzH,CAAC;oBAED,OAAO;MACX,EAAE;OACD,IAAI,CAAC,GAAG;WACJ,IAAI,CAAC,OAAO;OAChB,GAAG;;kFAEwE,CAAA;gBAC1E,CAAC;aACF,CAAC;YAEF,uBAAuB,EAAE,IAAI,CAAC;gBAC5B,WAAW,EACT,gOAAgO;gBAClO,IAAI,EAAE,EAAE;gBACR,KAAK,CAAC,OAAO;oBACX,OAAO,iBAAiB,EAAE,CAAA;gBAC5B,CAAC;aACF,CAAC;YAEF,uBAAuB,EAAE,IAAI,CAAC;gBAC5B,WAAW,EACT,8MAA8M;gBAChN,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;oBACvE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;oBAC7G,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;iBACzG;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI;oBAChB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBACnC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;wBAC9C,OAAO,oCAAoC,IAAI,CAAC,EAAE,2BAA2B,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;oBACjI,CAAC;oBAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBAE7C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;oBAClB,CAAC;oBAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxB,OAAO,YAAY,IAAI,CAAC,EAAE,MAAM,MAAM,4BAA4B,CAAA;oBACpE,CAAC;oBAED,MAAM,MAAM,GAAG,YAAY,IAAI,CAAC,EAAE,MAAM,MAAM,YAAY,MAAM,CAAC,MAAM,SAAS,CAAA;oBAChF,OAAO,GAAG,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAA;gBAC7D,CAAC;aACF,CAAC;YAEF,wBAAwB,EAAE,IAAI,CAAC;gBAC7B,WAAW,EACT,qKAAqK;gBACvK,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;oBACpE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;oBAC9E,OAAO,EAAE,IAAI,CAAC,MAAM;yBACjB,OAAO,EAAE;yBACT,QAAQ,EAAE;yBACV,OAAO,CAAC,IAAI,CAAC;yBACb,QAAQ,CAAC,kDAAkD,CAAC;iBAChE;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI;oBAChB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBACnC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,oCAAoC,IAAI,CAAC,EAAE,IAAI,CAAA;oBACxD,CAAC;oBAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,OAAO,mBAAmB,IAAI,CAAC,EAAE,uBAAuB,CAAA;oBAC1D,CAAC;oBAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAA;oBAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;oBAC7B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACxC,OAAO,mBAAmB,IAAI,CAAC,EAAE,2BAA2B,CAAA;oBAC9D,CAAC;oBACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBAEjB,OAAO,0BAA0B,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;gBAC5E,CAAC;aACF,CAAC;YAEF,uBAAuB,EAAE,IAAI,CAAC;gBAC5B,WAAW,EACT,sMAAsM;gBACxM,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;oBAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;yBAChB,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;yBACtC,QAAQ,EAAE;yBACV,OAAO,CAAC,SAAS,CAAC;yBAClB,QAAQ,CAAC,mCAAmC,CAAC;oBAChD,MAAM,EAAE,IAAI,CAAC,MAAM;yBAChB,OAAO,EAAE;yBACT,QAAQ,EAAE;yBACV,OAAO,CAAC,KAAK,CAAC;yBACd,QAAQ,CAAC,6DAA6D,CAAC;iBAC3E;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI;oBAChB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBACnC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,oCAAoC,IAAI,CAAC,EAAE,IAAI,CAAA;oBACxD,CAAC;oBAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BAChB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;4BACzB,OAAO,YAAY,IAAI,CAAC,EAAE,qBAAqB,MAAM,2BAA2B,CAAA;wBAClF,CAAC;wBACD,OAAO,YAAY,IAAI,CAAC,EAAE,qBAAqB,MAAM,iCAAiC,CAAA;oBACxF,CAAC;oBAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;oBACnF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;oBAEzB,2BAA2B;oBAC3B,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAEpB,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBAExC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBAChB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBACzB,OAAO,YAAY,IAAI,CAAC,EAAE,iBAAiB,IAAI,CAAC,MAAM,KAAK,SAAS,2BAA2B,CAAA;oBACjG,CAAC;oBAED,OAAO,YAAY,IAAI,CAAC,EAAE,iBAAiB,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAA;gBAC1E,CAAC;aACF,CAAC;YAEF,0BAA0B,EAAE,IAAI,CAAC;gBAC/B,WAAW,EACT,yKAAyK;gBAC3K,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,MAAM;yBACjB,OAAO,EAAE;yBACT,QAAQ,EAAE;yBACV,OAAO,CAAC,KAAK,CAAC;yBACd,QAAQ,CAAC,iFAAiF,CAAC;iBAC/F;gBACD,KAAK,CAAC,OAAO,CAAC,IAAI;oBAChB,MAAM,OAAO,GAAa,EAAE,CAAA;oBAC5B,MAAM,MAAM,GAAa,EAAE,CAAA;oBAE3B,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;wBACnC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;4BAChB,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;4BACpB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;wBAClB,CAAC;6BAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA,CAAC,UAAU;4BAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;4BACf,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;wBACtB,CAAC;oBACH,CAAC;oBAED,MAAM,KAAK,GAAa,EAAE,CAAA;oBAC1B,IAAI,MAAM,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC7D,IAAI,OAAO,CAAC,MAAM;wBAAE,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;oBAChE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAA;oBAE/D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACzB,CAAC;aACF,CAAC;SACH;KACF,CAAA;AACH,CAAC,CAAA"}
{
"name": "@howaboua/opencode-background-process",
"version": "0.1.0",
"version": "0.1.1",
"type": "module",

@@ -8,4 +8,16 @@ "description": "OpenCode plugin for managing background processes - launch, monitor, and control long-running tasks",

"types": "./dist/index.d.ts",
"files": ["dist", "README.md", "LICENSE"],
"keywords": ["opencode", "opencode-plugin", "plugin", "background-process", "process-manager", "dev-server"],
"files": [
"dist",
"skills",
"README.md",
"LICENSE"
],
"keywords": [
"opencode",
"opencode-plugin",
"plugin",
"background-process",
"process-manager",
"dev-server"
],
"license": "MIT",

@@ -26,3 +38,3 @@ "publishConfig": {

"clean": "rm -rf dist",
"build": "npm run clean && tsc",
"build": "npm run clean && tsc && cp -r skills dist/",
"dev": "opencode plugin dev",

@@ -29,0 +41,0 @@ "prepublishOnly": "npm run build"

@@ -19,2 +19,6 @@ # opencode-background-process

## Bundled Skill
This plugin ships a bundled skill at `skills/background-process/SKILL.md` that provides housekeeping guidance for long-running processes and how to differentiate it from standard system processes. The plugin registers the skill automatically.
## Tools

@@ -24,3 +28,3 @@

Start a command as a background process.
Start a command as a background process. Use for long-running tasks instead of blocking shell runs.

@@ -36,7 +40,7 @@ | Argument | Type | Required | Description |

List all background processes with status, PID, runtime, and command.
List background processes started by this tool in the current session (not system processes).
### `background_process_read`
Read captured output from a background process.
Read captured output from a background process started by this tool.

@@ -51,3 +55,3 @@ | Argument | Type | Required | Description |

Send input to a running process's stdin.
Send input to a running process started by this tool.

@@ -62,3 +66,3 @@ | Argument | Type | Required | Description |

Kill a background process.
Kill a background process started by this tool.

@@ -73,3 +77,3 @@ | Argument | Type | Required | Description |

Remove exited processes or kill all processes.
Remove exited processes or kill all tracked processes.

@@ -96,3 +100,3 @@ | Argument | Type | Required | Description |

- Processes are tracked per OpenCode session
- Processes are tracked per OpenCode session and only include those started by this tool
- Output is buffered (last 500 lines by default)

@@ -99,0 +103,0 @@ - Auto-generated IDs use the command name (e.g., `bun-1`, `npm-2`)