Skip to content

CLI commands

Relicta ships as a single binary with a handful of core commands. Every command supports --help, --dry-run, and --json for safe previews and machine-readable output.

Run the complete release workflow in a single command.

Terminal window
relicta release [--yes|-y] [--skip-push|-P] [--force|-F <version>] [--dry-run]

This is equivalent to running: plan → bump → notes → approve → publish

FlagShortDescription
--yes-yAuto-approve the release (for CI/CD)
--skip-push-PSkip pushing tags to remote
--force <version>-FForce a specific version (e.g., v2.0.0)
--ai-aEnable AI-powered notes generation
--dry-runPreview the entire workflow without changes

Examples:

Terminal window
# Interactive release (prompts for approval)
relicta release
# CI/CD auto-approve
relicta release -y
# Preview changes
relicta release --dry-run
# Force specific version
relicta release -F v2.0.0

For more control, use individual commands:

Scaffold a relicta.config.yaml in the current repo.

Terminal window
relicta init
  • Prompts for providers (AI, GitHub, npm) and writes a starter config.
  • Use --config <path> to write to a custom location.

Analyze commits since the last tag and propose the next semantic version.

Terminal window
relicta plan [--from|-f <ref>] [--to|-t <ref>] [--analyze|-a] [--json] [--dry-run]
FlagShortDescription
--from <ref>-fStarting reference (default: latest tag)
--to <ref>-tEnding reference (default: HEAD)
--analyze-aInclude detailed commit analysis
--jsonMachine-readable output
--dry-runPreview without changes

Detects major/minor/patch (supports prerelease/build metadata via config).

Generate release notes and changelog entries (optionally with AI).

Terminal window
relicta notes [--ai|-a] [--save|-s] [--json] [--dry-run]
FlagShortDescription
--ai-aEnable AI-powered notes generation
--save-sSave notes to changelog file
--tone <tone>Set AI tone (professional, casual, technical)
--audience <audience>Target audience (developers, users, stakeholders)
--jsonMachine-readable output
--dry-runPreview without changes

Uses your configured AI provider (OpenAI, Anthropic, Gemini, Azure, Ollama).

Lock the planned release and capture approval context.

Terminal window
relicta approve [--yes|-y] [--edit|-e] [--editor|-E <editor>] [--interactive|-i]
FlagShortDescription
--yes-yAuto-approve without prompting
--edit-eEdit release notes before approving
--editor-EEditor to use (default: $EDITOR or vim)
--interactive-iUse interactive TUI for approval
--by <name>Record approver name
--note <text>Add approval context note

Records approver info for auditability before publish.

Tag the repo and run plugins (GitHub releases, npm, Slack, LaunchNotes, custom gRPC).

Terminal window
relicta publish [--skip-approval|-A] [--skip-tag|-T] [--skip-push|-P] [--skip-plugins|-G]
FlagShortDescription
--skip-approval-ASkip approval check
--skip-tag-TSkip git tag creation
--skip-push-PSkip pushing to remote
--skip-plugins-GSkip running plugins
--forceSkip approval if policy allows
--dry-runValidate without making changes

Creates the tag and executes configured plugins.

FlagShortDescription
--config <path>-cPoint to a specific config file
--verbose-vEnable verbose output
--dry-runPreview without changing the repo
--jsonEmit machine-readable output for automation
--ciCI/CD mode: auto-approve, JSON output, non-interactive
--modelAI model to use (format: provider/model)
--redactRedact secrets and API keys from output
--no-colorDisable colored output
  • AI: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, AZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT, OLLAMA_HOST
  • GitHub: GITHUB_TOKEN
  • Plugins: SLACK_WEBHOOK_URL, NPM_TOKEN, LAUNCHNOTES_API_TOKEN (see Plugins).
  • Use relicta release for most releases - it handles the entire workflow.
  • Pair --json with jq for CI annotations and dashboards.
  • Use relicta release --dry-run to validate the entire workflow before a real release.
  • Keep relicta.config.yaml in git so local and CI runs behave identically.