Use charmbracelet/huh for an interactive add flow. Add a preview subcommand to enter/exit per-project pre-release tags. Move stamp.toml into .stamp/ and add ConfigPath helper. Prefer --snapshot then project PreTag when computing versions and promote bumps to pre-release when appropriate. Export CurrentVersion and add required TUI deps to go.mod.
43 lines
1.2 KiB
TOML
43 lines
1.2 KiB
TOML
# .stamp/stamp.toml — annotated example configuration
|
|
|
|
# Global settings (all optional)
|
|
[config]
|
|
# The base branch used by `stamp comment` to detect what's changed in a PR.
|
|
base_branch = "main"
|
|
|
|
# --- Projects ---
|
|
# Define one [[projects]] block per versioned component.
|
|
# For single-project repos, define just one block with name = "" (or any name).
|
|
|
|
[[projects]]
|
|
name = "my-app"
|
|
path = "apps/my-app" # path relative to repo root
|
|
version = "1.2.3" # current version — updated by `stamp version`
|
|
changelog = "CHANGELOG.md" # relative to path (default: CHANGELOG.md)
|
|
|
|
[projects.publish]
|
|
# Create and push a git tag for this project on `stamp publish`.
|
|
# Tag format: <name>@v<version> e.g. my-app@v1.2.3
|
|
tags = true
|
|
|
|
# Create a GitHub/Gitea release with the changelog section as the release body.
|
|
releases = true
|
|
|
|
# Glob patterns (relative to repo root) for files to upload as release artifacts.
|
|
artifacts = [
|
|
"apps/my-app/dist/my-app-linux-amd64",
|
|
"apps/my-app/dist/my-app-darwin-arm64",
|
|
"apps/my-app/dist/my-app-windows-amd64.exe",
|
|
]
|
|
|
|
[[projects]]
|
|
name = "my-lib"
|
|
path = "libs/my-lib"
|
|
version = "0.1.0"
|
|
|
|
[projects.publish]
|
|
tags = true
|
|
releases = true
|
|
# No artifacts for a library.
|
|
artifacts = []
|