Validate Any Data Resource, API, or Customer Journey With Declarative Tests
🚀 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.
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 | bashcat > 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}
EOFrocketship run -af rocketship.yaml # starts the local engine, runs the tests, shuts the engine downIf 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
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.
Rocketship is distributed under the MIT license.