Skip to content

Craft

A command line tool that helps to automate and pipeline package releases.

Features

Automated Releases

Prepare and publish releases with a single command. Craft handles version bumping, changelog management, and artifact publishing.

Auto Versioning

Automatically determine version bumps from conventional commits. Just run craft prepare auto and let Craft figure out the rest.

Multiple Targets

Publish to GitHub, NPM, PyPI, Docker, NuGet, Crates.io, and many more registries from a single configuration.

Changelog Management

Automatic changelog generation using conventional commits or manual changelog policies.

CI/CD Integration

Works seamlessly with GitHub Actions and other CI systems. Fetch artifacts and publish them to your targets.

Quick Example

Terminal window
# Auto-determine version from conventional commits
craft prepare auto
# Or specify a bump type
craft prepare minor
# Or use an explicit version
craft prepare 1.2.3
# Then publish to all configured targets
craft publish 1.2.3

Why Craft?

Craft enforces a specific workflow for managing release branches, changelogs, and artifact publishing. It:

  • Creates release branches automatically
  • Validates changelog entries
  • Runs version-bumping scripts
  • Waits for CI to complete
  • Downloads build artifacts
  • Publishes to configured targets
  • Merges release branches back to main