sley

module
v0.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 26, 2026 License: MIT

README

sley logo
sley

A semantic version orchestrator for your projects.

CI Code coverage Go Report Card Security Scan version Go Reference License Built with Devbox

Documentation | Quick Start | CLI Reference

Overview

sley manages SemVer 2.0.0 versions using a simple .version file. It's language-agnostic, works with any stack, and integrates with Git for tagging and changelog management.

.version → 1.2.3

Features

  • Simple — One .version file, one source of truth
  • Language-agnostic — Works with Go, Node, Python, Rust, or any stack
  • Plugin system — Extend with built-in or custom plugins
  • Git integration — Auto-tag releases, generate changelogs
  • Monorepo support — Manage multiple modules independently
  • CI/CD ready — Designed for automation pipelines

Installation

Homebrew (macOS/Linux)

brew install indaco/tap/sley

asdf

asdf plugin add sley https://github.com/indaco/asdf-sley.git
asdf install sley latest
asdf set --home sley latest

Go

go install github.com/indaco/sley/cmd/sley@latest

Pre-built binaries

Download from Releases.

Quick Start

# Initialize in your project
sley init

# Bump the version
sley bump patch    # 1.0.0 → 1.0.1
sley bump minor    # 1.0.1 → 1.1.0
sley bump major    # 1.1.0 → 2.0.0

# Auto-detect from conventional commits
sley bump auto

# Show current version
sley show

Plugins

sley includes built-in plugins for common workflows:

Plugin Purpose
commit-parser Infer bump type from conventional commits
tag-manager Auto-create Git tags
changelog-generator Generate changelog from commits
version-validator Enforce versioning policies
dependency-check Sync versions across files
release-gate Pre-bump validation checks

See all plugins in the documentation.

Configuration

Configure sley with a .sley.yaml file:

plugins:
  commit-parser: true
  tag-manager:
    enabled: true
    prefix: "v"
    sign: true
  changelog-generator:
    enabled: true

See the configuration reference for all options.

Documentation

Full documentation is available at sley.indaco.dev:

Contributing

Contributions are welcome. See CONTRIBUTING for guidelines.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Directories

Path Synopsis
cmd
sley command
internal
apperrors
Package apperrors defines custom error types for the sley application.
Package apperrors defines custom error types for the sley application.
cli
cmdrunner
Package cmdrunner provides context-aware external command execution.
Package cmdrunner provides context-aware external command execution.
commands/discover
Package discover provides the "sley discover" command which scans for version sources (both .version files and manifest files like package.json, Cargo.toml, etc.) and helps users understand their project structure and configure dependency-check syncing.
Package discover provides the "sley discover" command which scans for version sources (both .version files and manifest files like package.json, Cargo.toml, etc.) and helps users understand their project structure and configure dependency-check syncing.
config
Package config handles configuration loading and saving for sley.
Package config handles configuration loading and saving for sley.
console
Package console provides simple colored console output utilities.
Package console provides simple colored console output utilities.
core
Package core defines interfaces and types for dependency injection.
Package core defines interfaces and types for dependency injection.
discovery
Package discovery provides version source detection and discovery services for the sley CLI.
Package discovery provides version source detection and discovery services for the sley CLI.
git
hooks
Package hooks provides pre-release hook execution for sley.
Package hooks provides pre-release hook execution for sley.
operations
Package operations provides reusable operations for module manipulation.
Package operations provides reusable operations for module manipulation.
parser
Package parser provides a unified interface for reading version information from various file formats including JSON, YAML, TOML, raw text, and regex patterns.
Package parser provides a unified interface for reading version information from various file formats including JSON, YAML, TOML, raw text, and regex patterns.
pathutil
Package pathutil provides utilities for safe path handling and validation.
Package pathutil provides utilities for safe path handling and validation.
printer
Package printer provides rich terminal styling for CLI output.
Package printer provides rich terminal styling for CLI output.
semver
Package semver provides semantic version parsing, manipulation, and persistence.
Package semver provides semantic version parsing, manipulation, and persistence.
testutils
Package testutils provides helper functions for testing CLI applications.
Package testutils provides helper functions for testing CLI applications.
tui
Package tui provides interactive terminal user interface components.
Package tui provides interactive terminal user interface components.
workspace
Package workspace provides types and operations for managing multiple modules in a monorepo or multi-module context.
Package workspace provides types and operations for managing multiple modules in a monorepo or multi-module context.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL