103 lines
3.2 KiB
Markdown
Raw Permalink Normal View History

2025-11-15 18:41:25 -06:00
# Ultimate Validation Command
**One command to analyze your codebase and generate a comprehensive validation workflow.**
## Quick Start
### 1. Generate Your Validation Command
```bash
/ultimate_validate_command
```
This analyzes your codebase and creates `.claude/commands/validate.md` tailored to your project.
### 2. Run Complete Validation
```bash
/validate
```
This runs all validation: linting, type checking, style checking, unit tests, and comprehensive end-to-end testing.
## What It Does
### Analyzes Your Codebase
- Detects what validation tools you already have (ESLint, ruff, mypy, prettier, etc.)
- Finds your test setup (pytest, jest, Playwright, etc.)
- Understands your application architecture (routes, endpoints, database schema)
- Examines existing test patterns and CI/CD configs
### Generates validate.md
Creates a validation command with phases:
1. **Linting** - Using your configured linter
2. **Type Checking** - Using your configured type checker
3. **Style Checking** - Using your configured formatter
4. **Unit Testing** - Running your existing unit tests
5. **End-to-End Testing** - THIS IS THE KEY PART
## The E2E Testing Magic
The generated E2E tests are designed to be SO comprehensive that you don't need to manually test.
### For Frontend Apps
Uses Playwright to:
- Test every user flow (registration, login, CRUD operations)
- Interact with forms, buttons, navigation
- Verify data persistence and UI updates
- Test error states and validation
- Cover all routes and features
### For Backend Apps
Uses Docker and custom scripts to:
- Spin up full stack in containers
- Test all API endpoints with real requests
- Interact directly with database to verify data
- Test complete workflows (auth → data operations → verification)
- Create test utilities or API endpoints if needed
### For Full-Stack Apps
- Tests complete flows from UI through API to database
- Verifies data consistency across all layers
- Simulates real user behavior end-to-end
## Key Philosophy
**If `/validate` passes, your app works.**
The E2E testing is creative and thorough enough that manual testing becomes unnecessary. It tests the application exactly how a real user would interact with it.
## Example
For a React + FastAPI app, the generated command might:
1. Run ESLint, TypeScript check, Prettier
2. Run pytest and Jest
3. **E2E:**
- Use Playwright to test user registration → login → creating items → editing → deleting
- Spin up Docker containers for backend
- Use curl to test all API endpoints
- Query database directly to verify data integrity
- Test error handling, permissions, validation
**Result:** Complete confidence that everything works.
## How It's Different
Traditional testing:
- ❌ Unit tests in isolation
- ❌ Manual E2E testing
- ❌ Gaps in coverage
- ❌ Time-consuming
This approach:
- ✅ Automated everything
- ✅ Tests like a real user
- ✅ Comprehensive E2E coverage
- ✅ One command to validate all
## Get Started
Run `/ultimate_validate_command` to generate your validation workflow, then use `/validate` whenever you need complete confidence in your code.
The generated command adapts to YOUR codebase and tests it thoroughly.