Summary
Complete the one-time administrative setup required to publish @diginodes/stellarforge-cli@0.1.0 through the protected OIDC workflow.
The original @stellarforge npm scope was unavailable. The permanent package identity is therefore @diginodes/stellarforge-cli, owned by the diginodes npm organization and aligned with the DigiNodes GitHub organization.
One-time npm namespace bootstrap
Use the reviewed bootstrap branch:
release/npm-bootstrap-0.0.0
Validated branch head:
8c2cf209eef97349a46cfb1dfb2002834c8e29b6
From an approved maintainer workstation:
git clone https://github.com/DigiNodes/stellarforge-cli.git stellarforge-cli-bootstrap
cd stellarforge-cli-bootstrap
git checkout 8c2cf209eef97349a46cfb1dfb2002834c8e29b6
npm ci --ignore-scripts --no-audit --no-fund
npm run build
npm run release:dry-run
npm login --auth-type=web --registry=https://registry.npmjs.org/
npm publish --access public --tag bootstrap
The bootstrap must create @diginodes/stellarforge-cli@0.0.0 under the non-default bootstrap dist-tag. npm also assigns latest to a package's first published version and currently rejects removing it with HTTP 400; the first OIDC release must move latest to 0.1.0.
Do not add an NPM_TOKEN to GitHub.
npm Trusted Publisher
After the package exists, configure:
- package:
@diginodes/stellarforge-cli
- provider: GitHub Actions
- organization/user:
DigiNodes
- repository:
stellarforge-cli
- workflow:
release.yml
- environment:
npm-release
- direct
npm publish: allowed
GitHub administrative controls
- create environment
npm-release;
- require maintainer approval;
- restrict deployment to
main;
- create repository Actions variable
NPM_PUBLISH_ENABLED=false;
- change it to
true only after bootstrap, Trusted Publishing, environment protection, and release-readiness changes are verified;
- keep Dependency Graph enabled so Dependency Review remains enforceable.
Activate 0.1.0 publication
After all controls are in place:
- merge the reviewed release-readiness change;
- verify the Release workflow enters publish mode;
- approve the
npm-release environment;
- verify npm publishes
@diginodes/stellarforge-cli@0.1.0;
- verify the matching Git tag and GitHub Release exist;
- verify npm provenance is displayed;
- verify
npm view @diginodes/stellarforge-cli version reports 0.1.0.
Acceptance Criteria
Security
Do not paste npm credentials, 2FA codes, private tokens, CLI authorization URLs, or secret material into this issue or CI logs.
Summary
Complete the one-time administrative setup required to publish
@diginodes/stellarforge-cli@0.1.0through the protected OIDC workflow.The original
@stellarforgenpm scope was unavailable. The permanent package identity is therefore@diginodes/stellarforge-cli, owned by thediginodesnpm organization and aligned with the DigiNodes GitHub organization.One-time npm namespace bootstrap
Use the reviewed bootstrap branch:
Validated branch head:
From an approved maintainer workstation:
git clone https://github.com/DigiNodes/stellarforge-cli.git stellarforge-cli-bootstrap cd stellarforge-cli-bootstrap git checkout 8c2cf209eef97349a46cfb1dfb2002834c8e29b6 npm ci --ignore-scripts --no-audit --no-fund npm run build npm run release:dry-run npm login --auth-type=web --registry=https://registry.npmjs.org/ npm publish --access public --tag bootstrapThe bootstrap must create
@diginodes/stellarforge-cli@0.0.0under the non-defaultbootstrapdist-tag. npm also assignslatestto a package's first published version and currently rejects removing it with HTTP 400; the first OIDC release must movelatestto0.1.0.Do not add an
NPM_TOKENto GitHub.npm Trusted Publisher
After the package exists, configure:
@diginodes/stellarforge-cliDigiNodesstellarforge-clirelease.ymlnpm-releasenpm publish: allowedGitHub administrative controls
npm-release;main;NPM_PUBLISH_ENABLED=false;trueonly after bootstrap, Trusted Publishing, environment protection, and release-readiness changes are verified;Activate 0.1.0 publication
After all controls are in place:
npm-releaseenvironment;@diginodes/stellarforge-cli@0.1.0;npm view @diginodes/stellarforge-cli versionreports0.1.0.Acceptance Criteria
0.0.0exists under thebootstraptag (npm temporarily also assignslatestto the first version);npm-releaseenvironment is protected;NPM_PUBLISH_ENABLED=trueis configured only after verification;0.1.0publishes through OIDC without a long-lived npm token;0.1.0.Security
Do not paste npm credentials, 2FA codes, private tokens, CLI authorization URLs, or secret material into this issue or CI logs.