@a5c-ai/babysitter-codex 0.1.11-staging.fd3ab4c2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.codex-plugin/plugin.json +14 -12
- package/README.md +21 -18
- package/assets/logo.png +0 -0
- package/bin/cli.js +8 -16
- package/bin/install-shared.js +365 -65
- package/bin/install.js +12 -30
- package/bin/uninstall.js +11 -27
- package/hooks/babysitter-proxied-session-start.sh +11 -0
- package/hooks/babysitter-proxied-stop.sh +3 -0
- package/hooks/babysitter-proxied-user-prompt-submit.sh +3 -0
- package/hooks.json +8 -8
- package/package.json +13 -16
- package/plugin.lock.json +153 -0
- package/scripts/create-release-tag.mjs +18 -0
- package/scripts/publish-from-tag.mjs +12 -0
- package/scripts/team-install.js +14 -77
- package/skills/babysit/SKILL.md +2 -0
- package/skills/cleanup/SKILL.md +21 -0
- package/skills/contrib/SKILL.md +34 -0
- package/skills/doctor/SKILL.md +5 -5
- package/skills/help/SKILL.md +3 -2
- package/skills/observe/SKILL.md +1 -1
- package/skills/plugins/SKILL.md +257 -0
- package/babysitter.lock.json +0 -18
- package/hooks/babysitter-session-start.sh +0 -44
- package/hooks/babysitter-stop-hook.sh +0 -44
- package/hooks/user-prompt-submit.sh +0 -33
- package/scripts/sync-command-skills.js +0 -45
- package/skills/issue/SKILL.md +0 -16
- package/skills/model/SKILL.md +0 -15
- package/skills/team-install/SKILL.md +0 -15
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babysitter",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
|
+
"description": "Orchestrate complex, multi-step workflows with event-sourced state management, hook-based extensibility, and human-in-the-loop approval",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "a5c.ai",
|
|
7
|
-
"email": "support@a5c.ai"
|
|
8
|
-
"url": "https://github.com/a5c-ai/babysitter"
|
|
7
|
+
"email": "support@a5c.ai"
|
|
9
8
|
},
|
|
10
|
-
"homepage": "https://github.com/a5c-ai/babysitter/tree/main/plugins/babysitter-codex#readme",
|
|
11
|
-
"repository": "https://github.com/a5c-ai/babysitter",
|
|
12
9
|
"license": "MIT",
|
|
10
|
+
"repository": "https://github.com/a5c-ai/babysitter",
|
|
13
11
|
"keywords": [
|
|
14
|
-
"babysitter",
|
|
15
|
-
"codex",
|
|
16
12
|
"orchestration",
|
|
13
|
+
"workflow",
|
|
14
|
+
"automation",
|
|
15
|
+
"event-sourced",
|
|
17
16
|
"hooks",
|
|
18
|
-
"
|
|
17
|
+
"TDD",
|
|
18
|
+
"quality-convergence",
|
|
19
|
+
"agent",
|
|
20
|
+
"LLM"
|
|
19
21
|
],
|
|
20
22
|
"skills": "./skills/",
|
|
21
23
|
"hooks": "./hooks.json",
|
|
@@ -41,7 +43,7 @@
|
|
|
41
43
|
],
|
|
42
44
|
"brandColor": "#0F766E",
|
|
43
45
|
"composerIcon": "./assets/icon.svg",
|
|
44
|
-
"logo": "./assets/logo.
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
"logo": "./assets/logo.png"
|
|
47
|
+
},
|
|
48
|
+
"homepage": "https://github.com/a5c-ai/babysitter/tree/main/plugins/babysitter-codex#readme"
|
|
47
49
|
}
|
package/README.md
CHANGED
|
@@ -10,9 +10,10 @@ This package ships a real Codex plugin bundle:
|
|
|
10
10
|
- `hooks/`
|
|
11
11
|
|
|
12
12
|
It still uses the Babysitter SDK CLI and the shared `~/.a5c` process-library
|
|
13
|
-
state.
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
state. Global install writes the plugin bundle to `~/.agents/plugins/babysitter`
|
|
14
|
+
and updates `~/.agents/plugins/marketplace.json` so Codex can load the plugin
|
|
15
|
+
through its marketplace surface. Workspace install continues to materialize a
|
|
16
|
+
workspace-local Codex surface for team setup.
|
|
16
17
|
|
|
17
18
|
## Installation
|
|
18
19
|
|
|
@@ -25,8 +26,8 @@ npm install -g @a5c-ai/babysitter-sdk
|
|
|
25
26
|
clone the repo and install the plugin globally:
|
|
26
27
|
|
|
27
28
|
```bash
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
npx -y @a5c-ai/babysitter-codex install --global
|
|
30
|
+
|
|
30
31
|
codex
|
|
31
32
|
|
|
32
33
|
> /plugins
|
|
@@ -34,6 +35,10 @@ codex
|
|
|
34
35
|
|
|
35
36
|
then navigate to the 'babysitter' entry and select 'Install'.
|
|
36
37
|
|
|
38
|
+
If Codex was already open when you ran `install --global`, start a new thread
|
|
39
|
+
after installing from `/plugins` before expecting `babysitter:*` skills such as
|
|
40
|
+
`$babysitter:babysit` or `$babysitter:call` to appear in the mention picker.
|
|
41
|
+
|
|
37
42
|
## Integration Model
|
|
38
43
|
|
|
39
44
|
The plugin provides:
|
|
@@ -50,9 +55,9 @@ The process library is fetched and bound through the SDK CLI in
|
|
|
50
55
|
|
|
51
56
|
After `install --workspace`, the important files are:
|
|
52
57
|
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
58
|
+
- `.agents/plugins/babysitter/.codex-plugin/plugin.json`
|
|
59
|
+
- `.agents/plugins/babysitter/skills/babysit/SKILL.md`
|
|
60
|
+
- `.agents/plugins/babysitter/hooks.json`
|
|
56
61
|
- `.codex/skills/`
|
|
57
62
|
- `.codex/hooks/`
|
|
58
63
|
- `.codex/hooks.json`
|
|
@@ -67,13 +72,10 @@ Verify the installed plugin bundle:
|
|
|
67
72
|
|
|
68
73
|
```bash
|
|
69
74
|
npm ls -g @a5c-ai/babysitter-codex --depth=0
|
|
70
|
-
test -f ~/.
|
|
71
|
-
test -f ~/.
|
|
72
|
-
test -f ~/.
|
|
73
|
-
test -f ~/.
|
|
74
|
-
test -f ~/.codex/hooks.json
|
|
75
|
-
test -f ~/.codex/hooks/babysitter-stop-hook.sh
|
|
76
|
-
test -f ~/.codex/skills/babysit/SKILL.md
|
|
75
|
+
test -f ~/.agents/plugins/babysitter/.codex-plugin/plugin.json
|
|
76
|
+
test -f ~/.agents/plugins/babysitter/hooks.json
|
|
77
|
+
test -f ~/.agents/plugins/babysitter/hooks/babysitter-proxied-stop.sh
|
|
78
|
+
test -f ~/.agents/plugins/babysitter/skills/babysit/SKILL.md
|
|
77
79
|
test -f ~/.agents/plugins/marketplace.json
|
|
78
80
|
```
|
|
79
81
|
|
|
@@ -83,9 +85,10 @@ Verify the active shared process-library binding:
|
|
|
83
85
|
babysitter process-library:active --json
|
|
84
86
|
```
|
|
85
87
|
|
|
86
|
-
On native Windows, Codex
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
On native Windows, Codex hooks require **Codex CLI >= 0.119.0** (released
|
|
89
|
+
2026-04-10, [openai/codex#17268](https://github.com/openai/codex/pull/17268)).
|
|
90
|
+
Older Codex versions silently skipped hook execution on Windows. If hooks do
|
|
91
|
+
not fire after install, run `codex --version` and upgrade if needed.
|
|
89
92
|
|
|
90
93
|
## License
|
|
91
94
|
|
package/assets/logo.png
ADDED
|
Binary file
|
package/bin/cli.js
CHANGED
|
@@ -5,6 +5,8 @@ const path = require('path');
|
|
|
5
5
|
const { spawnSync } = require('child_process');
|
|
6
6
|
|
|
7
7
|
const PACKAGE_ROOT = path.resolve(__dirname, '..');
|
|
8
|
+
let shared;
|
|
9
|
+
try { shared = require('./install-shared'); } catch {}
|
|
8
10
|
|
|
9
11
|
function printUsage() {
|
|
10
12
|
console.error([
|
|
@@ -23,16 +25,10 @@ function parseInstallArgs(argv) {
|
|
|
23
25
|
for (let i = 0; i < argv.length; i += 1) {
|
|
24
26
|
const arg = argv[i];
|
|
25
27
|
if (arg === '--global') {
|
|
26
|
-
if (scope === 'workspace') {
|
|
27
|
-
throw new Error('install accepts either --global or --workspace, not both');
|
|
28
|
-
}
|
|
29
28
|
scope = 'global';
|
|
30
29
|
continue;
|
|
31
30
|
}
|
|
32
31
|
if (arg === '--workspace') {
|
|
33
|
-
if (scope === 'global' && workspace !== null) {
|
|
34
|
-
throw new Error('install accepts either --global or --workspace, not both');
|
|
35
|
-
}
|
|
36
32
|
scope = 'workspace';
|
|
37
33
|
const next = argv[i + 1];
|
|
38
34
|
if (next && !next.startsWith('-')) {
|
|
@@ -46,21 +42,14 @@ function parseInstallArgs(argv) {
|
|
|
46
42
|
passthrough.push(arg);
|
|
47
43
|
}
|
|
48
44
|
|
|
49
|
-
return {
|
|
50
|
-
scope,
|
|
51
|
-
workspace,
|
|
52
|
-
passthrough,
|
|
53
|
-
};
|
|
45
|
+
return { scope, workspace, passthrough };
|
|
54
46
|
}
|
|
55
47
|
|
|
56
48
|
function runNodeScript(scriptPath, args, extraEnv = {}) {
|
|
57
49
|
const result = spawnSync(process.execPath, [scriptPath, ...args], {
|
|
58
50
|
cwd: process.cwd(),
|
|
59
51
|
stdio: 'inherit',
|
|
60
|
-
env: {
|
|
61
|
-
...process.env,
|
|
62
|
-
...extraEnv,
|
|
63
|
-
},
|
|
52
|
+
env: { ...process.env, ...extraEnv },
|
|
64
53
|
});
|
|
65
54
|
process.exitCode = result.status ?? 1;
|
|
66
55
|
}
|
|
@@ -74,6 +63,9 @@ function main() {
|
|
|
74
63
|
}
|
|
75
64
|
|
|
76
65
|
if (command === 'install') {
|
|
66
|
+
if (shared && typeof shared.harnessCliRoute === 'function' && shared.harnessCliRoute(rest, PACKAGE_ROOT, runNodeScript)) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
77
69
|
const parsed = parseInstallArgs(rest);
|
|
78
70
|
if (parsed.scope === 'workspace') {
|
|
79
71
|
const args = [];
|
|
@@ -84,7 +76,7 @@ function main() {
|
|
|
84
76
|
runNodeScript(
|
|
85
77
|
path.join(PACKAGE_ROOT, 'scripts', 'team-install.js'),
|
|
86
78
|
args,
|
|
87
|
-
{
|
|
79
|
+
{ PLUGIN_PACKAGE_ROOT: PACKAGE_ROOT },
|
|
88
80
|
);
|
|
89
81
|
return;
|
|
90
82
|
}
|