@imdeadpool/guardex 7.0.10 → 7.0.11
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/README.md +101 -10
- package/bin/multiagent-safety.js +5 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -9,6 +9,9 @@
|
|
|
9
9
|
> [!WARNING]
|
|
10
10
|
> Not affiliated with OpenAI, Anthropic, or Codex. Not an official tool.
|
|
11
11
|
|
|
12
|
+
> [!IMPORTANT]
|
|
13
|
+
> GitGuardex is still being tested in real multi-agent repos. If something feels rough or broken, especially around cleanup, finish, merge, or recovery flows, sorry. We need to test those paths under real load first, and we'll patch issues as we find them.
|
|
14
|
+
|
|
12
15
|
---
|
|
13
16
|
|
|
14
17
|
## The problem
|
|
@@ -19,6 +22,8 @@ GitGuardex exists to stop that loop. Every agent gets its own worktree, claims t
|
|
|
19
22
|
|
|
20
23
|

|
|
21
24
|
|
|
25
|
+
Coming soon: [recodee.com](https://recodee.com) — live account health, usage, routing, and capacity in one place.
|
|
26
|
+
|
|
22
27
|
```mermaid
|
|
23
28
|
flowchart LR
|
|
24
29
|
A[Agent A edits shared files] --> S[Same target surface]
|
|
@@ -41,7 +46,7 @@ flowchart LR
|
|
|
41
46
|
- **Explicit file lock claiming** — an agent declares which files it's editing before it edits them.
|
|
42
47
|
- **Deletion guard** — claimed files can't be removed by another agent.
|
|
43
48
|
- **Protected-base safety** — `main`, `dev`, `master` are blocked by default; agents must go through PRs.
|
|
44
|
-
- **Auto-merges agent configs into every worktree** — `oh-my-codex`, `oh-my-
|
|
49
|
+
- **Auto-merges agent configs into every worktree** — `oh-my-codex`, `oh-my-claudecode`, caveman mode, and OpenSpec all get applied automatically so every spawned agent starts tuned, not bare.
|
|
45
50
|
- **Repair/doctor flow** — when drift happens (and it will), `gx doctor` gets you back to a clean state.
|
|
46
51
|
- **Auto-finish** — when Codex exits a session, Guardex commits sandbox changes, syncs against the base, retries once if the base moved, and opens a PR.
|
|
47
52
|
|
|
@@ -59,6 +64,16 @@ That's it. Setup installs hooks, scripts, templates, and scaffolds OpenSpec/cave
|
|
|
59
64
|
|
|
60
65
|
---
|
|
61
66
|
|
|
67
|
+
## What `gx` shows first
|
|
68
|
+
|
|
69
|
+
Before you branch, repair, or start agents, run plain `gx`. It gives you a one-screen status view for the CLI, global helpers, repo safety service, current repo path, and active branch.
|
|
70
|
+
|
|
71
|
+

|
|
72
|
+
|
|
73
|
+
Use `gx setup` the first time you wire GitGuardex into a repo. It bootstraps the managed hooks, scripts, templates, and optional workspace/OpenSpec wiring. If the repo drifts later, use `gx doctor` as the repair path: it reapplies the managed safety files, verifies the setup, and on protected `main` it auto-sandboxes the repair so your visible base branch stays clean.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
62
77
|
## Daily workflow
|
|
63
78
|
|
|
64
79
|
Per new agent task:
|
|
@@ -222,7 +237,7 @@ A few things worth knowing up front:
|
|
|
222
237
|
|
|
223
238
|
- Running `gx` with no command opens the status/health view.
|
|
224
239
|
- `gx init` is just an alias for `gx setup`.
|
|
225
|
-
- Setup/doctor can install missing global
|
|
240
|
+
- Setup/doctor can install missing global companion CLIs (OMC runtime, OpenSpec, cavemem, codex-auth) — but only with explicit Y/N confirmation.
|
|
226
241
|
- Direct commits/pushes to protected branches are **blocked** by default. Agents must use the `agent/*` + PR flow.
|
|
227
242
|
- **Exception:** VS Code Source Control commits are allowed on protected branches that exist only locally (no upstream, no remote branch).
|
|
228
243
|
- On protected `main`, `gx doctor` auto-runs in a sandbox agent branch/worktree so it can't touch your real main.
|
|
@@ -240,21 +255,82 @@ git config multiagent.allowVscodeProtectedBranchWrites true
|
|
|
240
255
|
|
|
241
256
|
## Companion tools
|
|
242
257
|
|
|
243
|
-
GitGuardex is designed to work alongside these. All optional — but if you're running many agents, you probably want them.
|
|
258
|
+
GitGuardex is designed to work alongside these. All optional — but if you're running many agents, you probably want them. `gx status` reports the machine-detectable global helpers; plugin/skills-first add-ons like `caveman` and `cavekit` are documented below for manual setup.
|
|
244
259
|
|
|
245
|
-
|
|
260
|
+
```text
|
|
261
|
+
● oh-my-codex: active
|
|
262
|
+
● oh-my-claude-sisyphus: active
|
|
263
|
+
● @fission-ai/openspec: active
|
|
264
|
+
● cavemem: active
|
|
265
|
+
● @imdeadpool/codex-account-switcher: active
|
|
266
|
+
● gh: active
|
|
267
|
+
```
|
|
246
268
|
|
|
247
|
-
|
|
269
|
+
### oh-my-codex — Codex config + skills framework
|
|
270
|
+
|
|
271
|
+
Loads skills, slash commands, and session defaults into Codex. Guardex merges `oh-my-codex` into every agent worktree automatically, so every spawned agent starts with the same tuned config instead of vanilla Codex.
|
|
248
272
|
|
|
249
273
|
```sh
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
274
|
+
npm i -g oh-my-codex
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
Repo: <https://github.com/Yeachan-Heo/oh-my-codex>
|
|
278
|
+
|
|
279
|
+
### oh-my-claudecode — Claude Code equivalent
|
|
280
|
+
|
|
281
|
+
Claude-side mirror of oh-my-codex. Same idea: skills, commands, and defaults loaded into every Claude Code session. Guardex merges it into worktrees alongside oh-my-codex so mixed Codex + Claude agent fleets behave consistently. For the npm CLI/runtime path, the published package name is `oh-my-claude-sisyphus`.
|
|
282
|
+
|
|
283
|
+
```sh
|
|
284
|
+
npm i -g oh-my-claude-sisyphus@latest
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Repo: <https://github.com/Yeachan-Heo/oh-my-claudecode>
|
|
288
|
+
|
|
289
|
+
### Caveman — output compression for long agent runs
|
|
290
|
+
|
|
291
|
+
Ultra-compressed response mode for Claude/Codex-style agents. Useful when you want less output-token churn during long reviews, debug loops, or multi-agent sessions.
|
|
292
|
+
|
|
293
|
+
```sh
|
|
294
|
+
npx skills add JuliusBrussee/caveman
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Repo: <https://github.com/JuliusBrussee/caveman>
|
|
298
|
+
|
|
299
|
+
### Cavemem — local persistent memory for agents
|
|
300
|
+
|
|
301
|
+
Cross-agent memory with local SQLite + MCP. Helpful when you want Codex or Claude sessions to retain compressed history across runs. `gx setup` can install the CLI; you still run the IDE wiring once per machine.
|
|
302
|
+
|
|
303
|
+
```sh
|
|
304
|
+
npm install -g cavemem
|
|
305
|
+
cavemem install --ide codex
|
|
306
|
+
cavemem status
|
|
253
307
|
```
|
|
254
308
|
|
|
309
|
+
Repo: <https://github.com/JuliusBrussee/cavemem>
|
|
310
|
+
|
|
311
|
+
### Cavekit — spec-driven build loop
|
|
312
|
+
|
|
313
|
+
Spec-driven workflow layer for building from durable specs with explicit build/check commands. The current install path also brings in its `spec`, `build`, `check`, `caveman`, and `backprop` skills.
|
|
314
|
+
|
|
315
|
+
```sh
|
|
316
|
+
npx skills add JuliusBrussee/cavekit
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
Repo: <https://github.com/JuliusBrussee/cavekit>
|
|
320
|
+
|
|
321
|
+
### OpenSpec — spec-driven workflows
|
|
322
|
+
|
|
323
|
+
Structured plan/change/apply/archive flow for agents. Prevents them from drifting off-task on long jobs. Full guide: [`docs/openspec-getting-started.md`](./docs/openspec-getting-started.md).
|
|
324
|
+
|
|
325
|
+
```sh
|
|
326
|
+
npm i -g @fission-ai/openspec
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Repo: <https://github.com/Fission-AI/OpenSpec>
|
|
330
|
+
|
|
255
331
|
### codex-auth — multi-account switcher
|
|
256
332
|
|
|
257
|
-
For multi-identity Codex workflows. I built this because switching accounts manually for 30 agents was impossible.
|
|
333
|
+
For multi-identity Codex workflows. I built this because switching accounts manually for 30 agents was impossible. Auto-registers accounts to a dashboard on `codex login` so you can see every account and switch with one command.
|
|
258
334
|
|
|
259
335
|
```sh
|
|
260
336
|
npm i -g @imdeadpool/codex-account-switcher
|
|
@@ -267,6 +343,16 @@ codex-auth current
|
|
|
267
343
|
|
|
268
344
|
Repo: [recodeecom/codex-account-switcher-cli](https://github.com/recodeecom/codex-account-switcher-cli)
|
|
269
345
|
|
|
346
|
+
### GitHub CLI (`gh`)
|
|
347
|
+
|
|
348
|
+
Required for PR/merge automation. `agent-branch-finish.sh` and `codex-agent.sh` auto-finish both depend on it.
|
|
349
|
+
|
|
350
|
+
```sh
|
|
351
|
+
# https://cli.github.com/
|
|
352
|
+
gh --version
|
|
353
|
+
gh auth status
|
|
354
|
+
```
|
|
355
|
+
|
|
270
356
|
### Pull app — fork auto-sync
|
|
271
357
|
|
|
272
358
|
Guardex installs a starter config at `.github/pull.yml.example`.
|
|
@@ -283,7 +369,7 @@ Validate: `https://pull.git.ci/check/<owner>/<repo>`
|
|
|
283
369
|
|
|
284
370
|
Install: <https://github.com/apps/cr-gpt>
|
|
285
371
|
|
|
286
|
-
`gx setup` installs `.github/workflows/cr.yml`.
|
|
372
|
+
`gx setup` installs `.github/workflows/cr.yml`. Add `OPENAI_API_KEY` under `Settings → Secrets and variables → Actions → Secrets`. After that, new and updated PRs get reviewed automatically.
|
|
287
373
|
|
|
288
374
|
---
|
|
289
375
|
|
|
@@ -402,6 +488,11 @@ npm pack --dry-run
|
|
|
402
488
|
<details>
|
|
403
489
|
<summary><strong>v7.x</strong></summary>
|
|
404
490
|
|
|
491
|
+
### v7.0.11
|
|
492
|
+
- Fixed the npm release workflow trigger so publishes run from `release.published` or explicit manual dispatch, instead of double-firing on both the tag push and the release event.
|
|
493
|
+
- This keeps the GitHub `npm` environment from collecting duplicate cancelled deploy cards for the same version and leaves one canonical release deployment to monitor.
|
|
494
|
+
- Bumped `@imdeadpool/guardex` from `7.0.10` → `7.0.11` so the next release can publish cleanly after `7.0.10` was already taken on npm.
|
|
495
|
+
|
|
405
496
|
### v7.0.10
|
|
406
497
|
- Primary user-facing long name is now **GitGuardex**. CLI/help presents `gitguardex` as the long-form command; `gx` stays the preferred short alias; `guardex` remains as legacy compatibility.
|
|
407
498
|
- Installed Codex/Claude startup files now use `gitguardex` paths: `.codex/skills/gitguardex/SKILL.md` and `.claude/commands/gitguardex.md`.
|
package/bin/multiagent-safety.js
CHANGED
|
@@ -11,10 +11,13 @@ const TOOL_NAME = 'gitguardex';
|
|
|
11
11
|
const SHORT_TOOL_NAME = 'gx';
|
|
12
12
|
const LEGACY_NAMES = ['guardex', 'multiagent-safety'];
|
|
13
13
|
const OPENSPEC_PACKAGE = '@fission-ai/openspec';
|
|
14
|
+
const OMC_PACKAGE = 'oh-my-claude-sisyphus';
|
|
15
|
+
const CAVEMEM_PACKAGE = 'cavemem';
|
|
14
16
|
const GLOBAL_TOOLCHAIN_PACKAGES = [
|
|
15
17
|
'oh-my-codex',
|
|
16
|
-
|
|
18
|
+
OMC_PACKAGE,
|
|
17
19
|
OPENSPEC_PACKAGE,
|
|
20
|
+
CAVEMEM_PACKAGE,
|
|
18
21
|
'@imdeadpool/codex-account-switcher',
|
|
19
22
|
];
|
|
20
23
|
const GH_BIN = process.env.GUARDEX_GH_BIN || 'gh';
|
|
@@ -4713,7 +4716,7 @@ function setup(rawArgs) {
|
|
|
4713
4716
|
`[${TOOL_NAME}] ✅ Global tools installed (${(globalInstallStatus.packages || []).join(', ')}).`,
|
|
4714
4717
|
);
|
|
4715
4718
|
} else if (globalInstallStatus.status === 'already-installed') {
|
|
4716
|
-
console.log(`[${TOOL_NAME}] ✅
|
|
4719
|
+
console.log(`[${TOOL_NAME}] ✅ Companion npm global tools already installed. Skipping.`);
|
|
4717
4720
|
} else if (globalInstallStatus.status === 'failed') {
|
|
4718
4721
|
console.log(
|
|
4719
4722
|
`[${TOOL_NAME}] ⚠️ Global install failed: ${globalInstallStatus.reason}\n` +
|