Expand description
Ecosystem-neutral release lifecycle orchestration for independently versioned units.
The shared core owns graph policy, proposal authority, tags, artifacts, retries, and forge releases. Git, package publication, and forge services use separate interfaces; the ecosystem adapters own discovery, version grouping, and edit behavior.
Modulesยง
- account ๐
- The identity a release acts as.
- adapters ๐
- Ecosystem adapters behind one batch-oriented interface.
- artifacts ๐
- Validated, retry-safe publication of derivation-produced release assets.
- commit_
subject ๐ - The subject template of proposal commits.
- conventional ๐
- Commit messages read as Conventional Commits.
- digest ๐
- Digests of release files.
- edits ๐
- Shared stale-checked transaction for edits proposed by release targets.
- error ๐
- git ๐
- Git adapters for local release operations, served through libgit2.
- proposal ๐
- Automated proposal analysis and isolated release-branch maintenance.
- publication ๐
- The publication contract. Every step reads the remote first and converges, so a rerun after any failure finishes the job.
- publish ๐
- The publication sequence at the authoritative branch tip.
- publisher ๐
- Publication of selected units in dependency order.
- remote ๐
- Release state as the forge reports it.
- state ๐
- Release-specific evaluated configuration consumed by the release CLI.
- traits ๐
- Interfaces to Git, package registries, and the forge.
- unit ๐
- The resolved unit of a release graph.
- version ๐
- Semantic versions shared by release planning, analysis, and publication.
Structsยง
- Account
- Who commits, tags and logs in during a release.
- Artifact
Input - Built release artifacts on disk.
- Author
- The name and email on a commit or tag.
- Authority
Branch - The authoritative branch, which every comparison reads through its
originremote-tracking branch. - Cargo
Registry - A Cargo registry version lookup.
- Commit
Subject - A subject template with the placeholders
{unit}and{version}. - Configured
Proposal - Inputs for applying and synchronizing a configured release proposal.
- Empty
Branch Name - A configured branch name is empty.
- Error
- A release operation failed.
- Local
Change - One unit changed by a local release plan.
- Local
Plan - A validated local plan for any configured release target.
- NpmRegistry
- An npm registry answering
GET {registry}/{package}with a packument. - Outcome
- A unit whose package, tag, and forge release are complete.
- Publish
Credentials - The credentials of one publication.
- Publish
Request - Everything
publishworks from. - Release
State - Evaluated release policy. This component can be decoded on its own.
- Remote
Asset - Existing remote asset identity.
- Remote
Credentials - The HTTPS credential pushes and fetches authenticate with.
- Remote
Release - Existing remote release state.
- System
Git - Production Git adapter backed by libgit2.
- Unit
Scope - The repository paths whose changes count for a unit: everything under
the
sourcedirectories except the unit changelog.
Enumsยง
- Commit
Subject Error - A subject template is not valid.
- Field
- A field of an
Account. - GitError
- A Git query or mutation failure.
- Proposal
Outcome - What a proposal run did.
- Registry
Error - A registry lookup could not run or could not be answered.
Traitsยง
- Forge
Proposal - The release proposal pull request on the forge.
- Forge
Release - Forge-hosted releases and release assets.
- Forge
Tags - Tag lookup on the forge.
- GitCommands
- Repository operations used by the release lifecycle.
- GitHistory
- Read access to repository history.
- GitRefs
- Reference lookup.
- Package
Registry - Remote services whose existence checks make retries safe.
- Proposal
Git - Repository changes that maintain a release proposal branch.