ivoryvalley 0.2.0

A transparent deduplication proxy for Mastodon and the Fediverse
Documentation
# IvoryValley development commands
#
# Usage: just <command>
#
# Run `just --list` to see all available commands.

# Default upstream for development
default_upstream := "https://nerdculture.de"

# List available commands
default:
    @just --list

# Build debug binary
build:
    cargo build

# Build release binary
release:
    cargo build --release

# Run the proxy in development mode
dev upstream=default_upstream:
    cargo run -- --upstream-url {{upstream}} --host 0.0.0.0 --port 8080

# Run the proxy with HTTPS (uses Python reverse proxy)
dev-https upstream=default_upstream:
    ./scripts/dev-https.sh {{upstream}}

# Run all tests
test:
    cargo test

# Run tests with output
test-verbose:
    cargo test -- --nocapture

# Run clippy linter
lint:
    cargo clippy --all-features -- -D warnings

# Format code
fmt:
    cargo fmt

# Check formatting without modifying
fmt-check:
    cargo fmt --check

# Run all quality checks (use before committing)
check: test lint fmt-check

# Test WebSocket streaming (run in separate terminal while proxy is running)
# Usage: just ws-test [stream] [token]
ws-test stream="public" token="":
    uv run --with websockets ./scripts/ws-test-client.py --stream {{stream}} {{ if token != "" { "--token " + token } else { "" } }}

# Clean build artifacts
clean:
    cargo clean