Skip to content

Commit aca7f8a

Browse files
NagyViktNagyVikt
andauthored
Restore the published npm package identity users already install (#266)
Changing package.json from @imdeadpool/guardex to @imdeadpool/gitguardex created a separate npm package identity instead of renaming the existing registry entry. This restores the manifest, install/update copy, tutorial/docs assets, and regression tests to the package users can actually install today, and bumps the version so the next publish can succeed against the existing @imdeadpool/guardex release line. Constraint: npm package names are immutable registry identities; changing name publishes a different package Constraint: @imdeadpool/guardex@7.0.16 is already published on npm, so the revert must advance the version Rejected: Keep @imdeadpool/gitguardex and only tweak docs | npm view returns 404 so install and self-update guidance would still point at a non-existent package Confidence: high Scope-risk: moderate Reversibility: clean Directive: Do not change package.json.name again without confirming the target package exists on npm and the next version is publishable Tested: node --test --test-name-pattern "(default invocation checks for update and can auto-approve latest install|self-update verifies on-disk version after @latest install and retries with pinned version when stale|self-update restarts into the installed CLI after a successful on-disk upgrade|status --json returns cli, services, and repo summary|prompt outputs AI setup instructions|prompt --exec outputs command-only checklist|deprecated copy-commands alias still works and warns)" test/install.test.js; node --check bin/multiagent-safety.js; npm pack --dry-run; openspec validate agent-codex-restore-guardex-npm-package-name-2026-04-22-00-02 --type change --strict; openspec validate --specs; npm test Not-tested: live npm publish; live GitHub release flow Co-authored-by: NagyVikt <nagy.viktordp@gmail.com>
1 parent ae8bb76 commit aca7f8a

13 files changed

Lines changed: 115 additions & 43 deletions

File tree

README.md

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# GitGuardex — Guardian T-Rex for your repo
22

3-
[![npm version](https://img.shields.io/npm/v/%40imdeadpool%2Fgitguardex?label=npm&color=cb3837&logo=npm)](https://www.npmjs.com/package/@imdeadpool/gitguardex)
4-
[![npm downloads](https://img.shields.io/npm/dm/%40imdeadpool%2Fgitguardex?label=downloads&color=0b76c5)](https://www.npmjs.com/package/@imdeadpool/gitguardex)
3+
[![npm version](https://img.shields.io/npm/v/%40imdeadpool%2Fguardex?label=npm&color=cb3837&logo=npm)](https://www.npmjs.com/package/@imdeadpool/guardex)
4+
[![npm downloads](https://img.shields.io/npm/dm/%40imdeadpool%2Fguardex?label=downloads&color=0b76c5)](https://www.npmjs.com/package/@imdeadpool/guardex)
55
[![GitHub stars](https://img.shields.io/github/stars/recodeee/gitguardex?label=stars&color=d4ac0d)](https://github.com/recodeee/gitguardex/stargazers)
6-
[![License](https://img.shields.io/npm/l/%40imdeadpool%2Fgitguardex?label=License&color=97ca00)](./LICENSE)
6+
[![License](https://img.shields.io/npm/l/%40imdeadpool%2Fguardex?label=License&color=97ca00)](./LICENSE)
77

88
[![CI](https://img.shields.io/github/actions/workflow/status/recodeee/gitguardex/ci.yml?branch=main&label=CI)](https://github.com/recodeee/gitguardex/actions/workflows/ci.yml)
99
[![Release](https://img.shields.io/github/actions/workflow/status/recodeee/gitguardex/release.yml?label=Release)](https://github.com/recodeee/gitguardex/actions/workflows/release.yml)
@@ -44,7 +44,7 @@ GitGuardex exists to stop that loop. Every agent gets its own worktree, claims t
4444
<h3 align="center">Install in one line</h3>
4545

4646
```bash
47-
npm i -g @imdeadpool/gitguardex
47+
npm i -g @imdeadpool/guardex
4848
```
4949

5050
<p align="center">
@@ -55,8 +55,8 @@ npm i -g @imdeadpool/gitguardex
5555
</p>
5656

5757
<p align="center">
58-
<a href="https://www.npmjs.com/package/@imdeadpool/gitguardex"><img alt="npm" src="https://img.shields.io/npm/v/%40imdeadpool%2Fgitguardex?label=latest&style=flat-square&color=cb3837&logo=npm&logoColor=white"></a>
59-
<a href="https://www.npmjs.com/package/@imdeadpool/gitguardex"><img alt="downloads" src="https://img.shields.io/npm/dm/%40imdeadpool%2Fgitguardex?label=downloads&style=flat-square&color=0b76c5"></a>
58+
<a href="https://www.npmjs.com/package/@imdeadpool/guardex"><img alt="npm" src="https://img.shields.io/npm/v/%40imdeadpool%2Fguardex?label=latest&style=flat-square&color=cb3837&logo=npm&logoColor=white"></a>
59+
<a href="https://www.npmjs.com/package/@imdeadpool/guardex"><img alt="downloads" src="https://img.shields.io/npm/dm/%40imdeadpool%2Fguardex?label=downloads&style=flat-square&color=0b76c5"></a>
6060
<a href="https://github.com/recodeee/gitguardex/stargazers"><img alt="stars" src="https://img.shields.io/github/stars/recodeee/gitguardex?style=flat-square&color=d4ac0d"></a>
6161
</p>
6262

@@ -83,12 +83,12 @@ Coming soon: [recodee.com](https://recodee.com) — live account health, usage,
8383
## Quick start
8484

8585
```sh
86-
npm i -g @imdeadpool/gitguardex
86+
npm i -g @imdeadpool/guardex
8787
cd /path/to/your/repo
8888
gx setup
8989
```
9090

91-
That's it. New installs should use `@imdeadpool/gitguardex` so the published package matches the GitGuardex name. Setup installs hooks, scripts, templates, and scaffolds OpenSpec/caveman/OMX wiring. Aliases: `gx` (preferred), `gitguardex` (full), `guardex` (legacy compatibility).
91+
That's it. Install and update via `@imdeadpool/guardex`. Setup installs hooks, scripts, templates, and scaffolds OpenSpec/caveman/OMX wiring. Aliases: `gx` (preferred), `gitguardex` (full), `guardex` (legacy compatibility).
9292

9393
---
9494

@@ -641,6 +641,11 @@ npm pack --dry-run
641641
<details>
642642
<summary><strong>v7.x</strong></summary>
643643

644+
### v7.0.17
645+
- Restored the published npm package name to `@imdeadpool/guardex` after the `@imdeadpool/gitguardex` rename only changed the package identity locally and could not rename the existing npm registry entry.
646+
- README/install/tutorial/self-update surfaces now point back at `@imdeadpool/guardex` while keeping GitGuardex as the product/repo brand and `gitguardex` as the long-form command.
647+
- Bumped the release from `7.0.16``7.0.17` because `@imdeadpool/guardex@7.0.16` is already published on npm.
648+
644649
### v7.0.16
645650
- GitGuardex now publishes under the matching npm package name `@imdeadpool/gitguardex`, and install/help/docs surfaces point at the renamed package instead of the older `@imdeadpool/guardex` scope.
646651
- `gx doctor` now keeps nested repo repair runs visibly progressing, and overlapping integration work stays off the protected base branch instead of trying to merge back on `main`.

docs/images/install-hero.svg

Lines changed: 3 additions & 3 deletions
Loading

docs/images/setup-success.svg

Lines changed: 2 additions & 2 deletions
Loading

docs/images/status-tools-logs.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/images/workflow-gx-terminal-status.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/redditpost.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Source baseline: [`README.md`](../README.md)
44

55
Project links:
66
- GitHub: https://github.com/recodeecom/multiagent-safety
7-
- npm: https://www.npmjs.com/package/@imdeadpool/gitguardex
7+
- npm: https://www.npmjs.com/package/@imdeadpool/guardex
88

99
## Recommended Title Options
1010

@@ -29,7 +29,7 @@ What it does:
2929
Quick start:
3030

3131
```bash
32-
npm i -g @imdeadpool/gitguardex
32+
npm i -g @imdeadpool/guardex
3333
gx setup
3434
```
3535

@@ -45,7 +45,7 @@ bash scripts/agent-branch-finish.sh --branch "$(git rev-parse --abbrev-ref HEAD)
4545
If you run Codex/Claude-style parallel workflows, I would value feedback on edge cases your team hits in production.
4646

4747
GitHub: https://github.com/recodeecom/multiagent-safety
48-
npm: https://www.npmjs.com/package/@imdeadpool/gitguardex
48+
npm: https://www.npmjs.com/package/@imdeadpool/guardex
4949

5050
## Copy-Ready Reddit Post (short)
5151

@@ -54,12 +54,12 @@ I open-sourced **GitGuardex** for safer multi-agent Git workflows.
5454
It adds branch/worktree guardrails, protected-branch enforcement, file-lock ownership, and repair scripts (`gx setup` / `gx doctor`) so parallel agent execution is safer by default.
5555

5656
```bash
57-
npm i -g @imdeadpool/gitguardex
57+
npm i -g @imdeadpool/guardex
5858
gx setup
5959
```
6060

6161
GitHub: https://github.com/recodeecom/multiagent-safety
62-
npm: https://www.npmjs.com/package/@imdeadpool/gitguardex
62+
npm: https://www.npmjs.com/package/@imdeadpool/guardex
6363

6464
## Images to include in the Reddit post
6565

frontend/app/page.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ interface ModeGuide {
126126
}
127127

128128
const MODE_ORDER: ModeKey[] = ['execute', 'plan', 'merge', 'installation']
129-
const INSTALL_COMMAND = 'npm i -g @imdeadpool/gitguardex'
129+
const INSTALL_COMMAND = 'npm i -g @imdeadpool/guardex'
130130
const PRODUCT_LABEL = 'Recodee'
131131
const EDITOR_LABEL = 'recodee — VS Code'
132132

@@ -1697,7 +1697,7 @@ const INSTALL_STEPS: TutorialStep[] = [
16971697
sub: '· global install',
16981698
elapsed: '3.8s',
16991699
rows: [
1700-
{ kind: 'shell', label: 'bash:', value: 'npm i -g @imdeadpool/gitguardex' },
1700+
{ kind: 'shell', label: 'bash:', value: 'npm i -g @imdeadpool/guardex' },
17011701
],
17021702
},
17031703
],
@@ -1712,7 +1712,7 @@ const INSTALL_STEPS: TutorialStep[] = [
17121712
],
17131713
worktrees: [],
17141714
codeLines: [
1715-
{ parts: [c('$ npm i -g @imdeadpool/gitguardex', 'c')] },
1715+
{ parts: [c('$ npm i -g @imdeadpool/guardex', 'c')] },
17161716
{ parts: [c('added 1 package in 3.8s')] },
17171717
{ parts: [c('')] },
17181718
{ parts: [c('$ gx --version')] },
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## Why
2+
3+
- The repo changed `package.json.name` to `@imdeadpool/gitguardex`, but npm treats a package name change as a different package identity, not a rename of the existing registry entry.
4+
- The live npm registry still serves `@imdeadpool/guardex@7.0.16`, while `npm view @imdeadpool/gitguardex version` returns `404`.
5+
- README, tutorial, Reddit kit, and self-update expectations now point at a package name that is not the install target users actually have.
6+
7+
## What Changes
8+
9+
- Restore the published package metadata to `@imdeadpool/guardex`.
10+
- Bump the package version from `7.0.16` to `7.0.17` so the next publish is valid against the existing `@imdeadpool/guardex@7.0.16` release.
11+
- Refresh install, self-update, tutorial, and README-linked asset surfaces to reference `@imdeadpool/guardex`.
12+
13+
## Compatibility
14+
15+
- Keep `gx` as the preferred short command.
16+
- Keep `gitguardex` as the long-form command and product/repo brand.
17+
- Keep `guardex` as the legacy compatibility bin alias.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## ADDED Requirements
2+
3+
### Requirement: Published npm package name stays on the existing guardex registry entry
4+
The system SHALL publish and document the primary npm package as `@imdeadpool/guardex`.
5+
6+
#### Scenario: package metadata advertises the existing package
7+
- **WHEN** the root `package.json` metadata is inspected
8+
- **THEN** `name` equals `@imdeadpool/guardex`
9+
- **AND** downstream package metadata snapshots use the same package name.
10+
11+
#### Scenario: the next release stays publishable on npm
12+
- **WHEN** the package metadata is prepared for the next publish
13+
- **THEN** the version is greater than the already-published `@imdeadpool/guardex@7.0.16`
14+
- **AND** the package can publish without colliding with the existing registry version.
15+
16+
### Requirement: Install and update guidance references the real npm package
17+
The README, tutorial UI, and self-update/install guidance SHALL use `@imdeadpool/guardex` while keeping GitGuardex as the product brand.
18+
19+
#### Scenario: install and self-update prompts use the restored package
20+
- **WHEN** a user reads CLI install/setup guidance or the self-update flow
21+
- **THEN** the npm command examples reference `@imdeadpool/guardex`
22+
- **AND** the CLI keeps `gx`, `gitguardex`, and `guardex` command compatibility.
23+
24+
#### Scenario: docs and README-linked assets are aligned
25+
- **WHEN** the README, tutorial page, Reddit kit, or README-linked SVG assets are inspected
26+
- **THEN** install commands, npm badges, and package-name callouts reference `@imdeadpool/guardex`
27+
- **AND** GitGuardex remains the visible product/repo name.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## 1. Spec
2+
3+
- [x] 1.1 Capture why the npm package rename has to revert and the versioning constraint for the next publish.
4+
5+
## 2. Tests
6+
7+
- [x] 2.1 Update the package-name-dependent install/self-update/status assertions back to `@imdeadpool/guardex`.
8+
9+
## 3. Implementation
10+
11+
- [x] 3.1 Restore package metadata to `@imdeadpool/guardex` and bump the package version to `7.0.17`.
12+
- [x] 3.2 Refresh README, tutorial, Reddit kit, and README-linked assets to reference `@imdeadpool/guardex`.
13+
14+
## 4. Verification
15+
16+
- [x] 4.1 Run targeted package-name verification (`node --test --test-name-pattern "(default invocation checks for update and can auto-approve latest install|self-update verifies on-disk version after @latest install and retries with pinned version when stale|self-update restarts into the installed CLI after a successful on-disk upgrade|status --json returns cli, services, and repo summary|prompt outputs AI setup instructions|prompt --exec outputs command-only checklist|deprecated copy-commands alias still works and warns)" test/install.test.js`, `node --check bin/multiagent-safety.js`, `npm pack --dry-run`) and record the results. Result: targeted package-name verification passed `7/7`; `node --check bin/multiagent-safety.js` passed; `npm pack --dry-run` produced `imdeadpool-guardex-7.0.17.tgz`.
17+
- [x] 4.2 Run `openspec validate agent-codex-restore-guardex-npm-package-name-2026-04-22-00-02 --type change --strict`. Result: `Change 'agent-codex-restore-guardex-npm-package-name-2026-04-22-00-02' is valid`.
18+
- [x] 4.3 Run `openspec validate --specs`. Result: `No items found to validate.`
19+
- [x] 4.4 Run `npm test` after the package-name revert to confirm broader repo integrity. Result: full suite passed `163/163`.
20+
21+
## 5. Cleanup
22+
23+
- [ ] 5.1 Finish branch via PR merge + cleanup and record final `MERGED` evidence.

0 commit comments

Comments
 (0)