upvote
The question is who maintains it. I think, LLM is the only practical option. In my agent rules, I tell it to maintain INDEX.md on each level. That takes 1 line of instruction and starting with an example file. Then, it self-maintains.
reply
In practice, the LLM, treedocs and I all work together to maintain it. treedocs finds missing and extra paths, and missing descriptions. The LLM writes descriptions. git makes sure I never forget to run treedocs sync. And I always have the ability to easily correct incorrect descriptions by the LLM, or add my own special instructions.

Sure the LLM can do all of that but it's a waste of a lot of tokens, and in my experience it often makes incorrect assumptions or doesn't realize certain details.

reply
This is lovely! I'd done something similar in my own setup.

I'm curious what your experience has been with fork/merge – why a monolithic file rather than something more diffuse?

reply
treedocs already has the ability to read multiple treedocs.yaml files. (I should probably document this better.) treedocs.yaml files can be "nested". So you would have one at the top of your repo, and then you could optionally have one or more in subdirectories. Then your top treedocs.yaml is responsible for the repo, but the subdirectory treedocs.yaml files are responsible for their own subdirectory. The idea is that you might have situations where you install a dependency and it clones a subdirectory. Well that subdirectory could just define its own treedocs.yaml.

So it doesn't have to be monolithic.

reply