‹ BackHN Continuity

Thread

The GitHub wiki is an anti-pattern (2022)

175 points · 112 comments · ibobev

  1. gwking · · focus · HN ↗
    The last paragraph says: > At some point your docs will outgrow a single folder, and then all bets are off. You’ll want a separate repo with its own build process...

    My question is, why is this taken as a given? Is it so hard to have docs and code live together in version control after a certain scale? If so, what is the specific problem and what is the cause?

    I ask because I've never been that satisfied with the various ways I've tried to organize projects in git. Recently I've been trying to keep the source, tests and docs together in the same tree so that changes are more localized. It seems to be helping me keep track of things, especially with coding agents so eager to make changes all over the place. I find their proclivity to repeat the same idea in multiple locations (agent instructions, docs, docstrings, help strings, comments) especially problematic.

    1. TheRoque · · focus · HN ↗
      I also put everything in one repo nowadays, no matter the usage, the language etc. All is synced, and all is accessible by my LLM. There are a lot of tools to manage monorepos, and frankly most of the time you don't even need them.
      1. ffsm8 · · focus · HN ↗
        It makes releasing software a lot more complicated.

        Not a big deal if you're basically the only developer and handroll the process - but poly repositories make release and dependency management a lot more straightforward to wrangle

      2. bluGill · · focus · HN ↗
        Most of the time your repo is so small that you won't run into the problems of a large repo and so you don't need those tools. Don't confuse that for monorepos have no problems when they get large.
        1. genxy · · focus · HN ↗
          How large is large? What does large mean? More than 100GB? 2TB?
          1. bluGill · · focus · HN ↗
            You have the wrong measure. Large is number of parts. That is partially source files, partially projects/teams, and partially things that are conceptually not related. Likely other things as well.

            It is unlikely GB/TB is ever a measure, though if your repo is that big and some people only need a subset of the repo it would be.

            1. jonjon10002 · · focus · HN ↗
              Worked at a place (as a tech writing manager) where the monorepo was several TB and company-issued laptops all had 500 GB hard drives. It was like a rite of passage that new writers or people with new laptops would inevitably not RTFM or learn about sparse checkout and try to clone the entire repo, which was not good.
              1. genxy · · focus · HN ↗
                Nice hazing ritual, I hope that behavior extended to other parts of the organization.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.