Skip to content

feat: implement foundations section#14

Merged
babblebey merged 25 commits into
nextfrom
feat/foundation
May 23, 2026
Merged

feat: implement foundations section#14
babblebey merged 25 commits into
nextfrom
feat/foundation

Conversation

@babblebey
Copy link
Copy Markdown
Member

@babblebey babblebey commented Apr 26, 2026

This pull request introduces a new "Foundations" section to the documentation, reorganizing and expanding core conceptual content for semantic-release. Key concepts such as release workflow, plugin architecture, branching strategies, and configuration best practices are now covered in dedicated, discoverable pages. The navigation is updated to reflect this structure, and several new or rewritten docs provide clear explanations of how semantic-release works and how to use it effectively.

Documentation Restructuring and Navigation:

  • Moved core conceptual topics (e.g., plugins, workflow configuration, branching, shareable configurations) from the "Usage" section into a new "Foundations" section in the sidebar navigation. This improves discoverability and groups foundational knowledge together.
  • Added an index page for the "Foundations" section with cards linking to each foundational topic for easier exploration.

New and Expanded Conceptual Docs:

  • Added new pages explaining essential concepts:
    • "How it Works": High-level overview of the release lifecycle, decision logic, and CI integration.
    • "Release Steps": Detailed breakdown of each release step, their order, and how plugins participate.
    • "Considerations": Guidance on when and why to use semantic-release, semantic versioning applicability, and configuration trade-offs.
    • "Supported Branching Models": Summarizes branching models that align with semantic-release.
    • "Release Workflow Configuration": Guide on managing and automating complex release workflows.
    • "Plugins": Comprehensive explanation of plugin lifecycle, configuration, and execution order.
    • "Shareable Configurations": How to, when and why use reusable semantic-release config packages.

These changes make the documentation more approachable for new users and easier to navigate for advanced users seeking in-depth explanations of semantic-release's core concepts.

Related Issue

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 26, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
semantic-release-docs Ready Ready Preview, Comment May 23, 2026 3:21pm

Request Review

@babblebey babblebey changed the base branch from main to next April 26, 2026 15:58
Copy link
Copy Markdown
Member

@travi travi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is great! this clarifies a number of concepts that have ben on my radar to improve for some time. really appreciate the effort to get this all clarified to this level!

Comment thread src/content/docs/foundation/plugins.md Outdated
Comment thread src/content/docs/foundation/plugins.md Outdated
Comment thread src/content/docs/foundation/plugins.md Outdated
Comment thread src/content/docs/foundation/steps.md Outdated
Comment thread src/content/docs/foundation/supported-branching.md Outdated
Comment thread src/content/docs/foundation/supported-branching.md
Comment on lines +68 to +71
Even if this is a strategy that you find useful for the applications you are building, [the original author of the git-flow branching model recommends against it](https://nvie.com/posts/a-successful-git-branching-model/) for that context,
we do not recommend this long-lived branch orchestration pattern when releasing artifacts with **semantic-release**.
While the [same reflection](https://nvie.com/posts/a-successful-git-branching-model/) that recommends against using git-flow for web apps suggests that it may still be a good fit for explicitly versioned software,
**semantic-release** is built with Continuous Deployment/Release in mind instead.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

an opportunity to expand this section could be to help build the mental model that the act of releasing a library version and consuming it elsewhere, even if that place uses gitflow, specifically enables avoiding gitflow for the library. at a high-level, verify that the library has the intended behaviors in its isolated context and release a stable version based on that confidence. if consuming that version into a consumer, regardless of the consuming project's workflow, exposes a defect, simply fix the defect in the library, test that the fix is effected in the isolated context of the library, and release the fix version.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, this one is going over my head for now 😅. I'll ask question about it momentarily.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no worries at all. i'll expand on some context that hopefully can help.

many teams that want to use gitflow with semantic-release dont follow testing practices that enable them to have confidence that their library works in isolation. therefore, in order to have confidence that it works, they want to follow a workflow that enables them to release test versions that they can pull into their consuming projects and test the library behaviors in the context of that consuming project.

semantic-release explicitly does not provide a testing workflow (which is another topic that we should work into these updates more explicitly). often, the teams with the desire to follow gitflow find our pre-release workflow and understand it as a testing workflow, which is not the intent. instead, the pre-release workflow is intended for releasing versions that are not consumable yet for all consumers, usually because the maintainers are working through interface changes that they are unsure about the intended behaviors yet and need feedback from early adopter consumers. that distinction can seem nuanced, but the key difference is that the folks targeting gitflow know the intended behavior they are targeting. they just dont have the practices in place in their context to verify that the intended behaviors are present. this is what i mean by the purpose of the pre-release workflow being distinct from a testing workflow

still happy to talk through additional questions, but that is key context for this

@babblebey babblebey marked this pull request as ready for review May 16, 2026 21:47
@babblebey babblebey requested a review from travi May 16, 2026 21:47
Comment thread src/content/docs/foundation/supported-branching.md Outdated
@babblebey babblebey merged commit 9f9e27b into next May 23, 2026
5 checks passed
@babblebey babblebey deleted the feat/foundation branch May 23, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Proposal: Foundations Section for core concepts, trade-off and system hows

2 participants