Verification Commands Database¶
Ruby / Rails¶
Test Suite¶
- Command:
bin/rails testorbundle exec rspec - Pass: Exit code 0, no "failures" in output
- Fail: Exit code != 0 OR output contains "failures", "errors"
- Detection: Look for
Rakefile,bin/rails,spec/directory
Linter¶
- Command:
bundle exec rubocop - Pass: Exit code 0, "no offenses"
- Fail: Exit code != 0 OR "offenses detected"
- Detection:
.rubocop.ymlfile exists
Type Check¶
- Command:
bundle exec steep check(if using Steep) - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
Steepfileexists
JavaScript / Node¶
Test Suite¶
- Command:
npm testoryarn test - Pass: Exit code 0, no "failed" in output
- Fail: Exit code != 0 OR output contains "failed"
- Detection:
package.jsonwithscripts.test
Linter¶
- Command:
npm run lintoreslint . - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
package.jsonwithscripts.lintor.eslintrc*
Type Check¶
- Command:
npm run type-checkortsc --noEmit - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
tsconfig.jsonexists
Build¶
- Command:
npm run build - Pass: Exit code 0, no "error" in output
- Fail: Exit code != 0 OR "error" in output
- Detection:
package.jsonwithscripts.build
Python¶
Test Suite¶
- Command:
pytestorpython -m pytest - Pass: Exit code 0, "passed" count > 0
- Fail: Exit code != 0 OR "FAILED" in output
- Detection:
pytest.ini,pyproject.tomlwith[tool.pytest], ortests/directory
Linter¶
- Command:
ruff check .orflake8 - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
ruff.toml,.flake8, orpyproject.toml
Type Check¶
- Command:
mypy . - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
mypy.iniorpyproject.tomlwith[tool.mypy]
Formatter Check¶
- Command:
black --check .orruff format --check . - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
pyproject.tomlwith black/ruff config
Go¶
Test Suite¶
- Command:
go test ./... - Pass: Exit code 0, "PASS"
- Fail: Exit code != 0 OR "FAIL"
- Detection:
go.modexists
Linter¶
- Command:
golangci-lint run - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
.golangci.ymlexists
Formatter Check¶
- Command:
gofmt -l .(should return empty) - Pass: Exit code 0 AND no output
- Fail: Non-empty output (files need formatting)
- Detection:
*.gofiles exist
Rust¶
Test Suite¶
- Command:
cargo test - Pass: Exit code 0, "test result: ok"
- Fail: Exit code != 0 OR "FAILED"
- Detection:
Cargo.tomlexists
Linter¶
- Command:
cargo clippy - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
Cargo.tomlexists
Formatter Check¶
- Command:
cargo fmt -- --check - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
Cargo.tomlexists
General¶
Git Status Clean¶
- Command:
git status --porcelain - Pass: Empty output (working tree clean)
- Fail: Non-empty output (uncommitted changes)
- Use Case: Verify no accidental uncommitted changes
Docker Build¶
- Command:
docker build -t test-image . - Pass: Exit code 0, "Successfully built"
- Fail: Exit code != 0
- Detection:
Dockerfileexists
CI Simulation¶
- Command: Project-specific CI command (e.g.,
make ci) - Pass: Exit code 0
- Fail: Exit code != 0
- Detection:
Makefilewithcitarget or.github/workflows/
Detection Priority¶
When auto-detecting verification commands:
- Check for explicit configuration:
- Look for
.ralph-wiggum.ymlor similar config file -
If found, use specified commands
-
Language-specific detection:
- Ruby: Check for
Gemfile,Rakefile - JavaScript: Check for
package.json - Python: Check for
pyproject.toml,setup.py - Go: Check for
go.mod -
Rust: Check for
Cargo.toml -
Run primary verification:
- Test suite (highest priority)
- Linter (medium priority)
- Type check (medium priority)
-
Build (low priority if tests exist)
-
Combine multiple verifications:
- Run tests AND linter if both exist
- Only fail if ANY verification fails
- Report which verification failed
Custom Verification¶
Users can specify custom verification: