Skip to content

Getting Started

Already using Claude Code, Cursor, Windsurf, or another AI coding agent? Just paste this prompt:

I want to add automated testing to this project using bugatti (https://bugatti.dev/llms.txt).
Help me get it installed and configured, then interview me about what tests I want to create first.

The agent will read the docs, install bugatti, set up your config, and walk you through writing your first tests.

Terminal window
curl -sSf https://raw.githubusercontent.com/codesoda/bugatti-cli/main/install.sh | sh
Terminal window
git clone https://github.com/codesoda/bugatti-cli.git
cd bugatti-cli
sh install.sh

The installer places the binary at ~/.bugatti/bin/bugatti and creates a symlink at ~/.local/bin/bugatti. If ~/.local/bin isn’t on your PATH, the installer will tell you what to add to your shell profile.

Re-run the same install command. The installer replaces the existing binary.

1. Create a test file:

smoke.test.toml
name = "Smoke test"
[[steps]]
instruction = "Create a file called hello.txt with the contents 'Hello, world!'"
[[steps]]
instruction = "Read hello.txt and verify it contains 'Hello, world!'"
[[steps]]
instruction = "Delete hello.txt and verify it no longer exists"

2. Run it:

Terminal window
bugatti test smoke.test.toml

3. See the results:

bugatti 0.2.0
RUN 20260403-141523-001-a1b2
TEST smoke.test.toml — "Smoke test"
STEP 1/3 ... Create a file called hello.txt with the contents 'Hello, world!'
OK 1/3 (4.2s)
STEP 2/3 ... Read hello.txt and verify it contains 'Hello, world!'
OK 2/3 (3.1s)
STEP 3/3 ... Delete hello.txt and verify it no longer exists
OK 3/3 (2.8s)
DONE 3 passed, 0 warned, 0 failed (10.1s)

Each step is sent to an AI agent which figures out how to verify it and reports back with OK, WARN, or ERROR.

Terminal window
bugatti test

This discovers and runs all *.test.toml files recursively, skipping _-prefixed files (those are for includes).

If your project needs setup commands or a server, create bugatti.config.toml in your project root:

[commands.server]
kind = "long_lived"
cmd = "npm start"
readiness_url = "http://localhost:3000/health"

Bugatti will start the server, wait until it’s ready, run your tests, then tear it down. See Configuration for the full details.