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.