Lightweight tool for recoverable release distribution to npm, SDKMAN, Homebrew taps, and WinGet. It plans existing artifacts, records publication state, and reconciles pending or uncertain outcomes before retrying side effects.
For an npm target configured with the credential reference npm-publish:
- id: plan
uses: aalsanie/distroplane@v0.9.0-rc.2
with:
command: plan
- uses: aalsanie/distroplane@v0.9.0-rc.2
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
with:
command: apply
plan: ${{ steps.plan.outputs.plan-path }}
credential-mappings: npm-publish=NPM_TOKENSee GitHub Actions for plan handoff, reconciliation, OIDC, and evidence.
Install Distroplane, create a configuration, then:
distroplane plan --config distroplane.json
distroplane apply --plan PLAN.json --journal run.journal --credential npm-publish=NPM_TOKEN
distroplane status --plan PLAN.json --journal run.journal
distroplane reconcile --plan PLAN.json --journal run.journal --credential npm-publish=NPM_TOKEN
distroplane evidence --plan PLAN.json --journal run.journal --output evidence.jsonUse the path returned by plan in place of PLAN.json. Preserve the plan and journal until the run is complete.
| Provider | Publication flow |
|---|---|
| npm | npm-compatible registry |
| SDKMAN | SDKMAN vendor API |
| Homebrew | Custom tap by push or pull request |
| WinGet | Manifest pull request |
CLI · Configuration · Architecture · Security · Release verification · Contributing
Apache-2.0.