Coding agents changed our profession for sure. At the time of
the writing, my daily workflow is organized around agents,
tickets and worktrees. Projects are larger, I deal with more
changes in flight. 20 pending worktrees at a time is nothing
special these days. More like the low end, actually. In my
current source tree, find reports that I have 70 dirs named
dog/ and 83 named abc. These are libdog and
libabc, in all the multitude of their combinatorial
patching states. Yesterday, I reviewed and merged 10 jab
commits, among many other things. The number of tickets that I
can judge, accept and merge is over 20 a day currently; the
rejected work I do not count, but I reject as much as I merge,
or more.
What really helps here is very tight feedback loops. Overall, for the 4 months this codebase was in existence, it was 100% dogfooded. Beagle's development happened in Beagle as well. I typically run the code from the worktrees to browse or commit itself.
The code is not being built by some chain-of-thought process anymore. More like it coevolves with my understanding of the subject. I do not edit each tree manually anymore, I see a number of trees mutate towards the objective. I watch this evolution unfold, and I direct and correct it. It is not plan-then-code anymore, but more like direct-then-select.
Beagle is a git-compatible source code management system, but to navigate these new waters, I had to tune and rebalance the git model. This lists the key changes and I will defend each one:
$HOME/.be/) and a ton of worktrees.Each of the points is expanded in a separate post, with usage examples, see the links.