Diátaxis

(diataxis.fr)

387 points by ryanseys16 hours ago

25 comments

  • rkangel14 hours ago
    I and my team did a full set of documentation for handing over a codebase to the client. A large complex codebase with accumulated history and subtle reasons why things were done.<p>Diataxis was <i>fantastic</i>. It took a bit of effort to work out what the page titles were to cover everything we needed, but then when you were writing a page it was glorious.<p>It was so clear what you were saying and what &quot;voice&quot; you were writing in. If it&#x27;s a Reference page you&#x27;re all descriptive, with diagrams and bullet points. When it&#x27;s a guide you&#x27;re more discursive, but you know you&#x27;re just imparting information not trying to teach. It made it so much easier to be coherent and clear about everything.
  • DanieleProcida13 hours ago
    I&#x27;d like to take advantage of the attention it&#x27;s getting to point out that I am working on translating Diátaxis into other languages <a href="https:&#x2F;&#x2F;diataxis.fr&#x2F;translation&#x2F;" rel="nofollow">https:&#x2F;&#x2F;diataxis.fr&#x2F;translation&#x2F;</a>, and you can see an in-progress version with some partially completed translations at <a href="https:&#x2F;&#x2F;diataxis-translated.readthedocs.io&#x2F;translation&#x2F;" rel="nofollow">https:&#x2F;&#x2F;diataxis-translated.readthedocs.io&#x2F;translation&#x2F;</a>.
  • Hnrobert4215 hours ago
    I urge people to not read this. Once you do, you will see all documentation will as the flawed and confusing mess it is. Ignorance is bliss!
    • swyx15 hours ago
      truly. its the kind of thing that makes docs people justify their jobs rather than coming from a founder or user centric pov
      • blanched12 hours ago
        Maybe I&#x27;m incorrectly parsing your comment, but what does a &quot;founder centric pov&quot; for documentation look like?
        • NamlchakKhandro11 hours ago
          looks like a load bearing seam with strong decisions
          • cwmoore11 hours ago
            survivor biased models
  • conradludgate15 hours ago
    I never saw the point in Diataxis, but honestly while vibe coding it&#x27;s pretty convenient to tell an LLM &quot;do diataxis&quot; and get decent first pass documentation out of it.
    • WillAdams12 hours ago
      I found it helpful in thinking about code and the approach for my current project:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;WillAdams&#x2F;gcodepreview" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;WillAdams&#x2F;gcodepreview</a><p>In particular, it made it seem obvious to split up the documentation between:<p>- Overview --- readme.md<p>- Tutorials --- handled in various template files<p>- How to Guides --- embedded in the Literate Program code<p>- Reference --- the indices and Command Glossary
    • nchmy13 hours ago
      Ive been aware of diataxis for a while, but i hadnt considered such an approach. Will definitely keep it in mind for when im ready to generate some sort of docs. Thanks!
    • i_v11 hours ago
      With tutorials, I’ve been enjoying handing my agent a directory of screenshots, talking out the process, then having it organize it all into a guide.<p>Huge fan of Diataxis over the years!
    • radicalriddler15 hours ago
      Agreed, a couple months back, I got cf to crawl the site and created a block of skills around it for personal use.
    • c0rruptbytes15 hours ago
      same, it’s great for first pass LLM docs
    • amazingman11 hours ago
      You clearly <i>do</i> see the point!
    • keeganpoppen10 hours ago
      [dead]
  • tedd4u15 hours ago
    Posted many times. Here&#x27;s the most recent time from 2024 (also has most discussion).<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=42325011">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=42325011</a>
  • jamilbk13 hours ago
    We just invested a good amount of time restructuring our docs for Diátaxis. It was helpful, but I wouldn&#x27;t take it as gospel. The important thing to remember is that each piece of content should be one of the four types.<p>If you&#x27;re embarking upon a refactoring &#x2F; rewriting journey for your docs, the only advice I&#x27;d share is to actually read the website beginning to end before starting. Especially this page: <a href="https:&#x2F;&#x2F;diataxis.fr&#x2F;complex-hierarchies&#x2F;" rel="nofollow">https:&#x2F;&#x2F;diataxis.fr&#x2F;complex-hierarchies&#x2F;</a>. The guide is (unsurprisingly) very well written, and it&#x27;s easy to internalize the concepts because they&#x27;re repeated often.
    • DanieleProcida13 hours ago
      Ugh, I don&#x27;t like that page and I have actually deleted it. It&#x27;ll be gone soon.<p>There is a real problem there, and that page doesn&#x27;t do a good enough job of dealing with it. I have something cooking that is much, much better.
      • mstade3 hours ago
        We&#x27;re currently in the process of restructuring our documentation and I&#x27;d be very interested in an early draft of this, fully understanding that caveat emptor. Is it published anywhere currently?
      • nlawalker13 hours ago
        Please post some kind of visible change notification (and something here) when you do!
      • LoganDark13 hours ago
        It makes sense to me (I agree with it), but I also agree that it doesn&#x27;t really deal with it. I look forward to whatever you&#x27;re cooking!
  • 5ersi2 hours ago
    Here you go, made a skill for it: <a href="https:&#x2F;&#x2F;github.com&#x2F;peterknego&#x2F;diataxis-docs-skill" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;peterknego&#x2F;diataxis-docs-skill</a><p>Just released, alpha quality, need feedback&#x2F;fine-tuning. Testing it now on my OSS repos.
  • somewhatrandom914 hours ago
    How is this different from Divio&#x27;s documentation system?: <a href="https:&#x2F;&#x2F;docs.divio.com&#x2F;documentation-system&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.divio.com&#x2F;documentation-system&#x2F;</a><p>Update: <a href="https:&#x2F;&#x2F;diataxis.fr&#x2F;colophon&#x2F;#origins-and-development" rel="nofollow">https:&#x2F;&#x2F;diataxis.fr&#x2F;colophon&#x2F;#origins-and-development</a> (Divio came first).
    • DanieleProcida13 hours ago
      Same fundamental ideas, but I got a lot of things wrong in that earlier version (which is several years old now).
  • mmargenot9 hours ago
    I love whenever this comes up. It’s a great framework for thinking about and writing docs.<p>It’s hard to keep documentation up to date, however, and I find that items like tutorials and reference materials (unless generated off versioned code) can drift pretty far over time.<p>A feature I like in concept that notion introduced with wikis ages ago was a “verification” timestamp, where you specify a timeframe after which the doc owner has to reconfirm that the doc is up to date. A bit too easy to rubber stamp, unfortunately, but maybe if it took the doc offline entirely without a more robust audit.
    • mmyrte2 hours ago
      I am sure that this exists for other ecosystems as well - rustdoc, Documenter.jl and Sphinx seem to support this - but my experience lies in R: three of the Diátaxis categories map quite nicely onto R package constructs:<p>- Tutorials are implemented as &quot;vignettes&quot;, executed on package validation - How-Tos are attached in roxygen documentation chunks, likewise executable by default - execution disabled when expensive or to avoid side effects. - Reference is implemented in a TeX or Markdown format, commonly parsed by roxygen<p>The only thing that&#x27;s missing is a canonical way of documenting implementation rationale. Having the documentation outside the repo worked before LLMs, but there was always that weak point of code drifting away from the documentation...
  • broken-kebab1 hour ago
    I can&#x27;t help but notice that for a documentation organization framework&#x2F;method it failed to produce its own good documentation.<p>There are repetitive bloated texts with unnecessary distractions and unenlightening illustrations. It is maybe well-organized, if one can speak about good organization of poorly expressed knowledge at all.
  • galaxyLogic7 hours ago
    The concept of 4 different uses of documentation seems great. But I wonder why the presentation of Diaraxis itself is not clearly structured into these 4 different &quot;views&quot; on documentation? Or are they?
  • hahahaa9 hours ago
    I also admire what there isn&#x27;t: certs, training, manifesto, &quot;yah ain&#x27;t holding it rite&quot; blog posts, and job ads for a &quot;Diátaxis Master&quot;.
    • d0mine1 hour ago
      Wait until it becomes popular.
  • thisisauserid3 hours ago
    Hypotaxis: arranging under<p>Parataxis: arranging alongside<p>Diátaxis: arranging across
  • bolt0124 hours ago
    I was not familiar with Diataxis, and as I was reading through the webpage, I kept wondering if there were any concrete examples. I love cooking, and it was interesting to see that some of the insights of the whole philosophy used teaching how to cook as an example.<p>I read a lot of cookbooks, and interestingly enough, I never stopped thinking about what makes a good cookbook (except for its recipes). Diataxis answers that in a way. Indeed, the best cookbooks I have read in some way or another followed Diataxis.
    • lathiat2 hours ago
      Much of the Canonical &amp; Ubuntu documentation uses it now. I am not sure which are the best examples though.<p><a href="https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;" rel="nofollow">https:&#x2F;&#x2F;ubuntu.com&#x2F;server&#x2F;docs&#x2F;</a>
  • smokel15 hours ago
    Perhaps add <i>&quot;A systematic approach to technical documentation authoring&quot;</i> to the title?
  • aeden11 hours ago
    I love seeing this pop up again. Our customer support team has been steadily moving all of our docs over to Diátaxis for a while and it&#x27;s been a really nice improvement.
  • rjmill7 hours ago
    Please do not make me click on &quot;reference&quot; to get to &quot;API docs&quot;. I love diataxis, but dear lord, do not make me click an extra time to get to the thing I actually need 95% of the time.<p>Overall, the movement is good, except for how it tends to turn 1-click docs into 2-click docs (or more for folks who don&#x27;t know that API docs probably live under reference.)<p>You are allowed to have a top level tab&#x2F;link to API docs. Please do not hide those from me while you &quot;improve&quot; your docs.
    • vanderZwan7 hours ago
      I&#x27;m genuinely confused about what one would expect under &quot;reference&quot; that isn&#x27;t effectively API-shaped (in the context of software). Like, I&#x27;ve never consciously thought of this before but I can&#x27;t remember a time that they haven&#x27;t effectively been synonyms in my mind when I&#x27;m navigatig documentation.
      • rjmill40 minutes ago
        That&#x27;s part of the problem. Some projects, when they move to diataxis, will create a top level section called &quot;reference&quot; and have a single item under it called &quot;API&quot; (or similar.)<p>Depending on the docs theme, it can require clicking through to get to it.<p>It is a minor annoyance.<p>edit: Also gonna tack onto this that my original comment reads way more acerbic than I actually feel. I was sleepy and didn&#x27;t proofread for tone like I normally do.
  • wonger_13 hours ago
    Another documentation model: Fabrizio&#x27;s seven actions [0]. People read docs to appraise, understand, explore, practice, remember, develop, and troubleshoot, usually in that order.<p>It feels so natural and obvious compared to Diataxis&#x27; forced abstractions, where I&#x27;m still left wondering &quot;what&#x27;s the difference between a tutorial and a how-to guide?&quot;<p>But! I&#x27;m glad for anything that helps people organize and maintain docs.<p>[0] <a href="https:&#x2F;&#x2F;passo.uno&#x2F;seven-action-model&#x2F;" rel="nofollow">https:&#x2F;&#x2F;passo.uno&#x2F;seven-action-model&#x2F;</a>
    • rlpb13 hours ago
      &gt; ...where I&#x27;m still left wondering &quot;what&#x27;s the difference between a tutorial and a how-to guide?&quot;<p>I don&#x27;t find this question difficult. Without looking anything up, a tutorial exercises a contrived example for learning purposes, whereas a how-to guide provides instructions suitable for real world execution.
      • wonger_10 hours ago
        Ah ok, thanks for clarifying contrived vs real. Like a videogame tutorial I suppose.
    • ashu146112 hours ago
      How to guide is for things which you want to do, probably not without going in depth or understanding the technicalities.<p>Example in our codebase<p>- How to clear the cache ?<p>- How to configure the logger ?<p>I liked the idea of separating our how to guides and explanations &#x2F; tutorials, because sometimes you just want engineers to follow a specific flow without going too much in depth.
  • lijok14 hours ago
    Diataxis + ADRs + C4 = The holy trinity of docs
    • i_v11 hours ago
      C4[1]? Hadn’t heard of it until now. Thanks!<p>Really curious what the major differences are that have you preferring it over other methods &#x2F; winging it.<p>[1]: <a href="https:&#x2F;&#x2F;c4model.com&#x2F;" rel="nofollow">https:&#x2F;&#x2F;c4model.com&#x2F;</a>
    • Cynddl13 hours ago
      I had to search these terms, does ADR mean ‘Architecture decision record’ and C4 the ‘C4 model’? How do you combine them in documentation?
  • CompoundEyes8 hours ago
    I’ve been loving Diataxis! My agents follow guidance that links from other file types to a reference file type must be one way. Stays DRY. Also to regularly cut long reference files into smaller focused ones and link from the main.<p><pre><code> tutorial&#x2F;setup-buh-snuh-env.md how-to&#x2F;configure-buh.md install-snuh.md reference&#x2F;buh.md snuh.md snuh-licenses.md explanation&#x2F;why-we-use-buh.md</code></pre>
  • 01HNNWZ0MV43FF6 hours ago
    I&#x27;ve also found these guidelines helpful:<p>1. In general, do whatever Wikipedia does. e.g., start with a one-sentence definition, then a couple paragraphs of summary, then go into short specified sections, and keep links to the &quot;Citations&quot; at the end. It&#x27;s been refined for 25 years, it&#x27;s older than most of your engineers, it&#x27;s 50+% correct by default.<p>2. Keep every section to one screenful. If your reader can&#x27;t see a headline, they get lost.<p>3. Put a funny picture at the top of the page. Or at least something off Wikimedia Commons.<p>4. Don&#x27;t spend a lot of time writing anything. And don&#x27;t use AI. The AI doesn&#x27;t know what&#x27;s inside your head. You yourself have an inkling. The longer you write, the further you&#x27;ll get. Just write one short thing at a time and refactor aggressively later. Never throw shit over a fence blind. Nobody reads shit that&#x27;s been flung over a fence.<p>Steven King said writing is telepathy. All mediated communication sits on a Pareto trade-off with face-to-face communication. Media is always less interactive with slower iterations. You need to figure out exactly what your audience needs, right when they&#x27;re reading, and write just that, knock &#x27;em dead, and leave. Don&#x27;t add detail. They&#x27;ll ask if they need detail.
  • voidhorse7 hours ago
    I don&#x27;t have a problem with Diataxis itself but every time it comes up it saddens me because it is a reminder of how bad the technical writing community (by which, here I mean people who have technical writer as a job title) has been about popularizing and sharing their institutional knowledge, to the point that diataxis is far more popular and what a lot of people in tech think about when they think about technical writing.
  • krackers5 hours ago
    The old (now legacy) apple documentation roughly seemed to follow this pattern I think.
  • tizerluo2 hours ago
    [flagged]
  • mendapi10 hours ago
    [flagged]