Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Rise of Local CI Tooling. Thanks AI Coding ...

The Rise of Local CI Tooling. Thanks AI Coding Agents!

During AI Engineer Paris:

AI-powered coding agents are everywhere. They help us write boilerplate and boring code, surprise us by generating features, or even build entire applications. And this is more than a passing trend: agents are already part of our daily workflow. But the unwritten aspect is that our role as developers is shifting. Our code is no longer written by us alone. We now need to review, orchestrate, integrate the work of multiple autonomous agents, sometimes across multiple codebases. In a sense, we are becoming something that once sounded outdated: integrators. To help us in this new, critical, role, we need tools. We need local Continuous Integration tools: the kind that also integrates well with coding agents. And the good news is those tools already exist in the open-source world, container-use to offer a proper isolated environment for coding agents, and dagger to continuously integrate the generated code.

Avatar for Yves Brissaud

Yves Brissaud

September 24, 2025
Tweet

More Decks by Yves Brissaud

Other Decks in Technology

Transcript

  1. The Rise of Local CI Tooling. Thanks AI Coding Agents!

    2025 - 09 - 24 / AI Engineer Paris Yves Brissaud
  2. ?

  3. Open-source runtime for composable workflows Build powerful software environments and

    containerized operations from modular components and simple functions. Perfect for complex software delivery and AI agents. Built by the creators of Docker.
  4. Dagger.io Components for modern software and workflows Turn these and

    more into programmable and stateful objects. Get full type safety across with a consistent interface that works in any supported language. containers LLMs files repositories directories Building Blocks
  5. Dagger.io • CLI & SDKs Turn these and more into

    programmable and stateful objects. Get full type safety across with a consistent interface that works in any supported language. Rapidly prototype, develop, and ship
  6. Dagger.io • CLI & SDKs Turn these and more into

    programmable and stateful objects. Get full type safety across with a consistent interface that works in any supported language. Rapidly prototype, develop, and ship
  7. Dagger.io • LLMs Add agentic capabilities into your workflows, or

    give agents the perfect environment and set of tools so they can do their magic without wreaking havoc. Make agents that run free, not wild
  8. Dagger.io • LLMs Add agentic capabilities into your workflows, or

    give agents the perfect environment and set of tools so they can do their magic without wreaking havoc. Make agents that run free, not wild
  9. Dagger.io Go Python Chain functions to do anything, anywhere Turn

    these and more into programmable and stateful objects. Get full type safety across with a consistent interface that works in any supported language. @func()
 async run(dir: Directory, db: Service): Promise<Service> {
 return dag
 .container()
 .from("alpine:latest")
 .withServiceBinding("db", db)
 .withMountedDirectory("/app", dir)
 .withWorkdir("/app")
 .asService({
 args: ["go", "run", "main.go"],
 });
 } TypeScript TypeScript Python @function
 def run(self, dir: dagger.Directory, db: dagger.Service) -> dagger.Service:
 return (
 dag.container()
 .from_("alpine:latest")
 .with_service_binding("db", db)
 .with_mounted_directory("/app", dir)
 .with_workdir("/app")
 .as_service(args=["go", "run", "main.go"])
 ) Go TypeScript Python Go func (m *Api) Run(dir *dagger.Directory, db *dagger.Service) *dagger.Service {
 return dag.Container().
 From("alpine:latest").
 WithServiceBinding("db", db).
 WithMountedDirectory("/app", dir).
 WithWorkdir("/app").
 AsService(dagger.ContainerAsServiceOpts{
 Args: []string{"go", "run", "/app/main.go"},
 })
 } Go
  10. Dagger.io Let’s build integration tools for today’s challenges, not those

    from the past Dagger Discord github.com/dagger/dagger