Quick Start
This guide walks you through the core Cursus workflow: initialise, record changes, prepare a release, and publish.
1. Initialise
Section titled “1. Initialise”Run the setup wizard in the root of your Git repository:
cursus initThis creates a .cursus/config.toml file and the .cursus/ directory where changesets are stored. The wizard will ask which package managers you use and configure them.
2. Record a change
Section titled “2. Record a change”After making changes to your code, record what changed:
cursus changeWith no subcommand, change is the default. The interactive TUI will ask you to select the affected packages, choose a change type (major, minor, or patch), and write a description.
For non-interactive use (e.g., in scripts or CI):
cursus change --no-interactive -t minor -m "Add support for linked versions"This creates a changeset file in .cursus/ — commit it alongside your code changes.
3. Prepare a release
Section titled “3. Prepare a release”When you’re ready to release, aggregate all pending changesets into a version bump:
cursus prepareThis will:
- Read all pending changeset files
- Determine the next version for each package based on the highest change type
- Update version numbers in your package files (
Cargo.toml,package.json, etc.) - Generate or update
CHANGELOG.mdentries - Remove the consumed changeset files
4. Publish
Section titled “4. Publish”Once a release is prepared, publish to your registries:
cursus publishThis publishes each package to its registry (crates.io, npm), creates Git tags, and optionally creates GitHub Releases with build artifacts.
Automate with CI
Section titled “Automate with CI”For CI pipelines, the ci subcommand handles everything automatically:
cursus ci --no-interactiveIt detects the repo state and runs either prepare or publish as needed. See the CI Integration guide for details.