TypeScript Test Scripts
Write database stress tests in TypeScript with full type safety. Use k6 scenarios, thresholds, and the built-in helpers framework.
Flexible Data Generation
Generate realistic test data with uniform, normal, and Zipfian distributions. Strings, integers, floats, UUIDs, booleans, dates — with sequence and random modes.
k6 Under the Hood
Built as a k6 extension. Get virtual users, scenarios, thresholds, real-time web dashboard, and HTML report export out of the box. All k6 features work natively.
Built-in Workloads
Start immediately with TPC-B, TPC-C, and TPC-DS preset workloads. Or scaffold your own with stroppy gen --preset=simple.
SQL-First Approach
Organize SQL in structured files with named sections and queries. Named parameters, automatic placeholder conversion, and argument validation out of the box.
Extensible Drivers
PostgreSQL, MySQL, and Picodata drivers built-in with connection pooling. Add your own database driver by implementing a simple Go interface and registering it.
Up and running in 30 seconds
stroppy gen --preset=simplecd simple && npm installstroppy run simple.tsOr use Docker
# Pull and run directly
docker pull ghcr.io/stroppy-io/stroppy:latest
# Run built-in TPC-C benchmark
docker run --network host \
stroppy run tpcc
# With custom driver and URL
docker run --network host \
stroppy run tpcb \
-d pg -D url=postgres://u:p@host/dbOr ask Claude Code
# With the Stroppy MCP server configured,
# just ask in natural language:
> run a TPC-C benchmark with
50 virtual users for 5 minutes
and save an HTML report
# Claude Code calls stroppy_run()
# with the right parameters — no env
# vars, no flags, no permission prompts.