I’m the founder at Loft, a team of three. Loft is what earlier attempts at spec driven development should have been in the first place. Since July we’ve been building it with coding agents, mostly Claude Code, and this week its open-source CLI went public 53 hours after its first commit. It’s a side project for our team. Our bread and butter is in massive soft realtime transaction processing, and our team is a part of a larger organization. This blurb here is to share some of the lessons learned along the way. It’s mostly a TLDR; there is a link to a complete article published on our website at the end of the post. The key finding is this: while the agent does the typing, the engineering is still yours . The center of how we work on Loft is what we call a software plant . A factory makes output faster. A plant is a controlled line where building and testing run on their own and work that fails a check is turned away, so a person decides on work that already passed. In the open CLI the plant is literal: The real release binary runs against simulators of git, the clock, the telemetry collector, and the release feed. Simulated git answers only the calls Loft makes, from a scenario the test writes, and refuses everything else. Contract suites run the same scenarios against real git and the real services, so a simulator that drifts fails its own suite before it can make the gate lie. Around the plant, everything is ordinary engineering, moved to where the agent works: Requirements first. Every code change starts as a spec change that a person ratifies. Claude asks its questions before it plans, and plans before it writes. Hard limits in the build. Function length, complexity and some other static analysis metrics fail the gate, so Claude refactors instead of piling on. Code review, multiplied. Fresh reviewer agents read every stage, other agents review the fixes, and Claude breaks the code on purpose to check that the right test fails. When Claude is writing code, Codex is the reviewer and vice versa. Postmortems that change something. A correction made twice becomes a standing rule the same day. Throwing code away and starting over is normal. We have this incredibly smart and fast code generator at hand. It should be put to the right use. People own the decisions that have consequences: what goes into the spec, every merge, every release. Claude does the work, and a person answers for it. “Claude did this” is a no-go. Claude is a tool, you are the operator. Agents produce plausible work faster than anyone can read it. The production line has to turn work away on its own before people can afford to accept what the agents make. And when we took ten days of vacation in August, the agents produced zero commits. The steering is the job. Building Loft with Claude Code (the full write-up) works as a primer: the Software Plant in the core, the session loop, six practices to copy, a table of what the gates caught and what got past them, and the timeline of the ~50 hours after which the OSS Loft CLI when live sitting on top of months of careful design and experimentation work. Happy to share more details and answer questions! submitted by /u/Sad-CTO
Originally posted by u/Sad-CTO on r/ClaudeCode
