Recently, I experimented with using Large Language Models (LLMs) to help maintain and update some of my Debian packages.

My approach was straightforward: I placed the source package in a local filesystem, launched an opencode-agent instance inside a bubblewrap sandbox, and asked it to update the package following Debian best practices. I instructed it to check the Bug Tracking System and Policy guidelines, as well as review and update all present files under debian/.

Although I still needed to monitor it closely and guide it with specific feedback, the final packages turned out better than if I had only updated the upstream version.

Here are a few recent uploads created with this workflow:


I remain conflicted about this shift.

On one hand, having an assistant do the heavy lifting through an iterative feedback loop produces more thorough and accurate results than I might produce alone - the generated debian/changelog entries, for instance, are remarkably detailed (perhaps almost too extensive). Beyond Debian work, I’ve used LLMs to tackle long-postponed personal projects, like updating my homepage.

On the other hand, relying on these tools changes the learning process: because the AI executes the work, I miss out on deep hands-on learning.

My professional work will also be heavily affected. If you trust an agent enough to grant it shell access, it can take over full system administration - setting up infrastructure, tackling incidents, and analyzing log files.

Even if the current financial bubble around AI bursts, this underlying capability is here to stay. The longer I think about it, the more I believe this will be a bigger revolution than the Internet itself. I have no idea where this will ultimately lead us - whether as individuals, as system administrators, or as Debian Developers.