Gepetto - A command line operator for QA/DevOps

#gepetto #automation #qa #devops #ai #agents

Table of Contents

In a world increasingly dominated by complex systems and web-based interfaces, many operations teams still struggle with automating tasks that lack proper APIs.

Gepetto - A command line operator

This is why I’m thrilled to announce the release of Gepetto, a minimalistic CLI-based Operator: an AI Agent that uses its own browser (and other tools) to perform tasks for you.

The Vision Behind Gepetto

The next generation of AI Agents isn’t just about intelligence but about their ability to interact with systems and tools. Gepetto embodies this vision by automating tasks that require system interaction but lack proper APIs:

  • Browser interactions: Navigate web interfaces, fill forms, extract data
  • Data collection: Gather information from unstructured logs and web-only dashboards
  • Email processing: Parse and act on email content
  • And much more through extensible tooling

Key Capabilities

Execute Tasks in Natural Language

Gepetto allows you to describe tasks in plain English, without complex programming syntax. Here’s an example of a simple QA test:

# Task Name
description: "Website login/logout test."
tags: [smoketest, qa]
tools: [web, test]
author: "Laurent"
created: "2025-03-15"

Test:
  Visit ${HOSTNAME}.
  Navigate to the login page.
  Login with username ${USERNAME} and password ${PASSWORD}.
  Verify user is logged in and on the main dashboard.
  Click the logout button.
  Verify you are back to the login page.

Gepetto interprets these instructions and executes them autonomously, adapting to interface changes through its AI-driven understanding.

Comprehensive Reporting

Gepetto delivers detailed reports of its execution, including:

  • The status of each step
  • Details about what was done
  • Any issues encountered

Reports are available in JUnit XML format, making them compatible with CI/CD pipelines and standard testing frameworks.

MCP Integration

Gepetto supports the Model Context Protocol (MCP), allowing it to connect to third-party action providers. This means you can extend Gepetto’s capabilities beyond browser automation to interact with any MCP-compatible tool or service.

Use Cases

QA Automation

Gepetto executes manual QA processes described in natural language, adapting to interface changes through its AI-driven understanding. Unlike traditional automation tools that break when UI elements change, Gepetto can interpret the intent of each step and find the right elements even when the interface evolves.

Liveness Checks

Go beyond traditional monitoring tools by verifying systems through simulated user behavior. Gepetto can:

  • Log into your application
  • Perform key user workflows
  • Verify that critical paths are functioning
  • Report on any issues encountered

This provides deeper insights than simple ping checks or health endpoints.

Data Collection & Processing

Gepetto excels at:

  • Connecting to web-only dashboards
  • Extracting data from legacy interfaces
  • Transforming data into machine-readable formats (JSON, CSV, etc.)
  • Processing unstructured logs and reports

Perfect for situations where you need data from systems that were never designed to be automated.

Getting Started

Getting started with Gepetto is straightforward:

Installation

curl -s https://dist.gepetto.sh/releases/install.sh | bash

Configuration

Set up your OpenAI API key in ~/.gepetto/application.properties:

openai.api.key=your-api-key-here

Initialize a Project

mkdir my-project
cd my-project
gepetto init

Run Your First Task

gepetto run gepetto/tasks/hello.gpt

The Road Ahead

Gepetto is just getting started. Here are some areas I’m focusing on for future development:

  1. Improved Configuration Management: Better handling of environment variables, secrets, and project-specific settings
  2. Single Executable Packaging: Simplified distribution and deployment
  3. Expanded Non-MCP Tooling: Built-in support for more common automation scenarios
  4. Enhanced Reporting: More detailed insights and better visualization of task execution
  5. Community-Driven Extensions: A marketplace of pre-built tasks and tools

Join the Community

I’d love to hear your feedback and see what you build with Gepetto:

Conclusion

Gepetto bridges the gap between complex systems and the need for reliable automation. Whether you’re doing QA, monitoring, data extraction, or reporting workflows, Gepetto provides a simple yet powerful way to automate tasks that were previously manual or impossible to automate.

Give it a try and let me know what you think! I’m excited to see what the community builds with it.