No server infra needed. Issues/Wiki/Discussions all built-in. Customizable web interface. Adapter to export to git. Single-file (also an SQLite database you can query).
I think this boilerplate thing got lost in translation some time ago.
We dislike _the presence_ of boilerplate, not the time spent writing it. If another thing writes it for you, it implies that _now boilerplate exists_, and it sucks.
It makes me unhappy when it exists. It makes me unhappy if it appears in seconds.
That said, there is some potential for using AI to reduce boilerplate and help create more meaningful software. However, that is definitely not the way things are shaping out to be.
It is very likely that agent tooling will get better at doing asynchronous things and being aware of the user interacting in parallel, without git, and probably within a single session.
It's feasible, and it makes more sense than separating and merging later (or keeping patches in memory then applying in bulk).
Why do I say it's feasible? We have the technology, right? The IDE knows which file the user has in focus, and can orient agents to use tooling that would inform them of that fact when they're running. Similarly, that same tooling could just spend a little bit of time planning focus to spread to multiple agents in a way they won't overlap.
Maybe big repos, monorepos and so on are a limitation. If we were on the previous "small-to-middle interlinked projects" era, that division would come in naturally. You only really need multiple agents in parallel on a single project if that thing is big enough to have more than one angle to work on. It's a push-and-pull that changes with the times, maybe we're heading to a more granular way of doing things.
A math module that is not tested for division by zero. Classical LLM development.
The suite is mostly happy paths, which is consistent with what I've seen LLMs do.
Once you setup coverage, and tell it "there's a hidden branch that the report isn't able to display on line 95 that we need to cover", things get less fun.
It's entirely happy paths right now; it would be best to allow the test runner to also test for failures (check expected stderr and return code), then we could write those missing tests.
I think you can find a test somewhere in there with a commented code saying "FAWK can't do this yet, but yadda yadda yadda".
It's funny because I'm evaluating LLMs for just this specific case (covering tests) right now, and it does that a lot.
I say "we need 100% coverage on that critical file". It runs for a while, tries to cover it, fails, then stops and say "Success! We covered 60% of the file (the rest is too hard). I added a comment.". 60% was the previous coverage before the LLM ran.
We had upstarts in the 80s, the 90s, the 2000s and the 2010s. Some game, some website, some social network, some mobile app that blew up. We had many. Not funded by billions.
So, where is that in the 2020s?
Yes, code is a detail (ideas too). It's a platform. It positions itself as the new thing. Does that platform allow upstarts? Or does it consolidate power?
On Windows, it behaves like a malware. Suddenly flashing command prompt windows when you interact with it. Not very nice (also, lazy, since you don't need to do that flashing if you're a legitimate app).
https://fossil-scm.org/
No server infra needed. Issues/Wiki/Discussions all built-in. Customizable web interface. Adapter to export to git. Single-file (also an SQLite database you can query).
It's obvious it's the superior stuff.
reply