diff --git a/astro.config.js b/astro.config.js index f9b5a74..db9bae5 100644 --- a/astro.config.js +++ b/astro.config.js @@ -131,6 +131,9 @@ export default defineConfig({ starlightPageContextAction({ position: "below-toc", sticky: true, + actions: { + viewMarkdown: true, + }, }), ], }), diff --git a/src/content/docs/developer-guide/js-api.md b/src/content/docs/developer-guide/js-api.md index 01362d3..d32a5ae 100644 --- a/src/content/docs/developer-guide/js-api.md +++ b/src/content/docs/developer-guide/js-api.md @@ -1,5 +1,6 @@ --- title: "JavaScript API" +description: "Reference the JavaScript API to run semantic-release programmatically and integrate custom release workflows." --- ## Usage diff --git a/src/content/docs/developer-guide/plugin.md b/src/content/docs/developer-guide/plugin.md index 75735c4..ad69979 100644 --- a/src/content/docs/developer-guide/plugin.md +++ b/src/content/docs/developer-guide/plugin.md @@ -1,5 +1,6 @@ --- title: "Plugin development" +description: "Build semantic-release plugins by implementing lifecycle steps and handling release context safely." --- To create a plugin for `semantic-release`, you need to decide which parts of the release lifecycle are important to that plugin. For example, it is best to always have a `verifyConditions` step because you may be receiving inputs from a user and want to make sure they exist. A plugin can abide by any of the following lifecycles: diff --git a/src/content/docs/developer-guide/shareable-configuration.md b/src/content/docs/developer-guide/shareable-configuration.md index 1aed733..9a33375 100644 --- a/src/content/docs/developer-guide/shareable-configuration.md +++ b/src/content/docs/developer-guide/shareable-configuration.md @@ -1,3 +1,4 @@ --- title: "Shareable configuration development" +description: "Create and publish shareable semantic-release configurations to reuse release rules across projects." --- diff --git a/src/content/docs/extending/shareable-configurations-list.md b/src/content/docs/extending/shareable-configurations-list.md index a32d725..9dac79a 100644 --- a/src/content/docs/extending/shareable-configurations-list.md +++ b/src/content/docs/extending/shareable-configurations-list.md @@ -1,5 +1,6 @@ --- title: "Shareable configuration" +description: "Browse community shareable configurations for semantic-release and find setups for common workflows." --- ## Official configurations diff --git a/src/content/docs/foundation/considerations.md b/src/content/docs/foundation/considerations.md index 77f9745..510518f 100644 --- a/src/content/docs/foundation/considerations.md +++ b/src/content/docs/foundation/considerations.md @@ -1,5 +1,6 @@ --- title: Considerations +description: "Evaluate whether semantic-release and semantic versioning fit your project goals, artifacts, and release process." --- **semantic-release** is diff --git a/src/content/docs/foundation/how-it-works.md b/src/content/docs/foundation/how-it-works.md index a4054a3..a23cdb8 100644 --- a/src/content/docs/foundation/how-it-works.md +++ b/src/content/docs/foundation/how-it-works.md @@ -1,5 +1,6 @@ --- title: How it Works +description: "Understand how semantic-release analyzes commits, calculates versions, and publishes releases automatically." --- **semantic-release** automates package release workflows by turning commit history into predictable versioning and publishing decisions. diff --git a/src/content/docs/foundation/index.mdx b/src/content/docs/foundation/index.mdx index 456d7a5..b9fa78a 100644 --- a/src/content/docs/foundation/index.mdx +++ b/src/content/docs/foundation/index.mdx @@ -1,5 +1,6 @@ --- title: Foundations +description: "Start with semantic-release foundations: core concepts, release flow, plugins, and branching strategy." --- import { CardGrid, LinkCard } from "@astrojs/starlight/components"; diff --git a/src/content/docs/foundation/plugins.md b/src/content/docs/foundation/plugins.md index efeb0c1..9e67675 100644 --- a/src/content/docs/foundation/plugins.md +++ b/src/content/docs/foundation/plugins.md @@ -1,5 +1,6 @@ --- title: "Plugins" +description: "Learn how semantic-release plugins execute each release step and how to combine them effectively." --- Plugins let `semantic-release` extend release steps through configurable lifecycle methods. Core owns the release lifecycle, exposes lifecycle hooks for selected release steps, and invokes plugin methods bound to those hooks. diff --git a/src/content/docs/foundation/release-steps.md b/src/content/docs/foundation/release-steps.md index 2c93edf..4a11b0c 100644 --- a/src/content/docs/foundation/release-steps.md +++ b/src/content/docs/foundation/release-steps.md @@ -1,5 +1,6 @@ --- title: Release Steps +description: "Explore the release lifecycle steps semantic-release runs from verification to publishing and notifications." --- This page explains the release steps that make up a `semantic-release` run. diff --git a/src/content/docs/foundation/shareable-configurations.md b/src/content/docs/foundation/shareable-configurations.md index e876ebf..2d640c6 100644 --- a/src/content/docs/foundation/shareable-configurations.md +++ b/src/content/docs/foundation/shareable-configurations.md @@ -1,5 +1,6 @@ --- title: "Shareable Configurations" +description: "Understand shareable configurations in semantic-release and how they simplify reusable setup." --- A shareable configuration is an [npm](https://www.npmjs.com/) package that exports a reusable **semantic-release** configuration object. It lets teams define a common release workflow once and apply it across several projects. diff --git a/src/content/docs/foundation/supported-branching.md b/src/content/docs/foundation/supported-branching.md index 2dbe060..ccf5b7f 100644 --- a/src/content/docs/foundation/supported-branching.md +++ b/src/content/docs/foundation/supported-branching.md @@ -1,5 +1,6 @@ --- title: Supported Branching Models +description: "See supported branching models and channel strategies for stable, maintenance, and pre-release lines." --- This page summarizes branching models that align well with **semantic-release** and those that are officially unsupported. diff --git a/src/content/docs/foundation/workflow-configuration.md b/src/content/docs/foundation/workflow-configuration.md index 260157e..cb79abe 100644 --- a/src/content/docs/foundation/workflow-configuration.md +++ b/src/content/docs/foundation/workflow-configuration.md @@ -1,5 +1,6 @@ --- title: "Release Workflow Configuration" +description: "Configure release branches, channels, and rules that control the semantic-release workflow." --- **semantic-release** enables managing and automating complex release workflows, based on multiple Git branches and distribution channels. This enables: diff --git a/src/content/docs/intro.md b/src/content/docs/intro.md index 02a279b..bdd0fd6 100644 --- a/src/content/docs/intro.md +++ b/src/content/docs/intro.md @@ -1,5 +1,6 @@ --- title: "Introduction" +description: "Learn how semantic-release automates versioning, changelogs, and publishing using commit messages and CI." --- **semantic-release** automates the whole package release workflow including: determining the next version number, generating the release notes, and publishing the package. diff --git a/src/content/docs/recipes/ci-configurations/circleci-workflows.md b/src/content/docs/recipes/ci-configurations/circleci-workflows.md index 1b48a12..e4a33a5 100644 --- a/src/content/docs/recipes/ci-configurations/circleci-workflows.md +++ b/src/content/docs/recipes/ci-configurations/circleci-workflows.md @@ -1,5 +1,6 @@ --- title: "CircleCI 2.0" +description: "Set up semantic-release on CircleCI 2.0 with secure tokens and a reliable release job pipeline." --- ## Environment variables diff --git a/src/content/docs/recipes/ci-configurations/github-actions.mdx b/src/content/docs/recipes/ci-configurations/github-actions.mdx index 9d00364..7c77553 100644 --- a/src/content/docs/recipes/ci-configurations/github-actions.mdx +++ b/src/content/docs/recipes/ci-configurations/github-actions.mdx @@ -1,5 +1,6 @@ --- title: "GitHub Actions" +description: "Configure semantic-release in GitHub Actions with trusted workflow permissions and release safeguards." --- import { Steps } from "@astrojs/starlight/components"; diff --git a/src/content/docs/recipes/ci-configurations/gitlab-ci.md b/src/content/docs/recipes/ci-configurations/gitlab-ci.md index 4f9a61b..5b45333 100644 --- a/src/content/docs/recipes/ci-configurations/gitlab-ci.md +++ b/src/content/docs/recipes/ci-configurations/gitlab-ci.md @@ -1,5 +1,6 @@ --- title: "GitLab CI" +description: "Run semantic-release in GitLab CI with protected variables and a release stage in your pipeline." --- ## Environment variables diff --git a/src/content/docs/recipes/ci-configurations/index.mdx b/src/content/docs/recipes/ci-configurations/index.mdx index 075543b..e842965 100644 --- a/src/content/docs/recipes/ci-configurations/index.mdx +++ b/src/content/docs/recipes/ci-configurations/index.mdx @@ -1,5 +1,6 @@ --- title: "CI configurations" +description: "Compare CI configuration examples for running semantic-release across popular providers." --- import { CardGrid, LinkCard } from "@astrojs/starlight/components"; diff --git a/src/content/docs/recipes/ci-configurations/jenkins-ci.md b/src/content/docs/recipes/ci-configurations/jenkins-ci.md index 25fe808..8923d05 100644 --- a/src/content/docs/recipes/ci-configurations/jenkins-ci.md +++ b/src/content/docs/recipes/ci-configurations/jenkins-ci.md @@ -1,5 +1,6 @@ --- title: "Jenkins CI" +description: "Configure semantic-release on Jenkins CI, including environment variables and non-interactive authentication." --- ## Environment variables diff --git a/src/content/docs/recipes/ci-configurations/travis.md b/src/content/docs/recipes/ci-configurations/travis.md index 76a98b2..f9a946d 100644 --- a/src/content/docs/recipes/ci-configurations/travis.md +++ b/src/content/docs/recipes/ci-configurations/travis.md @@ -1,5 +1,6 @@ --- title: "Travis CI" +description: "Use semantic-release with Travis CI to automate versioning and publication from your release branch." --- ## Environment variables diff --git a/src/content/docs/recipes/git-hosted-services/git-auth-ssh-keys.md b/src/content/docs/recipes/git-hosted-services/git-auth-ssh-keys.md index c1c9ed5..91171c2 100644 --- a/src/content/docs/recipes/git-hosted-services/git-auth-ssh-keys.md +++ b/src/content/docs/recipes/git-hosted-services/git-auth-ssh-keys.md @@ -1,5 +1,6 @@ --- title: "Git authentication with SSH keys" +description: "Configure Git authentication with SSH keys so semantic-release can push tags and notes securely." --- When using [environment variables](/usage/ci-configuration#authentication) to set up the Git authentication, the remote Git repository will automatically be accessed via [https](https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protocols#_the_http_protocols), independently of the [`repositoryUrl`](/usage/configuration#repositoryurl) format configured in the **semantic-release** [Configuration](/usage/configuration) (the format will be automatically converted as needed). diff --git a/src/content/docs/recipes/git-hosted-services/index.mdx b/src/content/docs/recipes/git-hosted-services/index.mdx index 9b9e4b5..6af4246 100644 --- a/src/content/docs/recipes/git-hosted-services/index.mdx +++ b/src/content/docs/recipes/git-hosted-services/index.mdx @@ -1,5 +1,6 @@ --- title: "Git hosted services" +description: "Recipes for integrating semantic-release with Git-hosted services and authentication methods." --- import { CardGrid, LinkCard } from "@astrojs/starlight/components"; diff --git a/src/content/docs/recipes/release-workflow/distribution-channels.md b/src/content/docs/recipes/release-workflow/distribution-channels.md index dc78332..c32e069 100644 --- a/src/content/docs/recipes/release-workflow/distribution-channels.md +++ b/src/content/docs/recipes/release-workflow/distribution-channels.md @@ -1,5 +1,6 @@ --- title: "Publishing on distribution channels" +description: "Publish semantic-release versions to distribution channels such as npm dist-tags and maintenance lines." --- This recipe will walk you through a simple example that uses distribution channels to make releases available only to a subset of users, in order to collect feedback before distributing the release to all users. diff --git a/src/content/docs/recipes/release-workflow/index.mdx b/src/content/docs/recipes/release-workflow/index.mdx index c3c1fea..6c1d31d 100644 --- a/src/content/docs/recipes/release-workflow/index.mdx +++ b/src/content/docs/recipes/release-workflow/index.mdx @@ -1,5 +1,6 @@ --- title: "Release Workflow" +description: "Release workflow recipes for channels, maintenance releases, and pre-releases with semantic-release." --- import { CardGrid, LinkCard } from "@astrojs/starlight/components"; diff --git a/src/content/docs/recipes/release-workflow/maintenance-releases.md b/src/content/docs/recipes/release-workflow/maintenance-releases.md index 95fa6a3..020850e 100644 --- a/src/content/docs/recipes/release-workflow/maintenance-releases.md +++ b/src/content/docs/recipes/release-workflow/maintenance-releases.md @@ -1,5 +1,6 @@ --- title: "Publishing maintenance releases" +description: "Publish maintenance releases from support branches while continuing development on main." --- This recipe will walk you through a simple example that uses Git branches and distribution channels to publish fixes and features for old versions of a package. diff --git a/src/content/docs/recipes/release-workflow/pre-releases.md b/src/content/docs/recipes/release-workflow/pre-releases.md index 6c3a796..d3db12c 100644 --- a/src/content/docs/recipes/release-workflow/pre-releases.md +++ b/src/content/docs/recipes/release-workflow/pre-releases.md @@ -1,5 +1,6 @@ --- title: "Publishing pre-releases" +description: "Configure semantic-release pre-releases for beta, alpha, and next channels before stable promotion." --- This recipe will walk you through a simple example that uses pre-releases to publish beta versions while working on a future major release and then make only one release on the default distribution. diff --git a/src/content/docs/support/FAQ.md b/src/content/docs/support/FAQ.md index 9746944..f3ccd46 100644 --- a/src/content/docs/support/FAQ.md +++ b/src/content/docs/support/FAQ.md @@ -1,5 +1,6 @@ --- title: "Frequently Asked Questions" +description: "Find quick answers to common semantic-release questions about setup, behavior, and best practices." --- ## Why is the `package.json`’s version not updated in my repository? diff --git a/src/content/docs/support/git-version.md b/src/content/docs/support/git-version.md index a7fa9a2..b3e51aa 100644 --- a/src/content/docs/support/git-version.md +++ b/src/content/docs/support/git-version.md @@ -1,5 +1,6 @@ --- title: "Git version requirement" +description: "Check the minimum Git version required to run semantic-release features reliably." --- **semantic-release** uses Git CLI commands to read information about the repository such as branches, commit history and tags. Certain commands and options (such as [the `--merged` option of the `git tag` command](https://git-scm.com/docs/git-tag/2.7.0#git-tag---no-mergedltcommitgt) or bug fixes related to `git ls-files`) used by **semantic-release** are only available in Git version 2.7.1 and higher. diff --git a/src/content/docs/support/node-support-policy.md b/src/content/docs/support/node-support-policy.md index 69b3fed..c5a8af1 100644 --- a/src/content/docs/support/node-support-policy.md +++ b/src/content/docs/support/node-support-policy.md @@ -1,5 +1,6 @@ --- title: "Node Support Policy" +description: "Review the Node.js support policy and maintenance window followed by semantic-release." --- We will always support at least the latest [Long-Term Support](https://github.com/nodejs/Release) version of Node, but provide no promise of support for older versions. The supported range will always be defined in the `engines.node` property of the `package.json` of our packages. diff --git a/src/content/docs/support/node-version.md b/src/content/docs/support/node-version.md index 9c0b75d..daf0b67 100644 --- a/src/content/docs/support/node-version.md +++ b/src/content/docs/support/node-version.md @@ -1,5 +1,6 @@ --- title: "Node version requirement" +description: "Verify Node.js version requirements needed to execute semantic-release in CI." --- **semantic-release** is written using the latest [ECMAScript 2017](https://www.ecma-international.org/publications/standards/Ecma-262.htm) features, without transpilation which **requires Node version 22.14.0 or higher**. diff --git a/src/content/docs/support/resources.md b/src/content/docs/support/resources.md index 131cabf..3181faa 100644 --- a/src/content/docs/support/resources.md +++ b/src/content/docs/support/resources.md @@ -1,5 +1,6 @@ --- title: "Resources" +description: "Explore official semantic-release resources, plugins, guides, and community links." --- ## Videos diff --git a/src/content/docs/support/troubleshooting.md b/src/content/docs/support/troubleshooting.md index 8e9a7f4..7e7892e 100644 --- a/src/content/docs/support/troubleshooting.md +++ b/src/content/docs/support/troubleshooting.md @@ -1,5 +1,6 @@ --- title: "Troubleshooting" +description: "Resolve common semantic-release errors related to permissions, tags, branches, and CI configuration." --- ## You do not have permission to publish 'package-name' diff --git a/src/content/docs/usage/ci-configuration.md b/src/content/docs/usage/ci-configuration.md index e5a4802..3ea0d75 100644 --- a/src/content/docs/usage/ci-configuration.md +++ b/src/content/docs/usage/ci-configuration.md @@ -1,5 +1,6 @@ --- title: "CI Configuration" +description: "Configure CI so semantic-release runs only on release branches with the required credentials." --- Configure CI to run **semantic-release** by following two requirements: run it only after all tests pass, and configure the authentication needed to publish releases. diff --git a/src/content/docs/usage/configuration.md b/src/content/docs/usage/configuration.md index f846ebc..305a762 100644 --- a/src/content/docs/usage/configuration.md +++ b/src/content/docs/usage/configuration.md @@ -1,5 +1,6 @@ --- title: "Configuration" +description: "Learn all semantic-release configuration options, including branches, plugins, and repository settings." --- Configure semantic-release options, plugins, and release branches via config files, CLI arguments, or shareable configurations. diff --git a/src/content/docs/usage/getting-started.mdx b/src/content/docs/usage/getting-started.mdx index b64da75..8a40d38 100644 --- a/src/content/docs/usage/getting-started.mdx +++ b/src/content/docs/usage/getting-started.mdx @@ -1,5 +1,6 @@ --- title: "Getting started" +description: "Get started with semantic-release: install dependencies, configure CI, and publish your first automated release." --- import { Steps } from "@astrojs/starlight/components"; diff --git a/src/content/docs/usage/running.md b/src/content/docs/usage/running.md index 5e8477b..ccbd0e4 100644 --- a/src/content/docs/usage/running.md +++ b/src/content/docs/usage/running.md @@ -1,5 +1,6 @@ --- title: "Running semantic-release" +description: "Run semantic-release locally or in CI, understand dry runs, and interpret release logs." --- How to run **semantic-release** in your CI pipeline using `npx`, including version pinning strategies and tradeoffs of local installation.