Ralph Operational Guide

Commands specific to the Ralph container environment. For code style, testing, git, and database access, see CLAUDE.md.

Build Commands

# Download deps (do this first)
clj -P

# Verify namespace compiles
clj -M -e "(require 'com.getorcha.some-ns :reload)"

# Lint (run before commit)
clj-kondo --lint src test --fail-level warning

Validation Gates

Run this sequence before committing:

# 1. Lint
clj-kondo --lint src test --fail-level warning

# 2. Tests (no output = pass)
clj -X:test 2>&1 | grep -A 5 -E "(FAIL in|ERROR in|Execution error|failed because)"

# 3. Namespace loads
clj -M -e "(require 'com.getorcha.changed-ns :reload)"

Container Services

Inside the Ralph container, use these hostnames (not localhost):

Service Hostname Port
PostgreSQL postgres 5432
LocalStack localstack 4566
# PostgreSQL (no -h needed, PGHOST is set)
psql -c "SELECT 1"

# S3 via LocalStack
aws --endpoint-url=http://localstack:4566 s3 ls

Ralph File Locations

Path Purpose
.ralph/specs/ Feature specifications (one active at a time)
IMPLEMENTATION_PLAN.md Generated plan (project root)
.ralph/completion-marker.txt Build phase completion signal