#AMLD Agent-Mediated #LiterateDevelopment methodology first draft, ready to be tested.
I would love some feedback.
https://hg.sr.ht/~travisfw/amld-method
#agenticCoding

I just began an #AMLD repository.
It is a template for Agent-Mediated #LiterateDevelopment methodology.

In a nutshell:
Design documentation and project management should be *on trunk* (or main branch) and must be enough to regenerate everything that has been previously generated with an #AI coding agent. It should be written for humans, except for a log of previously followed plans referenced by closed tickets.

IE the docs are code.

This is not #VibeCoding; this is literate.

This is what I am learning now. How best to maintain project management docs, specifications, tickets, and so on, on trunk.

I started out putting it in a separate branch and committing generated code to its own branch, and merging. I thought my prompting and writing was just for me, or at least, not what people would want to see.

#LiterateDevelopment #CleanCode

I have realized the error of my ways. The docs are the code. The English is the important part, now.

How are you doing it?

So, what does #LiterateDevelopment look like, now?

Well, it bears repeating that the *literate* part (which Robert C Martin would still call "code") should be committed to trunk. It needs to describe implementation, maintenance, testing, deployment, and all the same dimensions of utility documentation has always served.

But now, it needs to be on trunk, not in a separate repo or wiki.

Is that awkward? But we have the tools and many ways to do it, and we're just getting started.

#LiterateDevelopment vs #VibeCoding. FIGHT!

Also, people have *always* vibe coded!

You don't have to be around long to find code that makes you wonder … until you realize the author just didn't care.

Vibe coding is the engine driving so many startups toward their exit. If the goal is to exit, not maintain, it just has to "work" until the ink on the sale dries.

Slop code has always been. #AI has merely lowered the bar for its creation.

These people are not writing literature.

Actually, I want to pit #LiterateDevelopment against #VibeCoding directly.

Clean code has *always* been literate. That means a dev with the skills to maintain the code base should be able to read the code. The *only* valid argument against documentation has been that the code is self-documenting. Okay, maybe with a high level language and enough care, the docs can be fairly spare. I would still argue for documentation, but I have lost some of those arguments.

Caveats!

Primarily:
Docs are code!

Tickets. Diagrams. The roadmap. All the project management stuff defines the software. With Claude (I have yet to branch out, but believe me, it's coming) I have begun committing project management documentation to trunk. (Rename master to trunk, you colonialist.)

*Everything* I generate with an LLM is based on committed English documentation.

This is #LiterateDevelopment! Thank you, Donald Knuth and your contemporaries. And thank you Robert C Martin.

Whether you agree with, hate, or are turbulently navigating the transition of many teams to agent-mediated coding (I am considering the post from @anildash where he talks about #codeless, IE #LiterateProgramming or #LiterateDevelopment), Robert C Martin's book, Clean Code should be the bible in these times.

https://sfba.club/user/travisfw/comment/41400

https://www.goodreads.com/work/quotes/3779106-clean-code-a-handbook-of-agile-software-craftsmanship-robert-c-martin

#AIDev

Travis F W's comment on Clean Code - SFBA Book Club

Book Club of the SFBA.social community

@anildash I do have a better term than #codeless!
I mean Donald Knuth does: #LiterateProgramming.
AI is new, but everything about what the developer does is, well, let's call it #LiterateDevelopment, just a slight shift into this millennium, reflecting that it really becomes enough to develop a system, still obviously referencing Knuth.
I think the word "literate" emphasizes the care and responsibility a dev should take not to produce slop.