Repository navigation
REL-001 — Complete npm bootstrap and Trusted Publishing activation #88
Description
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 bootstrapThe 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
trueonly 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-releaseenvironment; - 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 versionreports0.1.0.
Acceptance Criteria
- bootstrap
0.0.0exists under thebootstraptag (npm temporarily also assignslatestto the first version); - npm Trusted Publisher is configured;
- GitHub
npm-releaseenvironment is protected; -
NPM_PUBLISH_ENABLED=trueis configured only after verification; - Dependency Graph is enabled and Dependency Review executes successfully;
-
0.1.0publishes through OIDC without a long-lived npm token; - npm package, Git tag, GitHub Release, and provenance agree on
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.
Activity
dDevAhmed commentedon Sep 16, 2026
Progress update (2026-09-16): GitHub Dependency Graph/Dependency Review is now operational. Recent PRs #92 and #93 received successful Dependency Review runs, so the Dependency Graph acceptance item is effectively satisfied. Remaining REL-001 work is the maintainer-controlled npm namespace bootstrap, npm Trusted Publisher configuration, protected
npm-releaseenvironment,NPM_PUBLISH_ENABLED=true, and first protected OIDC publication/provenance verification.dDevAhmed commentedon Sep 22, 2026
Repository-side REL-001 readiness is complete as of merge commit
224c484b411e71791fba474fbf103f11a874170d.Verified post-merge Release run: https://github.com/DigiNodes/stellarforge-cli/actions/runs/35670800591
Publication disabledcompleted successfully.Publish npm package and GitHub releasewas skipped.NPM_PUBLISH_ENABLEDremainsfalse.0.1.0product release was performed.The protected OIDC release path is now prepared but intentionally dormant until the CLI reaches an approved release milestone. The remaining REL-001 acceptance criteria should stay open until maintainers intentionally authorize and verify the first real release.
dDevAhmed commentedon Sep 22, 2026
Contributor-readiness follow-up is in PR #224.
Audit results:
intake: ready, matching the configured first batch;npm testfailure was caused by unconditional local Cargo execution; PR chore: complete contributor readiness follow-up #224 preserves template assertions everywhere and runscargo metadataonly when Cargo is installed;0.0.0bootstrap placeholder from a supported release and record the completed Trusted Publisher/environment/Dependency Graph setup;NPM_PUBLISH_ENABLEDremainsfalse.Local validation: typecheck, lint, formatting, 155 applicable tests, build, and package dry-run all pass. GitHub CI, Dependency Review, Contributor PR Guard, E2E Smoke, and CodeQL are green on PR #224. REL-001 remains open for the first approved protected OIDC publication.