Gates - Quality Validation (v2.37)
Comprehensive quality validation across 9 programming languages with TLDR-assisted analysis.
Quick Start
/gates # Run all quality gates
ralph gates # Via CLI
ralph gates src/ # Specific directory
Pre-Gates: TLDR Language Detection (v2.37)
AUTOMATIC - Detect project languages efficiently:
# Get codebase structure to detect languages (95% token savings)
tldr structure . > /tmp/project-structure.md
# From structure, identify:
# - Primary language(s)
# - Config files present
# - Test frameworks used
Supported Languages
| Language | Linter | Formatter | Types | |----------|--------|-----------|-------| | TypeScript | ESLint | Prettier | tsc | | JavaScript | ESLint | Prettier | - | | Python | Ruff | Black | mypy | | Rust | Clippy | rustfmt | cargo check | | Go | golint | gofmt | go vet | | Java | Checkstyle | google-java-format | - | | Ruby | RuboCop | - | Sorbet | | PHP | PHP_CodeSniffer | php-cs-fixer | PHPStan | | Solidity | Solhint | prettier-solidity | - |
Workflow
1. Detect Languages
# Auto-detect based on file extensions and config files
2. Run Linters
# Per-language linting
npx eslint src/ # TypeScript/JavaScript
ruff check . # Python
cargo clippy # Rust
golangci-lint run # Go
3. Check Formatting
npx prettier --check . # JS/TS
black --check . # Python
rustfmt --check src/ # Rust
gofmt -l . # Go
4. Type Checking
npx tsc --noEmit # TypeScript
mypy . # Python
cargo check # Rust
go vet ./... # Go
5. Run Tests
npm test # Node projects
pytest # Python
cargo test # Rust
go test ./... # Go
Exit Codes
| Code | Meaning | |------|---------| | 0 | All gates passed | | 1 | Lint errors | | 2 | Format errors | | 3 | Type errors | | 4 | Test failures |
Gate Configuration
Minimal (fast)
ralph gates --minimal # Lint only
Standard (default)
ralph gates # Lint + Format + Types
Full (CI)
ralph gates --full # Lint + Format + Types + Tests
Integration
- Invoked by /orchestrator in Step 6
- Pre-step: tldr structure for language detection (v2.37)
- Must pass before VERIFIED_DONE
- Hooks:
quality-gates.sh(PostToolUse)
TLDR Integration (v2.37)
| Phase | TLDR Command | Purpose | |-------|--------------|---------| | Language detection | tldr structure . | Identify languages | | Error context | tldr context $FILE . | Understand failing code | | Impact analysis | tldr deps $FILE . | Find related tests |
Anti-Patterns
- Never skip gates for "quick fixes"
- Never ignore type errors
- Never commit with lint warnings