# Doctave - Build beautiful developer portals with docs-as-code

Build beautiful developer portals with docs-as-code. Write, publish, and collaborate technical documentation using a Git-based workflow.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Doctave is shutting down

DevFeed: [Doctave is shutting down](<https://devfeed.tech/articles/doctave-is-shutting-down-30943.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/doctave-is-shutting-down>)

Author: Niklas Begley

Published: 2026-08-31T06:00:00Z

Content type: release

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [MkDocs](<https://devfeed.tech/topics/mkdocs.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [docs-as-code](<https://devfeed.tech/tags/docs-as-code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [static-site](<https://devfeed.tech/tags/static-site.md>), [static-site-generator](<https://devfeed.tech/tags/static-site-generator.md>)

### AI overview

Doctave announces that it will shut down on September 14, 2026. Hosted documentation sites, the dashboard, and builds and deploys will stop operating. Users can continue working from their Git repositories and can migrate to the open-source Docapella static site generator, although server-dependent features such as analytics are unsupported.

### Source excerpt

After several years of building documentation tooling, we've made the difficult decision to shut Doctave down. The service will stop operating on September 14th, 2026. We have informed all our customers individually, but are also now posting a public message here. On September 14th, Hosted documentation sites will stop being served The Doctave dashboard will no longer be available Builds and deploys will stop running How this impacts you Your content is yours, and it's already in your repository. Doctave was built on docs-as-code precisely so that your Markdown, OpenAPI specs, and configuration live in Git rather than in our database. Nothing needs to be exported from us to keep writing. You own your docs. Where can I move my docs? We have created an open source static site generator, Docapella, that is mostly compatible with existing Doctave projects. The main change you need to make is renaming doctave.yaml to docapella.yaml. Features that require a server, such as analytics, are not supported, but the content model and general look and feel are the same. Thank you To everyone who wrote documentation with Doctave, sent us feedback, filed bugs, or took a chance on a small team building documentation tooling: thank you. We learned an enormous amount from you, and it genuinely mattered to us. If you have questions about the shutdown or need help planning a migration, get in touch at nik@doctave.com. I'll answer every email I can before we wind things down. - Nik & Anton

## Doctave Studio 2.0 Beta: The editor for technical writing and docs-as-code

DevFeed: [Doctave Studio 2.0 Beta: The editor for technical writing and docs-as-code](<https://devfeed.tech/articles/doctave-studio-2-0-beta-the-editor-for-technical-writing-and-docs-as-code-30944.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/doctave-studio-2-beta>)

Author: Doctave Team

Published: 2024-10-08T05:00:00Z

Content type: release

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [assets](<https://devfeed.tech/tags/assets.md>), [auto-complete](<https://devfeed.tech/tags/auto-complete.md>), [beta](<https://devfeed.tech/tags/beta.md>), [blog](<https://devfeed.tech/tags/blog.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [components](<https://devfeed.tech/tags/components.md>), [docs](<https://devfeed.tech/tags/docs.md>), [docs-as-code](<https://devfeed.tech/tags/docs-as-code.md>), [editor](<https://devfeed.tech/tags/editor.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [technical-writing](<https://devfeed.tech/tags/technical-writing.md>)

### AI overview

Doctave announces the public beta of Doctave Studio 2.0, an editor for technical writing and docs-as-code. The beta includes a modern editor, real-time Markdown and OpenAPI previews, auto-complete for links and assets, and inline Markdown error reporting.

### Source excerpt

We're excited to announce that Doctave Studio 2.0 is now available in public beta! Doctave Studio is a new editor for technical writing and docs-as-code, and we're excited to share it with you. Want to see it in action? Here's a quick introductory video of Doctave Studio 2.0: If you just want to see how to participate in the beta, you can jump straight to the end of this post Why build a new editor? One of the biggest issues with docs-as-code is inconsistent tooling. While there are great tools out there (like Vale), it's really hard to create a great authoring environment for docs-as-code. Getting spell check, broken links checking, auto-complete, and more configured is often too complex or time consuming, that lots of authors live without these tools. This problem is compounded when you have multiple authors collaborating on the same documentation. One will have a spell checker configured, one will have auto-complete configured, another doesn't have a broken links checker. The lack of a common authoring system causes friction, confusion, and ultimately raises the barrier for contributions. And after all that, you still need to set up these same checks in your CI/CD pipeline! This is what we set out to solve with Doctave Studio 2.0. We've already made it easy to host, version, and review docs-as-code projects with our existing product. Now we're taking the next logical step and improving the docs-as-code authoring experience. What's in the Doctave Studio 2.0 beta? Today we're launching Doctave Studio 2.0 into beta with a few key features: A new, modern editor with a focus on the authoring experience Real-time previews of your content as you type (Markdown and OpenAPI!) Powerful auto-complete for your links, assets, and components Great error-reporting inline in your Markdown Let's see some of these in action! Real-time previews The right-side panel in Doctave Studio is dedicated to a real-time preview window. It shows you what your content will look like once publi

## Markdown vs. DITA: Balancing Simplicity and Structure in Technical Documentation

DevFeed: [Markdown vs. DITA: Balancing Simplicity and Structure in Technical Documentation](<https://devfeed.tech/articles/markdown-vs-dita-balancing-simplicity-and-structure-in-technical-documentation-30948.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/markdown-vs-dita>)

Author: Niklas Begley

Published: 2024-06-06T07:00:00Z

Content type: comparison

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Markdown](<https://devfeed.tech/topics/markdown.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [XML](<https://devfeed.tech/topics/xml.md>), [HTML](<https://devfeed.tech/topics/html.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [docs-as-code](<https://devfeed.tech/tags/docs-as-code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [html](<https://devfeed.tech/tags/html.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [technical](<https://devfeed.tech/tags/technical.md>), [technical-documentation](<https://devfeed.tech/tags/technical-documentation.md>)

### AI overview

This comparison examines Markdown and DITA as authoring choices for technical documentation. It presents Markdown as easy to learn and widely supported, while describing DITA as a more structured XML standard that supports content reuse, document consistency, and publishing in multiple formats, with a higher learning curve.

### Source excerpt

When embarking on a new documentation project, one of the first, and quite consequential choices you have to make is what tools and formats to pick. Do you go with Markdown, the ubiquitous and light-weight markup language with a low barrier to entry, or do you instead reach for an authoring system like DITA that lets you enforce structure and reuse content from day one? In this post we're going to look at both options and evaluate the pros and cons of both approaches, and when one might choose one over the other. What is Markdown? Markdown was originally developed by John Gruber back in 2004. It was designed as an easy way to convert text into HTML easily. Here is John describing Markdown in the introduction: Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML (or HTML). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # Rocket Launch Sequence 1. **Pre-launch Jitters** - Double-check that the pointy end is facing up - Ensure the rocket isn't just a giant firework - Cross fingers and hope for the best 2. **Blastoff!** - Light the candle and watch the show - Try not to think about the astronomical fuel costs - Wave goodbye to the rocket (and your paycheck) 3. **Celebrate or Commiserate** - If the payload reaches orbit, break out the champagne - If not, break out the tissues and start drafting the apology email - Either way, start planning for the next launch (and budget) Example Markdown snippet Since then, Markdown has exploded in popularity. It has become the lingua franca for all kinds of technical content and blogs. Developers have embraced the simplicity of Markdown. Most new programming languages support Markdown as part of their docstrings, OpenAPI supports Markdown in description fields, and most static site generators have built-in Markdown support. The ecosystem of Makdown tooling is vast. This is why the docs-as-code movement has mo

## The path to structured content with Markdown

DevFeed: [The path to structured content with Markdown](<https://devfeed.tech/articles/the-path-to-structured-content-with-markdown-30949.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/path-to-structured-markdown>)

Author: Niklas Begley

Published: 2024-06-06T07:00:00Z

Content type: tutorial

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Markdown](<https://devfeed.tech/topics/markdown.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [XML](<https://devfeed.tech/topics/xml.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>)

Tags: [authoring](<https://devfeed.tech/tags/authoring.md>), [blog](<https://devfeed.tech/tags/blog.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [structure](<https://devfeed.tech/tags/structure.md>), [structured](<https://devfeed.tech/tags/structured.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [technical](<https://devfeed.tech/tags/technical.md>), [technical-documentation](<https://devfeed.tech/tags/technical-documentation.md>)

### AI overview

The article argues that Markdown has an underlying structure that is often hidden from authors, making it more similar to XML-based structured authoring than commonly assumed. It demonstrates how Markdown is transformed into an abstract syntax tree and represented as a tree-shaped JSON structure.

### Source excerpt

This post was inspired by the Pros and Cons of Using Markdown for Technical Documentation Panel Discussion with Ed Marsh, Eric Holscher, and Fabrizio Ferri-Benedetti. Around the ~40 minute mark the discussion moves onto how to maintain a consistent style with Markdown documentation, especially in larger teams. The panel agrees that currently there are no clear ways to enforce a specific document structure when using Markdown. Fabrizzio then on goes on to say (54:15): Some day, someone is going to figure out a way to seamlessly grow Markdown into something that can mature into structured content I've been thinking about this a lot, and my claim is that Markdown and XML (which is traditionally used for structured authoring) are more similar than you would initially expect, and that the dream of adding validations and structure to Markdown is perhaps not too far away. The structure behind Markdown There's a commonly held belief that Markdown is not structured. There is some truth to this, but I'd argue it's more the case that the structure is hidden. While with most XML-based authoring tools you are manipulating the structure directly (or through a WYSIWYG editor), with Markdown we are one level removed from the actual underlying structure. To demonstrate, let's take a look at a quick example at how Markdown is actually almost equivalent to XML, if you squint a little. Let's take this Markdown content. 1 2 3 4 5 # Hello, world This is a paragraph **with some bold text** and this is an image When this Markdown is processed into HTML, it goes through a number of transformations. The first thing that happens is that the Markdown is converted into an Abstract Syntax Tree. This means taking the raw text of the Markdown, and converting into something more structured that a program can manipulate. Each Markdown parser does this a little bit differently, but we can see this in action with, for example, the AST Explorer tool. Let's take Markdown above, and paste it

## Ballad: Doctave's Markdown-aware component system

DevFeed: [Ballad: Doctave's Markdown-aware component system](<https://devfeed.tech/articles/ballad-doctave-s-markdown-aware-component-system-30941.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/ballad-components>)

Author: Doctave Team

Published: 2024-05-27T07:00:00Z

Content type: release

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Markdown](<https://devfeed.tech/topics/markdown.md>), [MDX](<https://devfeed.tech/topics/mdx.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [components](<https://devfeed.tech/tags/components.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [elements](<https://devfeed.tech/tags/elements.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [mdx](<https://devfeed.tech/tags/mdx.md>), [render](<https://devfeed.tech/tags/render.md>)

### AI overview

This release article explains Ballad, Doctave's Markdown-aware component system introduced in Doctave 2.0. It describes embedding UI and layout components in Markdown with an MDX-inspired syntax, combining components with Markdown, using expressions for user preferences, and creating custom components.

### Source excerpt

Doctave 2.0 is out, and the biggest new feature in this release was our new component system, which we're calling Ballad. In this post we want to talk about the path we took to get here, why we felt none of the existing solutions worked well for us, and what our component system enabled. Ballad brings interactive components like tabs to your Doctave docs Why do we need components? Ballad lets you intersperse UI components in between your Markdown content. While Markdown is fantastic for simple prose, most documentation projects inevitably need widgets like buttons, cards, and callouts (or admonitions), or more complex layouts to keep the content clear and engaging. This is what we're solving with Ballad. How it works In short, you can add HTML-like tags into your Markdown, which Doctave will render into various components. Let's look at a basic example: adding a Button component into your documentation: 1 2 3 Click below to read more. <Button href="/details">Read More</Button> This gets rendered like so: Sometimes a regular Markdown link just doesn't cut it Components Our components come in two flavors: UI components and layout components. The former are components like <Button> or <Card>: visual elements that you're adding to the page. Layout components instead (unsurprisingly) change the layout of your content. These are components like <Grid>, or <Flex> (a flexbox equivalent). Combining these components lets you build interesting UIs and structure your content however you want on the page, without having to write any custom CSS. Syntax You can use an MDX-inspired syntax to add components into your documentation: 1 2 3 4 5 6 7 8 9 10 11 12 ## Getting started Learn how to get started with our SDK. <Grid cols="2"> <Card> ... </Card> <Card> ... </Card> </Grid> In fact, the parser is an MDX parser. The component syntax rules are identical. These HTML-style components work with your Markdown content, and you can nest and combine components and Markdown arbitrarily. Exp

## Doctave 2.0 introduces customizable themes and a component system for documentation sites

DevFeed: [Doctave 2.0 introduces customizable themes and a component system for documentation sites](<https://devfeed.tech/articles/doctave-2-0-30946.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/doctave-v2>)

Author: Doctave Team

Published: 2024-05-22T07:00:00Z

Content type: release

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [css](<https://devfeed.tech/tags/css.md>), [dark-mode](<https://devfeed.tech/tags/dark-mode.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [html](<https://devfeed.tech/tags/html.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [release](<https://devfeed.tech/tags/release.md>), [ui-components](<https://devfeed.tech/tags/ui-components.md>)

### AI overview

Doctave 2.0 is a release for documentation sites that adds customizable themes, brand-based color scales, configurable border radii, and a component system for building reusable UI components and custom HTML/CSS.

### Source excerpt

Today is a big day! We're excited to release Doctave 2.0: our biggest and most ambitious release to date and we can't wait to show you everything we've built. This update brings with it a number of exciting features and improvements: An improved modern design A more customizable theme A brand new powerful component system Design Documentation sites on Doctave look better than ever with this design update. A picture tells a thousand words, so I'm going to let screenshots do most of the talking here. The familiar Doctave layout. Redefined. Every theme works in both light and dark mode without any additional configuration. OpenAPI specs have also been redesigned to match the new theme Customizable theme Doctave 2.0 computes a 12-point color scale based on your brand color and chosen grayscale. The theme will work with any color scheme with 2 lines of configuration. But you can go further than just customizing colors! You can configure the border radius of the design to match your brand: All this is configurable in your doctave.yaml project file with just a couple lines: 1 2 3 4 5 6 7 8 title: Nebularis Documentation doctave_version: 2 theme: radius: medium colors: accent: "#fa5b30" grayscale: mauve And we're not stopping there. Expect more configuration options in this space! 👀 Component System One of the things we kept hearing from customers is authors wanting to go beyond basic Markdown features. Beyond just prose, writers also want to be able to create compelling landing pages, galleries, and call-to-actions. After lots of iteration and unsatisfactory prototypes, and are excited to reveal our brand new component system! It allows you to: Use a library of pre-built, composable UI components Easily build your own reusable components from our building blocks Drop down to custom HTML/CSS when needed We've taken inspiration from many different template and component systems such as MDX, Markdoc, and Radix, and created a system specifically designed for documentation and

## Doctave Studio 2024 Refresh

DevFeed: [Doctave Studio 2024 Refresh](<https://devfeed.tech/articles/doctave-studio-2024-refresh-30945.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/doctave-studio-2024-refresh>)

Author: Niklas Begley

Published: 2024-04-08T07:00:00Z

Content type: release

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [App](<https://devfeed.tech/topics/app.md>), [screen](<https://devfeed.tech/topics/screen.md>), [CSS](<https://devfeed.tech/topics/css.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [debugging](<https://devfeed.tech/topics/debugging.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [app](<https://devfeed.tech/tags/app.md>), [blog](<https://devfeed.tech/tags/blog.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [css](<https://devfeed.tech/tags/css.md>), [debug](<https://devfeed.tech/tags/debug.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [error-reporting](<https://devfeed.tech/tags/error-reporting.md>), [html](<https://devfeed.tech/tags/html.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [layout](<https://devfeed.tech/tags/layout.md>)

### AI overview

Doctave announces a 2024 refresh of Doctave Studio, its desktop app for previewing documentation locally. The update introduces a narrower vertical layout, a browser-viewing option for inspecting HTML and CSS with Chrome DevTools, and an improved Issues Tab for reviewing documentation problems.

### Source excerpt

We're excited to announce our biggest update to Doctave Studio yet! This refresh brings a whole new look and feel, and adds some of our most requested improvements, making the editing experience more seamless than ever before. Let's dive in! The new and improved Doctave Studio! What is Doctave Studio? Doctave Studio is our desktop app customers use to preview their apps locally. It bundles the whole development environment and gives a perfect reconstruction of what your documentation will look like once published. Most authors will have their favorite editor and Doctave Studio open side-by-side as they are editing documentation. When they save changes in their editor, Doctave studio detects the change and re-renders the documentation with the latest changes. Improved layout One of the most common requests we had was "make Doctave Studio narrower". In the previous release, information about broken links and other metadata was held in a sidebar on the left side of the documentation preview. This took up a lot of valuable screen space. We even found ourselves overlaying our editor slightly on top of Doctave Studio in order to make the windows fit nicely. With this update, we've introduced a whole new vertical layout. Now, your docs are front and center, with issues and metadata shown above and below the content itself. You can hide issues when you don't want to worry about them, and view them only when you want to focus on them. View in browser ↗ Inspect your docs in your browser with one click This was another often requested feature. Doctave Studio itself does not let you inspect your page's HTML or debug custom CSS. CSS especially is notoriously hard to get right the first time, and debugging issues through trial and error is frustrating. We did not want to re-implement something browsers already allow you to do well, so we've added an "View in browser" button! You can now open up the project you're viewing in the browser, and use the full power of Chrome Devtools t

## Continuous documentation: publishing docs early and often

DevFeed: [Continuous documentation: publishing docs early and often](<https://devfeed.tech/articles/continuous-documentation-publishing-docs-early-and-often-30942.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/continuous-documentation>)

Author: Niklas Begley

Published: 2024-01-23T07:00:00Z

Content type: tutorial

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [monorepo](<https://devfeed.tech/topics/monorepo.md>), [Git](<https://devfeed.tech/topics/git.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [docs-as-code](<https://devfeed.tech/tags/docs-as-code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [git](<https://devfeed.tech/tags/git.md>), [github](<https://devfeed.tech/tags/github.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>)

### AI overview

This article explains continuous documentation as a docs-as-code practice: update documentation incrementally alongside product changes, make documentation part of the release definition of done, and review and deploy documentation with code. It also discusses enabling contributions from engineers, technical writers, and product managers.

### Source excerpt

One of the key pillars of docs-as-code is releasing changes via CI/CD. Just as how software is often released continuously, we can keep our documentation up to date as the product changes. This lets us achieve continuous documentation: instead of large bulk releases, we can incrementally improve our documentation, as we make changes to our product. Let's dive into how continuous documentation is implemented in practice. Making it easy to make changes The key to continuous documentation is making it easy to contribute to documentation. We want to lower the barrier to making changes, and empower contributors to make the docs better. Let's see how! Smaller, iterative changes The bigger the change, the harder it is to make. Everyone who has worked in the technology industry has seen large project spiral out of control, missing deadlines, and seemingly never ending. Fast-moving teams get around this problem by splitting work into smaller chunks. Instead of a large monolithic release, preferring smaller, iterative changes that are easier to manage. Small changes are easier to review, have less risk, and can be shipped with fewer checks in place. Releasing docs with code It makes sense to update your product and documentation at the same time. Documentation should be in your "definition of done": a hard requirement for a feature to be released. A Git monorepo, it's natural to even have code and documentation changes in the same branch or pull-request. Engineers and technical writers can work in the same branch, and eventually merge and deploy the code and documentation in tandem. This is what we do at Doctave. We use a monorepo with a dedicated /docs folder. Every customer-facing feature will have documentation changes included, and get reviewed as part of the same pull-request on GitHub. A multi-repository setup requires some more coordination. but the same principles apply. Every feature change should have a corresponding change in the documentation repository. Empowerin

## Documentation versioning best practices with docs-as-code

DevFeed: [Documentation versioning best practices with docs-as-code](<https://devfeed.tech/articles/documentation-versioning-best-practices-with-docs-as-code-30947.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/documentation-versioning-best-practices>)

Author: Niklas Begley

Published: 2023-10-20T07:00:00Z

Content type: tutorial

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [Git](<https://devfeed.tech/topics/git.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [blog](<https://devfeed.tech/tags/blog.md>), [development](<https://devfeed.tech/tags/development.md>), [docs-as-code](<https://devfeed.tech/tags/docs-as-code.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [git](<https://devfeed.tech/tags/git.md>), [releases](<https://devfeed.tech/tags/releases.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

This tutorial explains how to version documentation alongside software releases in a Git-based docs-as-code workflow. It covers semantic or date-based versioning, release branches, hotfixes, patch releases, and cases where product versioning is unnecessary but API versioning may still be needed.

### Source excerpt

Many software products end up having multiple releases over their lifetimes. When this happens, the documentation needs to be versioned along with the product. In this post we will look at documentation best practices when using a Git-based docs-as-code workflow. Software versioning basics Before going into how we should version documentation, let's take a look at how software projects generally handle versioning. Disclaimer: there is more than one way to version software. The method outlined in this post works for many projects, but there are other valid workflows too. Versioned releases Products like Windows, PostgreSQL, or React JS all have versioned releases. Every once in a while, depending on their release cadence, a new version with new features is released. A long list of versions for PingCap's TiDB documentation Different projects will use different versioning schemes, but Semantic Versioning is a popular way of giving structure to your version numbers. Another option is using a date-based scheme. Usually, different versions are managed in separate Git branches. A typical branching strategy is to have all work for the upcoming release happening on a main or development branch. Then, when a new release is ready, a new branch is created from the main branch and named after the release (for example v4.0). 1 2 3 4 5 6 7 main # Development happens in this branch * | v4.0 # New branch for the release * * | / * ---- | There's a few reasons for this. Firstly, it's clear what code belongs in the release, and what does not. But importantly, you can apply hotfixes to the release branch: 1 2 3 4 5 6 7 8 9 main * | v4.0 * * # <- New hotfix commit | | * * | / * ---- | This allows you to update and fix the 4.0 version, while you keep moving forward in your main branch towards the next release. Perhaps you'll even release a patch release with bug fixes: a 4.0.1. This strategy also makes it clear which features and commits belong to which version. You don't have code for multip

## Documentation Has Different Meanings and Requires Context-Specific Practices

DevFeed: [Documentation Has Different Meanings and Requires Context-Specific Practices](<https://devfeed.tech/articles/what-do-you-mean-documentation-30950.md>)

Original publisher: [Read original article](<https://www.doctave.com/blog/what-do-you-mean-documentation>)

Author: Niklas Begley

Published: 2023-10-17T07:00:00Z

Content type: opinion

Language: en

Sources: [Doctave - Build beautiful developer portals with docs-as-code](<https://devfeed.tech/sources/doctave-build-beautiful-developer-portals-with-docs-as-code.md>)

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [Development](<https://devfeed.tech/topics/development.md>), [code comments](<https://devfeed.tech/topics/code-comments.md>), [API](<https://devfeed.tech/topics/api.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [blog](<https://devfeed.tech/tags/blog.md>), [code-comments](<https://devfeed.tech/tags/code-comments.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [technical-documentation](<https://devfeed.tech/tags/technical-documentation.md>), [toolchain](<https://devfeed.tech/tags/toolchain.md>)

### AI overview

The article argues that "documentation" can refer to different materials, from README files and code comments to developer portals, manuals, and API references. Because these forms serve different audiences and contexts, advice to reduce or replace documentation with automation cannot be applied universally.

### Source excerpt

There was a post submitted to the Orange Website™ the other week with the title "Delete half your documentation" (HN thread here). The author talks about how documentation inherently has a cost, and how we should minimize the amount of documentation we need. It becomes outdated, requires maintenance, and "nobody reads it anyway". Instead, they argue, we should use type annotations, tested examples, and other methods to remove the requirement for manually maintaining documentation. Some of these arguments have some merits in the right context. But what really caught my eye in the post was this line: "When I say 'documentation', I mean all forms of it, including README, Markdown files, docstrings, and code comments." Hang on. This is not all forms of documentation! And we certainly cannot apply these rules universally. Documentation is in the eyes of the reader I recently Tweeted about the confusion that can happen when people use the word "documentation" to refer to different things. The word "documentation" has so many meanings depending on who you're talking to. To one person it's a single README file. To another, it's a full blown dev portal with guides and API references. Causes legitimate confusion sometimes -- Niklas Begley (@NiklasBegley) September 6, 2023 The post mentioned above is a great example of this phenomenon. The author clearly had the view that "documentation" means code documentation: docstrings, and other supplementing information you can include in or generate from raw source code. This is quite natural for software developers, since it's the kind of documentation they are used to producing themselves. And for their case, perhaps relying on automation over prose to ensure your documentation is in order is a good idea. But what about developer portals, manuals, or API references? Surely a technical writer documenting a complex developer toolchain should not apply the same thinking and "delete half their documentation"? An overloaded term Technical