Skip to content

rocketship-ai/rocketship

Repository files navigation

Rocketship black logo Rocketship white logo

E2E Testing for Coding Agents to Write, Run, and Maintain

Validate Any Data Resource, API, or Customer Journey With Declarative Tests

Github release Go Report Card

Download · Documentation ·


🚀 Rocketship is an open‑source testing framework that can verify complex, user-driven scenarios that are made by your customers— or your systems. Rocketship brings durable execution backed by Temporal to your testing infra, and offers extensible plugins so you can add the APIs and protocols that matter to you.

Define your test scenarios as declarative YAML specs -> and have Rocketship run them locally or in your cloud environment as deterministic workflows.

Core features:

  • Rocketship CLI Run the engine locally or connect to a remote address.
  • Deploy-Ready Images Need long-running, highly-scalable tests? Or just want to save test history? Host Rocketship on your own infra.
  • Declarative YAML Define your test scenarios as declarative YAML specs.
  • Durable Execution Need a test step to retry? Or a test to run for 10 hours? No problem!
  • Plugin Ecosystem Add the APIs and protocols that matter to you.

Getting Started

Install

Install the CLI with Homebrew on macOS, or use the install script on for other platforms. Detailed steps live in the Installation Guide.

# macOS
brew tap rocketship-ai/tap
brew install rocketship

# Linux / fallback
curl -fsSL https://raw.githubusercontent.com/rocketship-ai/rocketship/main/scripts/install.sh | bash

Save a test spec

cat > rocketship.yaml << 'EOF'
name: "Simple Test Suite"
description: "API + Browser Testing"
vars:
  base_url: "https://tryme.rocketship.sh"
tests:
  - name: "User Registration and Login"
    steps:
      - name: "Create a new user via API"
        plugin: http
        config:
          method: POST
          url: "{{ .vars.base_url }}/users"
          body: |
            {
              "name": "Nick Martin",
              "email": "[email protected]"
            }
        assertions:
          - type: status_code
            expected: 200
        save:
          - json_path: ".id"
            as: "user_id"

      - name: "Verify user in browser"
        plugin: playwright
        config:
          role: script
          script: |
            from playwright.sync_api import expect

            # Navigate to user profile
            page.goto("{{ .vars.base_url }}/users/{{ user_id }}")

            # Verify user details are displayed
            expect(page.locator("h1")).to_contain_text("Nick Martin")

            result = {"verified": True}
EOF

Run it

rocketship run -af rocketship.yaml # starts the local engine, runs the tests, shuts the engine down

For Coding Agents

If you're using a coding agent (Claude Code, Cursor, Windsurf, etc.), copy and paste the ROCKETSHIP_QUICKSTART.md file into your context window for a comprehensive reference guide.

This quickstart covers:

  • Installation and setup
  • All core plugins (HTTP, Supabase, Agent, Playwright, SQL)
  • Variables and lifecycle hooks
  • Retry policies and assertions
  • Real-world examples

Direct link: https://raw.githubusercontent.com/rocketship-ai/rocketship/main/ROCKETSHIP_QUICKSTART.md

Documentation

https://docs.rocketship.sh

Contribute!!!

I would love to build this with you! I'm looking to start a community for 🚀. Reach out to me on LinkedIn and let's chat. A great first contribution is building a plugin for your favorite API. If you want to contribute to Rocketship, start by reading Contributing to Rocketship.

License

Rocketship is distributed under the MIT license.