mirror of
https://github.com/coleam00/context-engineering-intro.git
synced 2025-12-17 09:45:23 +00:00
103 lines
3.2 KiB
Markdown
103 lines
3.2 KiB
Markdown
|
|
# 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.
|