Development

CloudSeed's justfile is the command index for local work.

Common commands

just run                 # Run the application
just watch               # Restart on changes; requires cargo-watch
just test                # Run all tests
just test-verbose        # Run tests with output visible
just test-integration    # Run integration test binaries
just check               # Format check, Clippy, and tests
just lint                # Run Clippy
just build               # Build the release binary

Local services

just db            # Start PostgreSQL
just db-stop       # Stop local Compose services
just docker-up     # Build and run the complete stack
just docker-down   # Stop the complete stack
just docker-build  # Build the application image

Quality gate

Run this before shipping a change:

just check

This verifies formatting, treats Clippy warnings as failures, and runs the test suite. Integration tests require a running Docker daemon because Testcontainers starts isolated PostgreSQL instances and applies migrations.

Database changes

Add forward-only SQL migrations under migrations/. The application applies pending migrations automatically before serving requests or starting job workers.

Exercise query and migration changes with integration tests rather than mocking SQL behavior.