Command Palette

Search for a command to run...

Introduction

Oorty is a CLI tool that scaffolds production-ready testing infrastructure for modern web apps. Think of it as shadcn, but for testing.

Next.jsReactVitestPlaywrightTypeScript
Terminal
npx oorty@latest init

What is Oorty?

Oorty was built for developers who ship fast with AI tools like v0, Cursor, and Bolt. These tools make building apps incredibly fast, but testing often gets skipped because setup is tedious.

Oorty solves this by providing a single command that sets up your entire testing infrastructure:

  • Unit tests with Vitest for utilities and hooks
  • Component tests with Testing Library for React components
  • E2E tests with Playwright for full user flows
  • CI/CD with GitHub Actions for automated testing

Key Features

Framework Detection

Automatically detects Next.js, React, Vite, Remix, Astro, and more.

Zero Config

Works out of the box. No manual setup or configuration files needed.

AI Test Planning (Pro)

Analyze your codebase and generate a comprehensive test plan with priorities.

Bulk Generation (Pro)

Generate all tests from your plan with one command. Uses your own API key.

CLI commands

The published CLI exposes these commands (see each page for flags and examples):

Generated Files

After running oorty init, your project will have these configuration files:

Generated Files
my-app/
├── .github/
│ └── workflows/
│ └── test.yml # CI workflow
├── .oorty/ # Single source of truth
│ ├── cache/ # Ephemeral (gitignored)
│ ├── plans/ # Test plans (tracked)
│ ├── analysis/ # Coverage snapshots (gitignored)
│ └── logs/ # Debug logs (gitignored)
├── oorty.json # Oorty configuration
├── vitest.config.ts # Vitest configuration
└── playwright.config.ts # Playwright configuration

The .oorty/ directory is the single source of truth for auto-generated files. Plans are tracked in git for CI/collaboration, while cache and analysis are gitignored and rebuilt locally.

Ready to get started?

Follow the installation guide to set up Oorty in your project.

Installation